diff options
author | doyougnu <jeffrey.young@iohk.io> | 2022-12-01 11:30:29 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2023-02-02 00:16:10 -0500 |
commit | 394b91ce859653231813fb9af77c26664063c1b6 (patch) | |
tree | 1312fcd9497a3dc95eefca88884f43abb3af4e61 /testsuite | |
parent | 61ce5bf6b930f2f91471f36a26bcaddea279b515 (diff) | |
download | haskell-394b91ce859653231813fb9af77c26664063c1b6.tar.gz |
CI: JavaScript backend runs testsuite
This MR runs the testsuite for the JS backend. Note that this is a
temporary solution until !9515 is merged.
Key point: The CI runs hadrian on the built cross compiler _but not_ on
the bindist.
Other Highlights:
- stm submodule gets a bump to mark tests as broken
- several tests are marked as broken or are fixed by adding more
- conditions to their test runner instance.
List of working commit messages:
CI: test cross target _and_ emulator
CI: JS: Try run testsuite with hadrian
JS.CI: cleanup and simplify hadrian invocation
use single bracket, print info
JS CI: remove call to test_compiler from hadrian
don't build haddock
JS: mark more tests as broken
Tracked in https://gitlab.haskell.org/ghc/ghc/-/issues/22576
JS testsuite: don't skip sum_mod test
Its expected to fail, yet we skipped it which automatically makes it
succeed leading to an unexpected success,
JS testsuite: don't mark T12035j as skip
leads to an unexpected pass
JS testsuite: remove broken on T14075
leads to unexpected pass
JS testsuite: mark more tests as broken
JS testsuite: mark T11760 in base as broken
JS testsuite: mark ManyUnbSums broken
submodules: bump process and hpc for JS tests
Both submodules has needed tests skipped or marked broken for th JS
backend. This commit now adds these changes to GHC.
See:
HPC: https://gitlab.haskell.org/hpc/hpc/-/merge_requests/21
Process: https://github.com/haskell/process/pull/268
remove js_broken on now passing tests
separate wasm and js backend ci
test: T11760: add threaded, non-moving only_ways
test: T10296a add req_c
T13894: skip for JS backend
tests: jspace, T22333: mark as js_broken(22573)
test: T22513i mark as req_th
stm submodule: mark stm055, T16707 broken for JS
tests: js_broken(22374) on unpack_sums_6, T12010
dont run diff on JS CI, cleanup
fixup: More CI cleanup
fix: align text to master
fix: align exceptions submodule to master
CI: Bump DOCKER_REV
Bump to ci-images commit that has a deb11 build with node. Required for
!9552
testsuite: mark T22669 as js_skip
See #22669
This test tests that .o-boot files aren't created when run in using the
interpreter backend. Thus this is not relevant for the JS backend.
testsuite: mark T22671 as broken on JS
See #22835
base.testsuite: mark Chan002 fragile for JS
see #22836
revert: submodule process bump
bump stm submodule
New hash includes skips for the JS backend.
testsuite: mark RnPatternSynonymFail broken on JS
Requires TH:
- see !9779
- and #22261
compiler: GHC.hs ifdef import Utils.Panic.Plain
Diffstat (limited to 'testsuite')
21 files changed, 28 insertions, 27 deletions
diff --git a/testsuite/tests/ado/all.T b/testsuite/tests/ado/all.T index 4159ebd8b1..c46ea88404 100644 --- a/testsuite/tests/ado/all.T +++ b/testsuite/tests/ado/all.T @@ -20,5 +20,5 @@ test('T15344', normal, compile_and_run, ['']) test('T16628', normal, compile_fail, ['']) test('T17835', normal, compile, ['']) test('T20540', normal, compile, ['']) -test('T16135', when(compiler_debugged(),expect_broken(16135)), compile, ['']) +test('T16135', [when(compiler_debugged(),expect_broken(16135)), js_broken(22576)], compile, ['']) test('T22483', normal, compile, ['-Wall']) diff --git a/testsuite/tests/cabal/t22333/all.T b/testsuite/tests/cabal/t22333/all.T index 5664400e4a..7c6719df80 100644 --- a/testsuite/tests/cabal/t22333/all.T +++ b/testsuite/tests/cabal/t22333/all.T @@ -1,4 +1,4 @@ test('T22333', - [extra_files(['Setup.hs', 'my-exe', 'my-package-a', 'my-package-b' ])], + [extra_files(['Setup.hs', 'my-exe', 'my-package-a', 'my-package-b' ]), js_broken(22573)], makefile_test, []) diff --git a/testsuite/tests/driver/T14075/all.T b/testsuite/tests/driver/T14075/all.T index b7f7a39072..1f8ed741d4 100644 --- a/testsuite/tests/driver/T14075/all.T +++ b/testsuite/tests/driver/T14075/all.T @@ -1,6 +1,5 @@ test('T14075', [ extra_files(['F.hs', 'F.hs-boot', 'O.hs', 'V.hs', 'V.hs-boot']) , req_ghc_smp # uses ghc --make -j2 - , js_broken(22261) ], makefile_test, []) diff --git a/testsuite/tests/driver/all.T b/testsuite/tests/driver/all.T index ddc0039b55..40904838d5 100644 --- a/testsuite/tests/driver/all.T +++ b/testsuite/tests/driver/all.T @@ -278,7 +278,7 @@ test('T13604a', ], makefile_test, []) # omitting hpc and profasm because they affect the # inlining and unfoldings -test('inline-check', omit_ways(['hpc', 'profasm']) +test('inline-check', [omit_ways(['hpc', 'profasm']), js_broken(22576)] , compile , ['-dinline-check foo -O -ddebug-output']) @@ -319,4 +319,4 @@ test('T21869', [js_broken(22261), when(unregisterised(), skip)], makefile_test, test('T22044', normal, makefile_test, []) test('T22048', [only_ways(['normal']), grep_errmsg("_rule")], compile, ["-O -fomit-interface-pragmas -ddump-simpl"]) test('T21722', normal, compile_fail, ['-fno-show-error-context']) -test('T22669', normal, makefile_test, []) +test('T22669', js_skip, makefile_test, []) diff --git a/testsuite/tests/driver/fat-iface/T22405/all.T b/testsuite/tests/driver/fat-iface/T22405/all.T index d54b27fac1..9d2f6ada47 100644 --- a/testsuite/tests/driver/fat-iface/T22405/all.T +++ b/testsuite/tests/driver/fat-iface/T22405/all.T @@ -1,2 +1,2 @@ -test('T22405', [extra_files(['Main.hs'])], makefile_test, ['T22405']) -test('T22405b', [extra_files(['Main2.hs'])], makefile_test, ['T22405b']) +test('T22405', [extra_files(['Main.hs']), js_broken(22576)], makefile_test, ['T22405']) +test('T22405b', [extra_files(['Main2.hs']), js_broken(22576)], makefile_test, ['T22405b']) diff --git a/testsuite/tests/driver/j-space/all.T b/testsuite/tests/driver/j-space/all.T index 9d7e4c89f0..1bf67d260b 100644 --- a/testsuite/tests/driver/j-space/all.T +++ b/testsuite/tests/driver/j-space/all.T @@ -1 +1 @@ -test('jspace', [extra_files(['genJspace']), req_target_smp, req_ghc_smp], makefile_test, ['jspace']) +test('jspace', [extra_files(['genJspace']), req_target_smp, req_ghc_smp, js_broken(22573)], makefile_test, ['jspace']) diff --git a/testsuite/tests/driver/t22391/all.T b/testsuite/tests/driver/t22391/all.T index a1769856ad..9a1796ec5d 100644 --- a/testsuite/tests/driver/t22391/all.T +++ b/testsuite/tests/driver/t22391/all.T @@ -1,5 +1,5 @@ test('t22391', [extra_files(['src'])], multimod_compile, ['Lib', '-v1 -Wall -fhide-source-paths -isrc -fdefer-diagnostics']) -test('t22391j', [req_target_smp, req_ghc_smp, extra_files(['src'])], +test('t22391j', [req_ghc_smp, req_target_smp, extra_files(['src'])], multimod_compile, ['Lib', '-v1 -Wall -fhide-source-paths -isrc -fdefer-diagnostics -j2']) diff --git a/testsuite/tests/lib/integer/all.T b/testsuite/tests/lib/integer/all.T index 4b3907749b..df3883a762 100644 --- a/testsuite/tests/lib/integer/all.T +++ b/testsuite/tests/lib/integer/all.T @@ -5,9 +5,9 @@ test('plusMinusInteger', [omit_ways(['ghci'])], compile_and_run, ['']) test('integerConstantFolding', normal, makefile_test, ['integerConstantFolding']) test('naturalConstantFolding', normal, makefile_test, ['naturalConstantFolding']) -test('fromToInteger', normal, makefile_test, ['fromToInteger']) +test('fromToInteger', js_broken(22576), makefile_test, ['fromToInteger']) -test('IntegerConversionRules', [], makefile_test, ['IntegerConversionRules']) +test('IntegerConversionRules', [js_broken(22576)], makefile_test, ['IntegerConversionRules']) test('gcdInteger', normal, compile_and_run, ['']) test('gcdeInteger', normal, compile_and_run, ['']) test('integerPowMod', [], compile_and_run, ['']) diff --git a/testsuite/tests/numeric/should_run/all.T b/testsuite/tests/numeric/should_run/all.T index bf6d59323b..e4d558ea13 100644 --- a/testsuite/tests/numeric/should_run/all.T +++ b/testsuite/tests/numeric/should_run/all.T @@ -79,5 +79,5 @@ test('IntegerToFloat', normal, compile_and_run, ['']) test('T20291', normal, compile_and_run, ['']) test('T22282', normal, compile_and_run, ['']) -test('T22671', normal, compile_and_run, ['']) -test('foundation', normal, compile_and_run, ['-O -package transformers']) +test('T22671', js_broken(22835), compile_and_run, ['']) +test('foundation', js_broken(22576), compile_and_run, ['-O -package transformers']) diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index ecb87fe7b7..96d30e8017 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -657,6 +657,6 @@ test('T21839c', ['-O']) test ('InfiniteListFusion', - [collect_stats('bytes allocated',2), when(arch('i386'), skip)], + [collect_stats('bytes allocated',2), when(arch('i386'), skip), js_broken(22576)], compile_and_run, ['-O2 -package ghc']) diff --git a/testsuite/tests/rename/should_compile/all.T b/testsuite/tests/rename/should_compile/all.T index 2477d55daa..19401582dd 100644 --- a/testsuite/tests/rename/should_compile/all.T +++ b/testsuite/tests/rename/should_compile/all.T @@ -198,4 +198,4 @@ test('T22513e', normal, compile, ['-Wterm-variable-capture']) test('T22513f', normal, compile, ['-Wterm-variable-capture']) test('T22513g', normal, compile, ['-Wterm-variable-capture']) test('T22513h', normal, compile, ['-Wterm-variable-capture']) -test('T22513i', normal, compile, ['-Wterm-variable-capture'])
\ No newline at end of file +test('T22513i', req_th, compile, ['-Wterm-variable-capture']) diff --git a/testsuite/tests/rename/should_fail/all.T b/testsuite/tests/rename/should_fail/all.T index eee582db2b..e15b13e9e3 100644 --- a/testsuite/tests/rename/should_fail/all.T +++ b/testsuite/tests/rename/should_fail/all.T @@ -184,7 +184,7 @@ test('T21605b', normal, compile_fail, ['']) test('T21605c', normal, compile_fail, ['']) test('T21605d', normal, compile_fail, ['']) test('T22839', normal, compile_fail, ['']) -test('RnPatternSynonymFail', normal, compile_fail, ['']) +test('RnPatternSynonymFail', js_broken(22261), compile_fail, ['']) test('RnMultipleFixityFail', normal, compile_fail, ['']) test('RnEmptyCaseFail', normal, compile_fail, ['']) test('RnDefaultSigFail', normal, compile_fail, ['']) diff --git a/testsuite/tests/rep-poly/all.T b/testsuite/tests/rep-poly/all.T index 92d0a9e056..33044ae9fe 100644 --- a/testsuite/tests/rep-poly/all.T +++ b/testsuite/tests/rep-poly/all.T @@ -85,7 +85,7 @@ test('RepPolyUnliftedNewtype', normal, compile, ['-fno-warn-partial-type-signatures -fno-warn-deprecated-flags']) test('RepPolyWildcardPattern', normal, compile_fail, ['']) test('RepPolyWrappedVar', normal, compile_fail, ['']) -test('RepPolyWrappedVar2', normal, compile, ['']) +test('RepPolyWrappedVar2', js_broken(22576), compile, ['']) test('UnliftedNewtypesCoerceFail', normal, compile_fail, ['']) test('UnliftedNewtypesLevityBinder', normal, compile_fail, ['']) diff --git a/testsuite/tests/rts/all.T b/testsuite/tests/rts/all.T index 21114cb3de..dcdd991817 100644 --- a/testsuite/tests/rts/all.T +++ b/testsuite/tests/rts/all.T @@ -404,7 +404,7 @@ test('T11788', [ when(ghc_dynamic(), skip) , req_interp ], makefile_test, ['T11788']) -test('T10296a', [req_ghc_smp], makefile_test, ['T10296a']) +test('T10296a', [req_ghc_smp, req_c], makefile_test, ['T10296a']) test('T10296b', [only_ways(['threaded2'])], compile_and_run, ['']) @@ -429,7 +429,9 @@ test('T12903', [ when(opsys('mingw32'), skip) , compile_and_run, ['']) test('T13832', exit_code(1), compile_and_run, ['-threaded']) -test('T13894', normal, compile_and_run, ['']) +# js_skip T13894 because the JS backend only allocates pinned arrays so this +# test will always fail +test('T13894', js_skip, compile_and_run, ['']) # this test fails with the profasm way on some machines but not others, # so we just skip it. test('T14497', [omit_ways(['profasm']), multi_cpu_race], compile_and_run, ['-O']) diff --git a/testsuite/tests/simplCore/should_compile/all.T b/testsuite/tests/simplCore/should_compile/all.T index 2200043dcd..2b5b54cf5c 100644 --- a/testsuite/tests/simplCore/should_compile/all.T +++ b/testsuite/tests/simplCore/should_compile/all.T @@ -378,7 +378,7 @@ test('T20200a', normal, compile, ['-O2']) test('T20200b', normal, compile, ['-O2']) test('T20200KG', [extra_files(['T20200KGa.hs', 'T20200KG.hs-boot'])], multimod_compile, ['T20200KG', '-v0 -O2 -fspecialise-aggressively']) test('T20639', normal, compile, ['-O2']) -test('T20894', normal, compile, ['-dcore-lint -O1 -ddebug-output']) +test('T20894', js_broken(22576), compile, ['-dcore-lint -O1 -ddebug-output']) test('T19790', normal, compile, ['-O -ddump-rule-firings']) # This one had a Lint failure due to an occurrence analysis bug diff --git a/testsuite/tests/stranal/should_run/all.T b/testsuite/tests/stranal/should_run/all.T index 9da7863314..615dbe80bb 100644 --- a/testsuite/tests/stranal/should_run/all.T +++ b/testsuite/tests/stranal/should_run/all.T @@ -1,6 +1,6 @@ # Run this always as we compile the test with -O0 and -O1 and check that the # output is correct and the same in both cases. -test('T16197', normal, makefile_test, []) +test('T16197', js_broken(22576), makefile_test, []) # Run the rest only in optasm way (which implies -O), we're testing the # strictness analyser here diff --git a/testsuite/tests/type-data/should_compile/all.T b/testsuite/tests/type-data/should_compile/all.T index 7042676613..83600abc78 100644 --- a/testsuite/tests/type-data/should_compile/all.T +++ b/testsuite/tests/type-data/should_compile/all.T @@ -3,5 +3,5 @@ test('TDExistential', normal, compile, ['']) test('TDGADT', normal, compile, ['']) test('TDGoodConsConstraints', normal, compile, ['']) test('TDVector', normal, compile, ['']) -test('TD_TH_splice', normal, compile, ['']) +test('TD_TH_splice', js_broken(22576), compile, ['']) test('T22315a', [extra_files(['T22315a/'])], multimod_compile, ['T22315a.Lib T22315a.Main', '-v0']) diff --git a/testsuite/tests/typecheck/should_fail/all.T b/testsuite/tests/typecheck/should_fail/all.T index 38d870d9b2..a7e9f6a678 100644 --- a/testsuite/tests/typecheck/should_fail/all.T +++ b/testsuite/tests/typecheck/should_fail/all.T @@ -328,7 +328,7 @@ test('T8262', normal, compile_fail, ['']) # TcCoercibleFail times out with the compiler is compiled with -DDEBUG. # This is expected (see comment in source file). -test('TcCoercibleFail', [when(compiler_debugged(), skip)], compile_fail, ['']) +test('TcCoercibleFail', [when(compiler_debugged(), skip), js_broken(22576)], compile_fail, ['']) test('TcCoercibleFail2', [], compile_fail, ['']) test('TcCoercibleFail3', [], compile_fail, ['']) @@ -413,7 +413,6 @@ test('T11990b', normal, compile_fail, ['']) test('T12035', [], multimod_compile_fail, ['T12035', '-v0']) test('T12035j', [ extra_files(['T12035.hs', 'T12035a.hs', 'T12035.hs-boot']) , req_ghc_smp - , js_broken(22261) ], multimod_compile_fail, ['T12035', '-j2 -v0']) test('T12045b', normal, compile_fail, ['']) test('T12045c', normal, compile_fail, ['']) diff --git a/testsuite/tests/typecheck/should_run/all.T b/testsuite/tests/typecheck/should_run/all.T index b99efb15c2..7a5d4a484a 100755 --- a/testsuite/tests/typecheck/should_run/all.T +++ b/testsuite/tests/typecheck/should_run/all.T @@ -125,7 +125,7 @@ test('KindInvariant', normal, ghci_script, ['KindInvariant.script']) # unboxed sums and ghci does not support those yet. test('StrictPats', omit_ways(['ghci']), compile_and_run, ['']) test('T12809', omit_ways(['ghci']), compile_and_run, ['']) -test('EtaExpandLevPoly', omit_ways(['ghci']), compile_and_run, ['']) +test('EtaExpandLevPoly', [omit_ways(['ghci']), js_broken(22576)], compile_and_run, ['']) test('TestTypeableBinary', normal, compile_and_run, ['']) test('Typeable1', normal, compile_fail, ['-Werror']) diff --git a/testsuite/tests/unboxedsums/all.T b/testsuite/tests/unboxedsums/all.T index 2c9110d722..ec5b729657 100644 --- a/testsuite/tests/unboxedsums/all.T +++ b/testsuite/tests/unboxedsums/all.T @@ -45,7 +45,7 @@ test('unpack_sums_2', normal, compile, ['-O']) test('unpack_sums_3', normal, compile_and_run, ['-O']) test('unpack_sums_4', normal, compile_and_run, ['-O']) test('unpack_sums_5', normal, compile, ['']) -test('unpack_sums_6', fragile(22504), compile_and_run, ['-O']) +test('unpack_sums_6', [fragile(22504), js_broken(22374)], compile_and_run, ['-O']) test('unpack_sums_7', normal, makefile_test, []) test('unpack_sums_8', normal, compile_and_run, [""]) test('unpack_sums_9', normal, compile, [""]) @@ -59,6 +59,7 @@ test('T22208', normal, compile, ['-dstg-lint -dcmm-lint']) test('ManyUbxSums', [ pre_cmd('{compiler} --run ./GenManyUbxSums.hs'), extra_files(['GenManyUbxSums.hs', 'ManyUbxSums_Addr.hs']), + js_broken(22576) ], multi_compile_and_run, ['ManyUbxSums', diff --git a/testsuite/tests/unboxedsums/module/all.T b/testsuite/tests/unboxedsums/module/all.T index 9850861d07..a3bd68e652 100644 --- a/testsuite/tests/unboxedsums/module/all.T +++ b/testsuite/tests/unboxedsums/module/all.T @@ -1,2 +1,2 @@ -test('sum_mod', [normalise_slashes, extra_files(['Lib.hs', 'Main.hs']), js_broken(22261)], +test('sum_mod', [normalise_slashes, extra_files(['Lib.hs', 'Main.hs'])], run_command, ['$MAKE -s main --no-print-director']) |