From d09b8da7028701a20d126f8e9712170d98122787 Mon Sep 17 00:00:00 2001 From: Ronnie Lajaunie Date: Tue, 26 Nov 2024 12:57:16 -0600 Subject: [PATCH] origen_metal: Add processing of PGM::Render node in SMT7 flow generator --- .../advantest/smt7/processors/flow_generator.rs | 4 ++++ .../v93ksmt7/test_program/testflow/prb1.tf | 17 ++++++++++++++++- .../test_program/testflow/setup/prb1_vars.tf | 1 + .../example/flows/o1_testcases/prb1.py | 6 +++++- 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/rust/origen_metal/src/prog_gen/advantest/smt7/processors/flow_generator.rs b/rust/origen_metal/src/prog_gen/advantest/smt7/processors/flow_generator.rs index 2dec2907..7bb9030e 100644 --- a/rust/origen_metal/src/prog_gen/advantest/smt7/processors/flow_generator.rs +++ b/rust/origen_metal/src/prog_gen/advantest/smt7/processors/flow_generator.rs @@ -794,6 +794,10 @@ impl Processor for FlowGenerator { )); Return::None } + PGM::Render(text) => { + self.push_body(&format!(r#"{}"#, text)); + Return::None + } PGM::Resources => { let orig = self.resources_block; self.resources_block = true; diff --git a/test_apps/python_app/approved/v93ksmt7/test_program/testflow/prb1.tf b/test_apps/python_app/approved/v93ksmt7/test_program/testflow/prb1.tf index 47ccb419..5586f23f 100644 --- a/test_apps/python_app/approved/v93ksmt7/test_program/testflow/prb1.tf +++ b/test_apps/python_app/approved/v93ksmt7/test_program/testflow/prb1.tf @@ -1837,6 +1837,7 @@ test_flow @G200_864CE8F_FAILED = -1; @G100_864CE8F_RAN = -1; @DEEP_TEST_864CE8F_FAILED = -1; + @DEEP_TEST_1_864CE8F_FAILED = -1; }, open,"Init Flow Control Vars", "" { run_and_branch(program_ckbd_864CE8F) @@ -2410,7 +2411,21 @@ test_flow }, open,"test", "" if @DEEP_TEST_864CE8F_FAILED == 1 then { - run(on_deep_1); + run_and_branch(on_deep_1) + then + { + } + else + { + @DEEP_TEST_1_864CE8F_FAILED = 1; + } + } + else + { + } + if @DEEP_TEST_1_864CE8F_FAILED == 1 then + { + multi_bin; } else { diff --git a/test_apps/python_app/approved/v93ksmt7/test_program/testflow/setup/prb1_vars.tf b/test_apps/python_app/approved/v93ksmt7/test_program/testflow/setup/prb1_vars.tf index 72db3247..8eacf98e 100644 --- a/test_apps/python_app/approved/v93ksmt7/test_program/testflow/setup/prb1_vars.tf +++ b/test_apps/python_app/approved/v93ksmt7/test_program/testflow/setup/prb1_vars.tf @@ -4,6 +4,7 @@ language_revision = 1; declarations @ALARM = 0; +@DEEP_TEST_1_864CE8F_FAILED = 0; @DEEP_TEST_864CE8F_FAILED = 0; @ERASE_FAILED_1_864CE8F_FAILED = 0; @ERASE_FAILED_2_864CE8F_FAILED = 0; diff --git a/test_apps/python_app/example/flows/o1_testcases/prb1.py b/test_apps/python_app/example/flows/o1_testcases/prb1.py index 795cc852..225672b0 100644 --- a/test_apps/python_app/example/flows/o1_testcases/prb1.py +++ b/test_apps/python_app/example/flows/o1_testcases/prb1.py @@ -12,7 +12,11 @@ # Test that a reference to a deeply nested test works (mainly for SMT8) flow.add_test("on_deep_1", if_failed="deep_test", - test_text="some_custom_text") + test_text="some_custom_text", + id="deep_test_1") + + with flow.if_failed("deep_test_1"): + flow.render_str("multi_bin;") flow.good_die(1, description="Good die!", softbin=1)