@@ -87,6 +87,44 @@ const test_scripts = [_][]const u8{
8787 "test/suite-vm.janet" ,
8888};
8989
90+ const example_scripts = [_ ][]const u8 {
91+ "examples/3sum.janet" ,
92+ "examples/abstract-unix-socket.janet" ,
93+ "examples/assembly.janet" ,
94+ "examples/async-execute.janet" ,
95+ "examples/channel.janet" ,
96+ "examples/chatserver.janet" ,
97+ "examples/colors.janet" ,
98+ "examples/debug.janet" ,
99+ "examples/debugger.janet" ,
100+ "examples/echoclient.janet" ,
101+ "examples/echoserve.janet" ,
102+ "examples/error.janet" ,
103+ "examples/evlocks.janet" ,
104+ "examples/evsleep.janet" ,
105+ "examples/fizzbuzz.janet" ,
106+ "examples/hello.janet" ,
107+ "examples/iterate-fiber.janet" ,
108+ "examples/lazyseqs.janet" ,
109+ "examples/life.janet" ,
110+ "examples/lineloop.janet" ,
111+ "examples/marshal-stress.janet" ,
112+ "examples/maxtriangle.janet" ,
113+ "examples/posix-exec.janet" ,
114+ "examples/primes.janet" ,
115+ "examples/rtest.janet" ,
116+ "examples/select.janet" ,
117+ "examples/select2.janet" ,
118+ "examples/sigaction.janet" ,
119+ "examples/tcpclient.janet" ,
120+ "examples/tcpserver.janet" ,
121+ "examples/threaded-channels.janet" ,
122+ "examples/udpclient.janet" ,
123+ "examples/udpserver.janet" ,
124+ "examples/urlloader.janet" ,
125+ "examples/weak-tables.janet" ,
126+ };
127+
90128pub fn build (b : * std.Build ) void {
91129 const target = b .standardTargetOptions (.{});
92130 const optimize = b .standardOptimizeOption (.{});
@@ -215,12 +253,25 @@ pub fn build(b: *std.Build) void {
215253 run_cmd .addArgs (args );
216254 }
217255
218- const test_step = b .step ("test " , "Run tests " );
256+ const run_tests_step = b .step ("run-tests " , "Run Janet test suite scripts " );
219257 for (test_scripts ) | test_script | {
220258 const run_test_cmd = b .addRunArtifact (janet_exe );
221259 run_test_cmd .addFileArg (b .path (test_script ));
222260 run_test_cmd .expectExitCode (0 );
223261 run_test_cmd .stdio = .inherit ;
224- test_step .dependOn (& run_test_cmd .step );
262+ run_tests_step .dependOn (& run_test_cmd .step );
225263 }
264+
265+ const check_examples_step = b .step ("examples" , "Check if example scripts compile" );
266+ for (example_scripts ) | example_script | {
267+ const check_example_cmd = b .addRunArtifact (janet_exe );
268+ check_example_cmd .addArg ("-k" );
269+ check_example_cmd .addFileArg (b .path (example_script ));
270+ check_example_cmd .stdio = .inherit ;
271+ check_examples_step .dependOn (& check_example_cmd .step );
272+ }
273+
274+ const test_step = b .step ("test" , "Runs the Janet tests and checks the examples" );
275+ test_step .dependOn (run_tests_step );
276+ test_step .dependOn (check_examples_step );
226277}
0 commit comments