From c431d607542eefa5653b40c84641648c19771cb1 Mon Sep 17 00:00:00 2001 From: "Salvador E. Tropea" Date: Fri, 19 Jan 2024 08:53:17 -0300 Subject: [PATCH] [Tests][Import][Preflights] more tests --- tests/test_plot/test_misc.py | 50 +++++++++++++++---- tests/yaml_samples/drc_erc.kibot.yaml | 7 +++ tests/yaml_samples/empty.kibot.yaml | 3 ++ ....kibot.yaml => import_test_p_1.kibot.yaml} | 0 tests/yaml_samples/import_test_p_2.kibot.yaml | 12 +++++ tests/yaml_samples/import_test_p_3.kibot.yaml | 6 +++ 6 files changed, 67 insertions(+), 11 deletions(-) create mode 100644 tests/yaml_samples/drc_erc.kibot.yaml create mode 100644 tests/yaml_samples/empty.kibot.yaml rename tests/yaml_samples/{import_test_7.kibot.yaml => import_test_p_1.kibot.yaml} (100%) create mode 100644 tests/yaml_samples/import_test_p_2.kibot.yaml create mode 100644 tests/yaml_samples/import_test_p_3.kibot.yaml diff --git a/tests/test_plot/test_misc.py b/tests/test_plot/test_misc.py index ad0bd09a..19d0b0fa 100644 --- a/tests/test_plot/test_misc.py +++ b/tests/test_plot/test_misc.py @@ -888,7 +888,7 @@ def test_import_g_3(test_dir): def test_import_g_4(test_dir): - """ Import a global option: not a dict """ + """ Import a global option: no globals """ prj = 'test_v5' ctx = context.TestContext(test_dir, prj, 'import_test_g_4') ctx.run() @@ -935,25 +935,53 @@ def test_import_6(test_dir): ctx.clean_up() -# Isn't really slow, just avoid to run it in parallel -@pytest.mark.slow -@pytest.mark.skipif(context.ki5(), reason="too slow on KiCad 5") -def test_import_7(test_dir): - """ Import a preflight """ - prj = '3Rs' - ctx = context.TestContext(test_dir, prj, 'import_test_7') +def create_rules_project(ctx): if context.ki7(): - ctx.board_file.replace('kicad_pcb', 'kicad_pro') with open(ctx.board_file.replace('kicad_pcb', 'kicad_pro'), 'wt') as f: f.write(json.dumps({"board": {"design_settings": {"rule_severities": {"lib_footprint_issues": "ignore", "lib_footprint_mismatch": "ignore"}}}})) - ctx.run(extra=[]) + + +# Isn't really slow, just avoid to run it in parallel +@pytest.mark.slow +@pytest.mark.skipif(context.ki5(), reason="too slow on KiCad 5") +def test_import_p_1(test_dir): + """ Import a preflight """ + prj = '3Rs' + ctx = context.TestContext(test_dir, prj, 'import_test_p_1') + create_rules_project(ctx) + ctx.run() ctx.expect_out_file('3Rs-drc.txt') ctx.clean_up() +# Isn't really slow, just avoid to run it in parallel +@pytest.mark.slow +@pytest.mark.skipif(context.ki5(), reason="too slow on KiCad 5") +def test_import_p_2(test_dir): + """ Import a particular preflight """ + prj = '3Rs' + ctx = context.TestContext(test_dir, prj, 'import_test_p_2') + create_rules_project(ctx) + ctx.run() + ctx.expect_out_file('3Rs-drc.txt') + ctx.dont_expect_out_file('3Rs-erc.txt') + ctx.search_err(r"can't import `foobar`") + ctx.clean_up() + + +def test_import_p_3(test_dir): + """ Import preflight: no preflights """ + prj = '3Rs' + ctx = context.TestContext(test_dir, prj, 'import_test_p_3') + create_rules_project(ctx) + ctx.run() + ctx.search_err(r"No preflights found") + ctx.clean_up() + + def test_import_8(test_dir): - """ Import a preflight """ + """ Import at the end """ prj = 'light_control' ctx = context.TestContext(test_dir, prj, 'import_test_8') ctx.run(extra=[]) diff --git a/tests/yaml_samples/drc_erc.kibot.yaml b/tests/yaml_samples/drc_erc.kibot.yaml new file mode 100644 index 00000000..dc15e65d --- /dev/null +++ b/tests/yaml_samples/drc_erc.kibot.yaml @@ -0,0 +1,7 @@ +# Example KiBot config file +kibot: + version: 1 + +preflight: + run_drc: true + run_erc: true diff --git a/tests/yaml_samples/empty.kibot.yaml b/tests/yaml_samples/empty.kibot.yaml new file mode 100644 index 00000000..bc5ebf77 --- /dev/null +++ b/tests/yaml_samples/empty.kibot.yaml @@ -0,0 +1,3 @@ +kibot: + version: 1 + diff --git a/tests/yaml_samples/import_test_7.kibot.yaml b/tests/yaml_samples/import_test_p_1.kibot.yaml similarity index 100% rename from tests/yaml_samples/import_test_7.kibot.yaml rename to tests/yaml_samples/import_test_p_1.kibot.yaml diff --git a/tests/yaml_samples/import_test_p_2.kibot.yaml b/tests/yaml_samples/import_test_p_2.kibot.yaml new file mode 100644 index 00000000..345ac6f6 --- /dev/null +++ b/tests/yaml_samples/import_test_p_2.kibot.yaml @@ -0,0 +1,12 @@ +kibot: + version: 1 + +global: + filters: + - filter: 'Ignore mismatch in the 3D models' + error: lib_footprint_mismatch + regexp: '.*' + +import: + - file: drc_erc.kibot.yaml + preflights: ['run_drc', 'foobar'] diff --git a/tests/yaml_samples/import_test_p_3.kibot.yaml b/tests/yaml_samples/import_test_p_3.kibot.yaml new file mode 100644 index 00000000..19702548 --- /dev/null +++ b/tests/yaml_samples/import_test_p_3.kibot.yaml @@ -0,0 +1,6 @@ +kibot: + version: 1 + +import: + - file: empty.kibot.yaml + preflights: ['run_drc', 'foobar']