maint(linux): fix integration tests in Docker
This PR allows the integration tests to work when running them in a Docker container. Also fixes things when running on TC's Ubuntu 24.04 Noble build agent, and improves the behavior when running directly on a developer's machine (previously typing stopped working after the tests...).
Also fixes building mcompile in a Docker container.
Fixes: #13887
This change improves our `.shellcheckrc` file so that several directives
are no longer needed and source files are still found. Also remove some
directives that are no longer necessary, either because the changes to
`.shellcheckrc` makes them obsolete, or because the lines changed so
that they no longer contain the problem.
Also remove some shellcheck warnings.
Build-bot: skip
Test-bot: skip
This adds a `--remote-debug` option to `resources/docker-images/run.sh`.
If specified the container will expose `localhost:2345` for remote
debugging inside of the container.
This is useful for debugging integration tests in the container.
Build-bot: skip
Test-bot: skip
This change copies the log files that get created during a test run to
the `build/docker-linux/tmp` directory. Also fixes a bug when not
running in docker. Also create log file for test server.
Decided to use the name `baseline` for this set of tests. They can be
used by any project in the repo now. Tests will be treated as shared,
and not modified (except in the case of a buggy test).
* Moves .kmn files, add `&NAME` line (don't use meson templating for
these files)
* Generates reference .kmx files using kmcomp for use as a baseline with
kmcmplib (kmc) tests, and for linux tests
* Updates references in core, kmcmplib, and linux builds
* Renames all the .kmn / .kmx to use a standardized, clean name format
(this was needed for building packages in the core tests)