Commit 45178531 authored by Kirill Smelkov's avatar Kirill Smelkov

nxdtest: Don't run test.go for multiple GOMAXPROCS

We run tests with different GOMAXPROCS because some WCFS bugs are only
likely to trigger when there is only 1 or 2 main OS thread(s) in WCFS.

However test.go does not exercise filesystem functionality - it runs
unit tests for ZBlk decoding, ΔBtail and similar. At the same time
test.go:* currently occupies ~ 50% of whole time to run full testsuite
with the main consumer being ΔBtail random testing.

-> Run test.go only once. This should save ~ 1000s for each run and
lower whole time to run wendelin.core testsuite on testnode from
~60m -> to ~40 minutes.
parent d2fd8b77
...@@ -3,11 +3,6 @@ ...@@ -3,11 +3,6 @@
storv = ['fs', 'zeo', 'neo'] # storage backends to test against storv = ['fs', 'zeo', 'neo'] # storage backends to test against
# some bugs are only likely to trigger when there is only 1 or 2 main OS thread(s) in wcfs
# GOMAXPROCS='' means use `nproc`
gonprocv = ['1', '2', ''] # GOMAXPROCS=... to test against
# test.t & friends unit-test core of UVMM and are Go-, Python- and ZODB-storage independent. # test.t & friends unit-test core of UVMM and are Go-, Python- and ZODB-storage independent.
# we don't run test.vg* because there is currently no valgrind on SlapOS. # we don't run test.vg* because there is currently no valgrind on SlapOS.
for kind in ['t', 'fault', 'asan', 'tsan']: for kind in ['t', 'fault', 'asan', 'tsan']:
...@@ -34,9 +29,7 @@ for stor in storv: ...@@ -34,9 +29,7 @@ for stor in storv:
# test.go unit-tests Go bits in wcfs. # test.go unit-tests Go bits in wcfs.
for nproc in gonprocv: TestCase('test.go', ['make', 'test.go'])
TestCase('test.go:%s' % nproc, ['make', 'test.go'],
envadj={'GOMAXPROCS': nproc})
# test.wcfs/<stor> runs unit tests for WCFS # test.wcfs/<stor> runs unit tests for WCFS
# test.py/<stor>-wcfs runs unit- and functional- tests for wendelin.core in wcfs mode. # test.py/<stor>-wcfs runs unit- and functional- tests for wendelin.core in wcfs mode.
...@@ -51,6 +44,10 @@ for stor in storv: ...@@ -51,6 +44,10 @@ for stor in storv:
'PYTEST_ADDOPTS': '-vs', 'PYTEST_ADDOPTS': '-vs',
} }
# some bugs are only likely to trigger when there is only 1 or 2 main OS thread(s) in wcfs
# GOMAXPROCS='' means use `nproc`
gonprocv = ['1', '2', ''] # GOMAXPROCS=... to test against
for nproc in gonprocv: for nproc in gonprocv:
TestCase('test.wcfs/%s:%s' % (stor, nproc), ['make', 'test.wcfs'], TestCase('test.wcfs/%s:%s' % (stor, nproc), ['make', 'test.wcfs'],
envadj=dict(GOMAXPROCS=nproc, **env), summaryf=PyTest.summary) envadj=dict(GOMAXPROCS=nproc, **env), summaryf=PyTest.summary)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment