| ... |
... |
@@ -139,9 +139,11 @@ bignumString :: BignumBackend -> String |
|
139
|
139
|
bignumString Gmp = "gmp"
|
|
140
|
140
|
bignumString Native = "native"
|
|
141
|
141
|
|
|
|
142
|
+data TimeoutIncrease = TimeoutIncrease | NoTimeoutIncrease
|
|
|
143
|
+
|
|
142
|
144
|
data CrossEmulator
|
|
143
|
145
|
= NoEmulator
|
|
144
|
|
- | NoEmulatorNeeded
|
|
|
146
|
+ | NoEmulatorNeeded TimeoutIncrease
|
|
145
|
147
|
| Emulator String
|
|
146
|
148
|
|
|
147
|
149
|
-- | A BuildConfig records all the options which can be modified to affect the
|
| ... |
... |
@@ -889,16 +891,19 @@ job arch opsys buildConfig = NamedJob { name = jobName, jobInfo = Job {..} } |
|
889
|
891
|
NoEmulator
|
|
890
|
892
|
-- we need an emulator but it isn't set. Won't run the testsuite
|
|
891
|
893
|
| Just _ <- crossTarget buildConfig
|
|
892
|
|
- -> "CROSS_EMULATOR" =: "NOT_SET"
|
|
893
|
|
- | otherwise -> mempty
|
|
894
|
|
- Emulator s -> "CROSS_EMULATOR" =: s
|
|
895
|
|
- NoEmulatorNeeded -> mempty
|
|
|
894
|
+ -> "CROSS_EMULATOR" =: "NOT_SET"
|
|
|
895
|
+ | otherwise -> mempty
|
|
|
896
|
+ Emulator s -> "CROSS_EMULATOR" =: s
|
|
|
897
|
+ NoEmulatorNeeded _ -> mempty
|
|
896
|
898
|
, if withNuma buildConfig then "ENABLE_NUMA" =: "1" else mempty
|
|
897
|
|
- , let testTimeoutArg =
|
|
|
899
|
+ , let timeoutConf = "-e config.timeout=900"
|
|
|
900
|
+ testTimeoutArg =
|
|
898
|
901
|
case crossEmulator buildConfig of
|
|
899
|
902
|
-- Emulators are naturally slower than native machines.
|
|
900
|
903
|
-- Triple the default of 300.
|
|
901
|
|
- Emulator _ -> "-e config.timeout=900" :: String
|
|
|
904
|
+ Emulator _ -> timeoutConf
|
|
|
905
|
+ -- NodeJS and WASM are slower than native code
|
|
|
906
|
+ NoEmulatorNeeded TimeoutIncrease -> timeoutConf
|
|
902
|
907
|
_ -> mempty
|
|
903
|
908
|
runtestArgs =
|
|
904
|
909
|
testTimeoutArg :
|
| ... |
... |
@@ -1308,7 +1313,7 @@ cross_jobs = [ |
|
1308
|
1313
|
(validateBuilds AArch64 (Linux Debian12Wine) (winAarch64Config {llvmBootstrap = True}))
|
|
1309
|
1314
|
]
|
|
1310
|
1315
|
where
|
|
1311
|
|
- javascriptConfig = (crossConfig "javascript-unknown-ghcjs" NoEmulatorNeeded (Just "emconfigure"))
|
|
|
1316
|
+ javascriptConfig = (crossConfig "javascript-unknown-ghcjs" (NoEmulatorNeeded TimeoutIncrease) (Just "emconfigure"))
|
|
1312
|
1317
|
{ bignumBackend = Native }
|
|
1313
|
1318
|
|
|
1314
|
1319
|
makeWinArmJobs = modifyJobs
|
| ... |
... |
@@ -1353,7 +1358,7 @@ cross_jobs = [ |
|
1353
|
1358
|
$ addValidateRule WasmBackend $ validateBuilds Amd64 (Linux AlpineWasm) cfg
|
|
1354
|
1359
|
|
|
1355
|
1360
|
wasm_build_config =
|
|
1356
|
|
- (crossConfig "wasm32-wasi" NoEmulatorNeeded Nothing)
|
|
|
1361
|
+ (crossConfig "wasm32-wasi" (NoEmulatorNeeded NoTimeoutIncrease) Nothing)
|
|
1357
|
1362
|
{ hostFullyStatic = True
|
|
1358
|
1363
|
, buildFlavour = Release -- TODO: This needs to be validate but wasm backend doesn't pass yet
|
|
1359
|
1364
|
, textWithSIMDUTF = True
|