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

meson: Enable testing in CI #1609

Merged
merged 9 commits into from
May 2, 2019
Merged

meson: Enable testing in CI #1609

merged 9 commits into from
May 2, 2019

Conversation

tesuji
Copy link
Contributor

@tesuji tesuji commented May 1, 2019

This PR:

  • tests: Fix shellcheck warnings in playTests.sh
  • tests: Do not use ../programs which is relative to tests dirs
  • tests: Replace relative paths for zstd/tests dir
  • Set shell options explicitly, not in shebang
  • playTests: Replace echo -e with printf
  • meson: Fix test-zstd
  • meson: Fix legacy test
  • meson: Enable testing in CI

One advantage of running meson test on CI is that tests are run
parallel by default. So test time is faster than running test with make.

Closes #1605

tesuji added 3 commits May 2, 2019 01:27
This commit fixes error when running playTests.sh in Meson.
Mesonbuild runs out of tree, so ./datagen not in `zstd/tests` dir,
it lies in <mesonbuilddir>/tests. This leads to ../programs invalid.
Copy link
Contributor

@terrelln terrelln left a comment

Choose a reason for hiding this comment

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

The changes to playTests.sh look okay, but we'll have to see if it is working on BSD and Windows.

build/meson/tests/meson.build Outdated Show resolved Hide resolved
build/meson/tests/meson.build Outdated Show resolved Hide resolved
@tesuji
Copy link
Contributor Author

tesuji commented May 1, 2019

Spurious fail in ARM Fuzz test? Could you restart it, @terrelln ?

@tesuji
Copy link
Contributor Author

tesuji commented May 1, 2019

Never mind. I force-pushed new changes.

@terrelln
Copy link
Contributor

terrelln commented May 1, 2019

The failing poolTest is not a problem with meson. It was broken by #1581. I'll let you know when it is fixed.

tesuji added 2 commits May 2, 2019 08:36
Use std=gnu99 to build and test just like `make test`.
@tesuji tesuji force-pushed the meson-test branch 2 times, most recently from c127994 to 8fba4bf Compare May 2, 2019 02:00
Run build under release mode for faster test time.
@tesuji
Copy link
Contributor Author

tesuji commented May 2, 2019

Hm, test-zstd time in Meson is long compare to other build jobs. Mostly
because it is built in debug mode.

Should I change it to release build?

 1/14 valgrindTest                            OK      520.37 s 
 2/14 test-zstd                               OK      1890.98 s 
 3/14 test-fullbench-1                        OK      19.78 s 
 4/14 test-fullbench-2                        OK      14.32 s 
 5/14 test-fuzzer                             OK      276.83 s 
 6/14 test-zbuff                              OK      102.55 s 
 7/14 test-zstream-1                          OK      111.95 s 
 8/14 test-zstream-2                          OK       0.02 s 
 9/14 test-zstream-3                          OK      99.40 s 
10/14 test-longmatch                          OK       8.86 s 
11/14 test-invalidDictionaries                OK       0.01 s 
12/14 test-symbols                            OK       0.04 s 
13/14 test-decodecorpus                       OK      32.71 s 
14/14 test-poolTests                          OK       0.47 s 

@tesuji
Copy link
Contributor Author

tesuji commented May 2, 2019

Result when tests are built with -O2 -g. Note that all these tests
run in parallel.

 1/14 valgrindTest                            OK      151.35 s
 2/14 test-zstd                               OK      809.36 s
 3/14 test-fullbench-1                        OK      17.59 s
 4/14 test-fullbench-2                        OK      14.18 s
 5/14 test-fuzzer                             OK      222.50 s
 6/14 test-zbuff                              OK      109.88 s
 7/14 test-zstream-1                          OK      118.53 s
 8/14 test-zstream-2                          OK       0.01 s
 9/14 test-zstream-3                          OK      79.52 s
10/14 test-longmatch                          OK       2.43 s
11/14 test-invalidDictionaries                OK       0.00 s
12/14 test-symbols                            OK       0.00 s
13/14 test-decodecorpus                       OK      33.33 s
14/14 test-poolTests                          OK       0.58 s

Copy link
Contributor

@terrelln terrelln left a comment

Choose a reason for hiding this comment

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

Awesome, thanks!

I'll fix the pool test in a separate PR, it has some deadlocks and flakiness problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1.4.0: test suite is failing
3 participants