module run asset scripts: path: ../asset/run asset scripts_success: path: ../asset/run-success asset scripts_fail: path: ../asset/run-fail test TrivialRun: spawn as p with p: send "load ${scripts.path}/trivial.et" expect /load-done/ send "run AlwaysSucceeds" local: expect /run-test-result AlwaysSucceeds (.*)/ capture result guard (result == "done") expect /run-done/ send "run AlwaysFails" local: expect /match-fail .*/ expect /run-test-result AlwaysFails (.*)/ capture result guard (result == "failed") expect /run-done/ test SimpleRun: let should_succeed = [ "bool", "command-flush", "command-ignore" ] let should_fail = [ "bool", "command-ignore" ] spawn as p with p: for file in should_succeed: send "load ${scripts_success.path}/$file.et" local: expect /(load-.*)/ capture done guard (done == "load-done") flush send "run Test" local: expect /run-test-result Test (.*)/ capture result guard (result == "done") expect /run-done/ flush for file in should_fail: send "load ${scripts_fail.path}/$file.et" local: expect /(load-.*)/ capture done guard (done == "load-done") flush send "run Test" local: expect /run-test-result Test (.*)/ capture result guard (result == "failed") expect /run-done/ flush test RunConfig: node n local: shell on n: cp ${scripts.path}/erebos-tester.yaml . mkdir tools cp ${scripts.path}/tools/echo.sh ./tools/tool mkdir scripts cp ${scripts.path}/trivial.et ./scripts/ cp ${scripts.path}/echo.et ./scripts/ spawn as p on n with p: send "load-config" expect /load-config-done/ send "run-all" expect /run-test-result AlwaysSucceeds done/ expect /run-test-result AlwaysFails failed/ expect /child-stdin p abcdef/ expect /child-stdout p abcdef/ expect /match p abcdef/ expect /run-test-result ExpectEcho done/ expect /run-all-done/ test GetSysInfo: node n local: shell on n: cp ${scripts.path}/erebos-tester.yaml . mkdir tools cp ${scripts.path}/tools/sysinfo.sh ./tools/tool mkdir scripts cp ${scripts.path}/sysinfo.et ./scripts/ spawn as p on n with p: send "load-config" expect /load-config-done/ send "run SysInfo" expect /run-done/ test CallStack: spawn as p with p: send "load ${scripts.path}/callstack.et" expect /load-done/ send "run AG" expect /match-fail guard failed/ expect /match-fail-line .*\/callstack.et:3:5: .*/ expect /match-fail-var x 1/ local: expect /(match-fail-.*)/ capture done guard (done == "match-fail-done") local: expect /run-test-result AG (.*)/ capture result guard (result == "failed") expect /run-done/ flush send "run AE" expect /match-fail expect failed/ expect /match-fail-line .*\/callstack.et:8:5: .*/ expect /match-fail-var x 2/ local: expect /(match-fail-.*)/ capture done guard (done == "match-fail-done") local: expect /run-test-result AE (.*)/ capture result guard (result == "failed") expect /run-done/ flush send "run BG" expect /match-fail guard failed/ expect /match-fail-line .*\/callstack.et:12:5: .*/ expect /match-fail-var x 1/ expect /match-fail-line .*\/callstack.et:15:5: .*/ local: expect /(match-fail-.*)/ capture done guard (done == "match-fail-done") local: expect /run-test-result BG (.*)/ capture result guard (result == "failed") expect /run-done/ flush send "run CG" expect /match-fail guard failed/ expect /match-fail-line .*\/callstack.et:19:5: .*/ expect /match-fail-var x 3/ expect /match-fail-var y 2/ expect /match-fail-line .*\/callstack.et:23:5: .*/ expect /match-fail-var z 3/ local: expect /(match-fail-.*)/ capture done guard (done == "match-fail-done") local: expect /run-test-result CG (.*)/ capture result guard (result == "failed") expect /run-done/ flush send "run BE" expect /match-fail expect failed/ expect /match-fail-line .*\/callstack.et:27:5: .*/ expect /match-fail-var x 1/ expect /match-fail-line .*\/callstack.et:31:5: .*/ expect /match-fail-var p / local: expect /(match-fail-.*)/ capture done guard (done == "match-fail-done") local: expect /run-test-result BE (.*)/ capture result guard (result == "failed") expect /run-done/ flush send "run CE" expect /match-fail expect failed/ expect /match-fail-line .*\/callstack.et:36:5: .*/ expect /match-fail-var x 3/ expect /match-fail-var y 2/ expect /match-fail-line .*\/callstack.et:41:5: .*/ expect /match-fail-var p / expect /match-fail-var z 3/ local: expect /(match-fail-.*)/ capture done guard (done == "match-fail-done") local: expect /run-test-result CE (.*)/ capture result guard (result == "failed") expect /run-done/ flush test RunTag: spawn as p with p: send "load ${scripts.path}/tags.et" local: expect /(load-.*)/ capture done guard (done == "load-done") flush send "run A" local: expect /run-test-result A1 (.*)/ capture result guard (result == "done") local: expect /run-test-result A2 (.*)/ capture result guard (result == "done") local: expect /run-(.*)/ capture done guard (done == "done") send "run B C" local: expect /run-test-result B1 (.*)/ capture result guard (result == "done") local: expect /run-test-result B2 (.*)/ capture result guard (result == "done") local: expect /run-test-result C1 (.*)/ capture result guard (result == "done") local: expect /run-test-result C2 (.*)/ capture result guard (result == "done") local: expect /run-test-result BC (.*)/ capture result guard (result == "done") local: expect /run-(.*)/ capture done guard (done == "done") test RunTagExclude: spawn as p with p: send "load ${scripts.path}/tags.et" local: expect /(load-.*)/ capture done guard (done == "load-done") flush send "run * ^A ^C ^T2 ^B1" local: expect /run-test-result T1 (.*)/ capture result guard (result == "done") local: expect /run-test-result B2 (.*)/ capture result guard (result == "done") local: expect /run-(.*)/ capture done guard (done == "done") send "run T1 B1 A C ^B ^A1" local: expect /run-test-result T1 (.*)/ capture result guard (result == "done") local: expect /run-test-result A2 (.*)/ capture result guard (result == "done") local: expect /run-test-result C1 (.*)/ capture result guard (result == "done") local: expect /run-test-result C2 (.*)/ capture result guard (result == "done") local: expect /run-(.*)/ capture done guard (done == "done")