@@ -8,6 +8,7 @@ import * as Path from "path";
88import * as $$Array from "rescript/lib/es6/Array.js" ;
99import * as $$Error from "rescript/lib/es6/Error.js" ;
1010import * as Belt_List from "rescript/lib/es6/Belt_List.js" ;
11+ import * as Nodeutil from "node:util" ;
1112import * as ArrayUtils from "./ArrayUtils.res.mjs" ;
1213import * as Belt_Array from "rescript/lib/es6/Belt_Array.js" ;
1314import * as Pervasives from "rescript/lib/es6/Pervasives.js" ;
@@ -17,6 +18,19 @@ import * as RescriptTools_Docgen from "rescript/lib/es6/RescriptTools_Docgen.js"
1718
1819let bscBin = Path . join ( "cli" , "bsc" ) ;
1920
21+ let parsed = Nodeutil . parseArgs ( {
22+ args : process . argv . slice ( 2 ) ,
23+ options : {
24+ "ignore-runtime-tests" : {
25+ type : "string"
26+ }
27+ }
28+ } ) ;
29+
30+ let v = parsed . values [ "ignore-runtime-tests" ] ;
31+
32+ let ignoreRuntimeTests = v !== undefined ? v . split ( "," ) . map ( s => s . trim ( ) ) : [ ] ;
33+
2034function getOutput ( buffer ) {
2135 return buffer . map ( e => e . toString ( ) ) . join ( "" ) ;
2236}
@@ -38,7 +52,7 @@ async function extractDocFromFile(file) {
3852 RE_EXN_ID : "Assert_failure" ,
3953 _1 : [
4054 "DocTest.res" ,
41- 35 ,
55+ 48 ,
4256 9
4357 ] ,
4458 Error : new Error ( )
@@ -250,7 +264,7 @@ async function compileExamples(examples) {
250264 ] ;
251265}
252266
253- async function runtimeTests ( code ) {
267+ async function runTest ( code ) {
254268 let match = await SpawnAsync . run ( "node" , [
255269 "-e" ,
256270 code ,
@@ -303,10 +317,11 @@ async function runtimeTests(code) {
303317
304318async function runExamples ( compiled ) {
305319 console . log ( "Running " + compiled . length . toString ( ) + " compiled examples..." ) ;
320+ let tests = compiled . filter ( param => ! ignoreRuntimeTests . includes ( param [ 0 ] . id ) ) ;
306321 let runtimeErrors = [ ] ;
307- await ArrayUtils . forEachAsyncInBatches ( compiled , batchSize , async compiled => {
322+ await ArrayUtils . forEachAsyncInBatches ( tests , batchSize , async compiled => {
308323 let jsCode = compiled [ 2 ] ;
309- let error = await runtimeTests ( jsCode ) ;
324+ let error = await runTest ( jsCode ) ;
310325 if ( error . TAG === "Ok" ) {
311326 return ;
312327 }
0 commit comments