File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3030
3131 - name : Run clippy
3232 run : cargo clippy --workspace --all-targets
33+
34+ parse-conformance :
35+ name : parse conformance
36+ runs-on : ubuntu-latest
37+ steps :
38+ - name : Checkout repository
39+ uses : actions/checkout@v4
40+
41+ - name : Setup Rust toolchain
42+ uses : dtolnay/rust-toolchain@stable
43+
44+ - name : Cache cargo artifacts
45+ uses : Swatinem/rust-cache@v2
46+
47+ - name : Run docs snippet parse conformance
48+ run : RUST_MIN_STACK=134217728 cargo test -p zynml --test e2e_tests docs_conformance:: -- --nocapture
49+
50+ - name : Run examples parse regression suite
51+ run : RUST_MIN_STACK=134217728 cargo test -p zynml --test e2e_tests examples_regression:: -- --nocapture
52+
53+ runtime-smoke :
54+ name : runtime smoke
55+ runs-on : ubuntu-latest
56+ steps :
57+ - name : Checkout repository
58+ uses : actions/checkout@v4
59+
60+ - name : Setup Rust toolchain
61+ uses : dtolnay/rust-toolchain@stable
62+
63+ - name : Cache cargo artifacts
64+ uses : Swatinem/rust-cache@v2
65+
66+ - name : Run runtime smoke tests
67+ run : |
68+ RUST_MIN_STACK=134217728 cargo test -p zynml --test e2e_tests execution::test_execute_simple_expression -- --nocapture
69+ RUST_MIN_STACK=134217728 cargo test -p zynml --test e2e_tests execution::test_execute_prelude_only_example -- --nocapture
Original file line number Diff line number Diff line change @@ -3566,6 +3566,30 @@ mod execution {
35663566 }
35673567 }
35683568
3569+ #[ test]
3570+ fn test_execute_prelude_only_example ( ) {
3571+ let Some ( mut zynml) = create_runtime_with_plugins ( ) else {
3572+ println ! ( "Skipping: plugins not available" ) ;
3573+ return ;
3574+ } ;
3575+
3576+ let example_path = examples_dir ( ) . join ( "test_prelude_only.zynml" ) ;
3577+ if !example_path. exists ( ) {
3578+ println ! ( "Skipping: test_prelude_only.zynml not found" ) ;
3579+ return ;
3580+ }
3581+
3582+ let result = std:: panic:: catch_unwind ( std:: panic:: AssertUnwindSafe ( || {
3583+ zynml. run_file ( & example_path)
3584+ } ) ) ;
3585+
3586+ match result {
3587+ Ok ( Ok ( ( ) ) ) => { }
3588+ Ok ( Err ( e) ) => panic ! ( "test_prelude_only.zynml should execute successfully: {}" , e) ,
3589+ Err ( _) => panic ! ( "test_prelude_only.zynml caused a runtime panic" ) ,
3590+ }
3591+ }
3592+
35693593 // Ignored: this test crashes the test process with SIGABRT (stack overflow in Grammar2
35703594 // interpreter parsing the complex prelude.zynml) or SIGSEGV (tensor runtime bug in
35713595 // println_any). Both are pre-existing issues that kill the test runner via signal.
You can’t perform that action at this time.
0 commit comments