Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Base/CI: Run tests from /usr/Tests in GitHub Actions #6459

Merged
merged 3 commits into from
May 21, 2021

Conversation

ADKaster
Copy link
Member

@ADKaster ADKaster commented Apr 18, 2021

Uncomment running the tests that were disabled due to frequent freezes when running without KVM.

Fixes #5541

This still skips many tests held in the exclude_patterns shell variable in the test script.

Also, hide the dbg spam from shell jobs dying behind a debug flag. Without it, the console gets absolutely clobbered when running shell tests.

.github/workflows/cmake.yml Outdated Show resolved Hide resolved
# test-js: We start this one manually with the show progress flag set to false
exclude_patterns='Kernel|.inc|UserEmulator|stack-smash|TestJSON|.frm|test-web|test-js'

system_tests=((test-js --show-progress=false) (test-crypto -c -t test))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why don't the test-js and test-math failures in the run log cause the CI to fail?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only returning a non-zero exit code from the script would fail the CI job.

https://docs.github.com/en/actions/creating-actions/setting-exit-codes-for-actions
actions/runner#662

Was talking with CxByte about this on discord earlier, might be worth to write out the "test result" to a file and mount the disk image after ninja run to check out what's up with it? But curiously, when I run locally in Qemu with CPU=max,vmx=off, those particular tests don't fail...

Base/home/anon/tests/run-tests-and-shutdown.sh Outdated Show resolved Hide resolved
.github/workflows/cmake.yml Outdated Show resolved Hide resolved
This makes it easier to run tests we know will work in CI, and ignore
ones that need some help to be repeatable.
Uncomment the tests that were disabled due to frequent freezes when
running without KVM. This also adds a new github actions group for
every single test, which makes it easier to browse test boundaries
during test runs.

Move catting the serial output log back to its own step, so that it
has higher visibility. The previous solution was also shown to not
actually cat the log in the case of a failed boot and timeout :^(.
@@ -31,7 +27,7 @@ class Job : public RefCounted<Job> {

~Job()
{
#ifdef JOB_TIME_INFO
#if SHELL_JOB_DEBUG
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

n i t:

Suggested change
#if SHELL_JOB_DEBUG
if constexpr (SHELL_JOB_DEBUG) {

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(and replace the #endif below with the good old })

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

le fixed, and moved the macro in AK/Debug.in.h to its proper sorted location at the same time

@alimpfard alimpfard merged commit a5889b9 into SerenityOS:master May 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Kernel: Running on-target tests without KVM is flaky
4 participants