From 63da407345889ff2f94b1cce5b6a3f124ea31fc1 Mon Sep 17 00:00:00 2001 From: Barabas Raffai Date: Wed, 7 Dec 2022 21:15:29 +0000 Subject: [PATCH] Add tests for no connect flag --- qa/data/eeschema/NoConnectOnLine.kicad_sch | 77 ++++++++++++ .../NoConnectOnLineWithGlobalLabel.kicad_sch | 94 +++++++++++++++ ...nnectOnLineWithHierarchicalLabel.kicad_sch | 91 ++++++++++++++ .../NoConnectOnLineWithLabel.kicad_sch | 82 +++++++++++++ qa/data/eeschema/NoConnectOnPin.kicad_sch | 72 +++++++++++ .../NoConnectPinsConnectedByLabel.kicad_sch | 112 ++++++++++++++++++ .../NoConnectPinsConnectedByLine.kicad_sch | 112 ++++++++++++++++++ qa/unittests/eeschema/CMakeLists.txt | 1 + .../eeschema/erc/test_erc_no_connect.cpp | 86 ++++++++++++++ 9 files changed, 727 insertions(+) create mode 100644 qa/data/eeschema/NoConnectOnLine.kicad_sch create mode 100644 qa/data/eeschema/NoConnectOnLineWithGlobalLabel.kicad_sch create mode 100644 qa/data/eeschema/NoConnectOnLineWithHierarchicalLabel.kicad_sch create mode 100644 qa/data/eeschema/NoConnectOnLineWithLabel.kicad_sch create mode 100644 qa/data/eeschema/NoConnectOnPin.kicad_sch create mode 100644 qa/data/eeschema/NoConnectPinsConnectedByLabel.kicad_sch create mode 100644 qa/data/eeschema/NoConnectPinsConnectedByLine.kicad_sch create mode 100644 qa/unittests/eeschema/erc/test_erc_no_connect.cpp diff --git a/qa/data/eeschema/NoConnectOnLine.kicad_sch b/qa/data/eeschema/NoConnectOnLine.kicad_sch new file mode 100644 index 0000000000..e2035298d6 --- /dev/null +++ b/qa/data/eeschema/NoConnectOnLine.kicad_sch @@ -0,0 +1,77 @@ +(kicad_sch (version 20210621) (generator eeschema) + + (uuid 8c2751b9-9a03-4168-beb3-39453db83b65) + + (paper "A4") + + (lib_symbols + (symbol "Connector:TestPoint" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes) + (property "Reference" "TP" (id 0) (at 0 6.858 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TestPoint" (id 1) (at 0 5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (id 2) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "test point tp" (id 4) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "test point" (id 5) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Pin* Test*" (id 6) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "TestPoint_0_1" + (circle (center 0 3.302) (radius 0.762) (stroke (width 0)) (fill (type none))) + ) + (symbol "TestPoint_1_1" + (pin passive line (at 0 0 90) (length 2.54) + (name "1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + + (no_connect (at 22.86 35.56) (uuid 19315344-731e-4d62-b38b-908b9d9e7afc)) + + (wire (pts (xy 22.86 25.4) (xy 22.86 35.56)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid bb844206-6ea5-4a55-a1c1-d76b46c7aace) + ) + + (symbol (lib_id "Connector:TestPoint") (at 22.86 25.4 0) (unit 1) + (in_bom yes) (on_board yes) (fields_autoplaced) + (uuid 62dbd03b-16d8-49e0-8994-ce699d746b0f) + (property "Reference" "TP1" (id 0) (at 25.4 22.2884 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (id 1) (at 25.4 24.8284 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (id 2) (at 27.94 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 27.94 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid afbc49f5-337e-4c28-8ede-18b13cdcd563)) + ) + + (sheet_instances + (path "/" (page "1")) + ) + + (symbol_instances + (path "/62dbd03b-16d8-49e0-8994-ce699d746b0f" + (reference "TP1") (unit 1) (value "TestPoint") (footprint "") + ) + ) +) diff --git a/qa/data/eeschema/NoConnectOnLineWithGlobalLabel.kicad_sch b/qa/data/eeschema/NoConnectOnLineWithGlobalLabel.kicad_sch new file mode 100644 index 0000000000..822a4c2873 --- /dev/null +++ b/qa/data/eeschema/NoConnectOnLineWithGlobalLabel.kicad_sch @@ -0,0 +1,94 @@ +(kicad_sch (version 20210621) (generator eeschema) + + (uuid a42261a8-90bd-4a35-939b-632c3d8e595c) + + (paper "A4") + + (lib_symbols + (symbol "Connector:TestPoint" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes) + (property "Reference" "TP" (id 0) (at 0 6.858 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TestPoint" (id 1) (at 0 5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (id 2) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "test point tp" (id 4) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "test point" (id 5) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Pin* Test*" (id 6) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "TestPoint_0_1" + (circle (center 0 3.302) (radius 0.762) (stroke (width 0)) (fill (type none))) + ) + (symbol "TestPoint_1_1" + (pin passive line (at 0 0 90) (length 2.54) + (name "1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + (junction (at 29.21 30.48) (diameter 0.9144) (color 0 0 0 0)) + + (no_connect (at 29.21 36.83) (uuid 2dcc0ade-e5ab-4a90-8195-ec5478b70816)) + + (wire (pts (xy 29.21 25.4) (xy 29.21 30.48)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid 2660ab9a-04ca-42fa-8de1-6167aa524155) + ) + (wire (pts (xy 29.21 30.48) (xy 29.21 36.83)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid 2660ab9a-04ca-42fa-8de1-6167aa524155) + ) + (wire (pts (xy 29.21 30.48) (xy 31.75 30.48)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid 59527371-8889-4eaf-b087-a3b8575f4ed2) + ) + + (global_label "test" (shape input) (at 31.75 30.48 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 4fd16d2c-2ba1-4d44-b54e-675a1f4522ca) + (property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 37.7312 30.4006 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + + (symbol (lib_id "Connector:TestPoint") (at 29.21 25.4 0) (unit 1) + (in_bom yes) (on_board yes) (fields_autoplaced) + (uuid cb761d07-e4ee-408d-b193-63cb98747f85) + (property "Reference" "TP1" (id 0) (at 31.75 22.2884 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (id 1) (at 31.75 24.8284 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (id 2) (at 34.29 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 34.29 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f15f35a2-a7d2-4351-a319-800789db39e5)) + ) + + (sheet_instances + (path "/" (page "1")) + ) + + (symbol_instances + (path "/cb761d07-e4ee-408d-b193-63cb98747f85" + (reference "TP1") (unit 1) (value "TestPoint") (footprint "") + ) + ) +) diff --git a/qa/data/eeschema/NoConnectOnLineWithHierarchicalLabel.kicad_sch b/qa/data/eeschema/NoConnectOnLineWithHierarchicalLabel.kicad_sch new file mode 100644 index 0000000000..29286febf7 --- /dev/null +++ b/qa/data/eeschema/NoConnectOnLineWithHierarchicalLabel.kicad_sch @@ -0,0 +1,91 @@ +(kicad_sch (version 20210621) (generator eeschema) + + (uuid b5d9ebeb-f800-4288-8ce9-7033224d3b21) + + (paper "A4") + + (lib_symbols + (symbol "Connector:TestPoint" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes) + (property "Reference" "TP" (id 0) (at 0 6.858 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TestPoint" (id 1) (at 0 5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (id 2) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "test point tp" (id 4) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "test point" (id 5) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Pin* Test*" (id 6) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "TestPoint_0_1" + (circle (center 0 3.302) (radius 0.762) (stroke (width 0)) (fill (type none))) + ) + (symbol "TestPoint_1_1" + (pin passive line (at 0 0 90) (length 2.54) + (name "1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + (junction (at 31.75 31.75) (diameter 0.9144) (color 0 0 0 0)) + + (no_connect (at 31.75 38.1) (uuid 38e4d6ee-1caa-4107-afdf-9817c33f9c25)) + + (wire (pts (xy 31.75 25.4) (xy 31.75 31.75)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid c55e19e3-1b36-4112-9bca-54b9f9dee350) + ) + (wire (pts (xy 31.75 31.75) (xy 31.75 38.1)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid c55e19e3-1b36-4112-9bca-54b9f9dee350) + ) + (wire (pts (xy 31.75 31.75) (xy 34.29 31.75)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid 4c68c6ce-7d5e-444c-b28d-6b1ab9830b10) + ) + + (hierarchical_label "test" (shape input) (at 34.29 31.75 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid a11efb39-593e-4e55-9c2f-32db4d581aeb) + ) + + (symbol (lib_id "Connector:TestPoint") (at 31.75 25.4 0) (unit 1) + (in_bom yes) (on_board yes) (fields_autoplaced) + (uuid 6307406d-c1c0-4900-af1b-9056ce7df57f) + (property "Reference" "TP1" (id 0) (at 34.29 22.2884 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (id 1) (at 34.29 24.8284 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (id 2) (at 36.83 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 36.83 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid cd7f2944-da22-4cf2-b462-7121d97c4a0b)) + ) + + (sheet_instances + (path "/" (page "1")) + ) + + (symbol_instances + (path "/6307406d-c1c0-4900-af1b-9056ce7df57f" + (reference "TP1") (unit 1) (value "TestPoint") (footprint "") + ) + ) +) diff --git a/qa/data/eeschema/NoConnectOnLineWithLabel.kicad_sch b/qa/data/eeschema/NoConnectOnLineWithLabel.kicad_sch new file mode 100644 index 0000000000..4dd2c2f4c5 --- /dev/null +++ b/qa/data/eeschema/NoConnectOnLineWithLabel.kicad_sch @@ -0,0 +1,82 @@ +(kicad_sch (version 20210621) (generator eeschema) + + (uuid dbcbba47-5568-4743-853c-61930ab05049) + + (paper "A4") + + (lib_symbols + (symbol "Connector:TestPoint" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes) + (property "Reference" "TP" (id 0) (at 0 6.858 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TestPoint" (id 1) (at 0 5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (id 2) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "test point tp" (id 4) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "test point" (id 5) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Pin* Test*" (id 6) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "TestPoint_0_1" + (circle (center 0 3.302) (radius 0.762) (stroke (width 0)) (fill (type none))) + ) + (symbol "TestPoint_1_1" + (pin passive line (at 0 0 90) (length 2.54) + (name "1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + + (no_connect (at 25.4 35.56) (uuid ecd200e1-9ed6-4c4a-9585-915c7b7ccdd8)) + + (wire (pts (xy 25.4 25.4) (xy 25.4 35.56)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid 01236e64-2a69-4078-80f1-bc0398fb7c9f) + ) + + (label "test" (at 25.4 31.75 90) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 03e214cc-bc77-4985-a9e8-8e508ac46a57) + ) + + (symbol (lib_id "Connector:TestPoint") (at 25.4 25.4 0) (unit 1) + (in_bom yes) (on_board yes) (fields_autoplaced) + (uuid cec94f0d-33b7-46a7-b576-2bf3762411d5) + (property "Reference" "TP1" (id 0) (at 27.94 22.2884 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (id 1) (at 27.94 24.8284 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (id 2) (at 30.48 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 30.48 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f674ea59-2458-4e43-b5b9-71098251b8f7)) + ) + + (sheet_instances + (path "/" (page "1")) + ) + + (symbol_instances + (path "/cec94f0d-33b7-46a7-b576-2bf3762411d5" + (reference "TP1") (unit 1) (value "TestPoint") (footprint "") + ) + ) +) diff --git a/qa/data/eeschema/NoConnectOnPin.kicad_sch b/qa/data/eeschema/NoConnectOnPin.kicad_sch new file mode 100644 index 0000000000..07d6940221 --- /dev/null +++ b/qa/data/eeschema/NoConnectOnPin.kicad_sch @@ -0,0 +1,72 @@ +(kicad_sch (version 20210621) (generator eeschema) + + (uuid c25b6ad9-d036-434a-9747-d8208cb46737) + + (paper "A4") + + (lib_symbols + (symbol "Connector:TestPoint" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes) + (property "Reference" "TP" (id 0) (at 0 6.858 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TestPoint" (id 1) (at 0 5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (id 2) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "test point tp" (id 4) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "test point" (id 5) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Pin* Test*" (id 6) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "TestPoint_0_1" + (circle (center 0 3.302) (radius 0.762) (stroke (width 0)) (fill (type none))) + ) + (symbol "TestPoint_1_1" + (pin passive line (at 0 0 90) (length 2.54) + (name "1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + + (no_connect (at 27.94 25.4) (uuid 4300d5fa-e174-4db6-ba12-d017d474dd35)) + + (symbol (lib_id "Connector:TestPoint") (at 27.94 25.4 0) (unit 1) + (in_bom yes) (on_board yes) (fields_autoplaced) + (uuid 7431040b-afb9-4efb-b226-41e395ecbc6c) + (property "Reference" "TP1" (id 0) (at 30.48 22.2884 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (id 1) (at 30.48 24.8284 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (id 2) (at 33.02 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 33.02 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 67e0675e-1bb8-43e2-9dd7-3a17cf06f428)) + ) + + (sheet_instances + (path "/" (page "1")) + ) + + (symbol_instances + (path "/7431040b-afb9-4efb-b226-41e395ecbc6c" + (reference "TP1") (unit 1) (value "TestPoint") (footprint "") + ) + ) +) diff --git a/qa/data/eeschema/NoConnectPinsConnectedByLabel.kicad_sch b/qa/data/eeschema/NoConnectPinsConnectedByLabel.kicad_sch new file mode 100644 index 0000000000..2d14666b08 --- /dev/null +++ b/qa/data/eeschema/NoConnectPinsConnectedByLabel.kicad_sch @@ -0,0 +1,112 @@ +(kicad_sch (version 20210621) (generator eeschema) + + (uuid 0f9e1d66-b8ed-495e-9f18-8de0c9aeaa30) + + (paper "A4") + + (lib_symbols + (symbol "Connector:TestPoint" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes) + (property "Reference" "TP" (id 0) (at 0 6.858 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TestPoint" (id 1) (at 0 5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (id 2) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "test point tp" (id 4) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "test point" (id 5) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Pin* Test*" (id 6) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "TestPoint_0_1" + (circle (center 0 3.302) (radius 0.762) (stroke (width 0)) (fill (type none))) + ) + (symbol "TestPoint_1_1" + (pin passive line (at 0 0 90) (length 2.54) + (name "1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + + + (no_connect (at 29.21 29.21) (uuid cdfb9b52-55cd-430a-8376-4fa8cc3718b3)) + + (wire (pts (xy 29.21 22.86) (xy 29.21 29.21)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid 852bbc08-6c3b-44ae-9ce3-13eb108cee14) + ) + (wire (pts (xy 44.45 22.86) (xy 44.45 27.94)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid b2d86fc4-7977-4adb-91d8-c1a79f5281a6) + ) + + (label "test" (at 29.21 27.94 90) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 9967f29b-1fdf-48dd-8c6a-0d6ad57e40c1) + ) + (label "test" (at 44.45 27.94 90) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid f029ede5-c93d-4f9a-9006-c37df43817b6) + ) + + (symbol (lib_id "Connector:TestPoint") (at 29.21 22.86 0) (unit 1) + (in_bom yes) (on_board yes) (fields_autoplaced) + (uuid 819e043f-ce2f-49c7-bc14-3fd537e0c7e5) + (property "Reference" "TP1" (id 0) (at 31.75 19.7484 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (id 1) (at 31.75 22.2884 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (id 2) (at 34.29 22.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 34.29 22.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid abfb681a-3003-4344-9d0b-b80b02b873da)) + ) + + (symbol (lib_id "Connector:TestPoint") (at 44.45 22.86 0) (unit 1) + (in_bom yes) (on_board yes) (fields_autoplaced) + (uuid a43439ba-66cf-4a38-92d1-0cd9bfd44db4) + (property "Reference" "TP2" (id 0) (at 46.99 19.7484 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (id 1) (at 46.99 22.2884 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (id 2) (at 49.53 22.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 49.53 22.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 48f406e8-2d99-4dde-9e9a-0fa75fb3df24)) + ) + + (sheet_instances + (path "/" (page "1")) + ) + + (symbol_instances + (path "/819e043f-ce2f-49c7-bc14-3fd537e0c7e5" + (reference "TP1") (unit 1) (value "TestPoint") (footprint "") + ) + (path "/a43439ba-66cf-4a38-92d1-0cd9bfd44db4" + (reference "TP2") (unit 1) (value "TestPoint") (footprint "") + ) + ) +) diff --git a/qa/data/eeschema/NoConnectPinsConnectedByLine.kicad_sch b/qa/data/eeschema/NoConnectPinsConnectedByLine.kicad_sch new file mode 100644 index 0000000000..6b20278986 --- /dev/null +++ b/qa/data/eeschema/NoConnectPinsConnectedByLine.kicad_sch @@ -0,0 +1,112 @@ +(kicad_sch (version 20210621) (generator eeschema) + + (uuid 4b0cf473-7673-420c-86ad-82669944f979) + + (paper "A4") + + (lib_symbols + (symbol "Connector:TestPoint" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes) + (property "Reference" "TP" (id 0) (at 0 6.858 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TestPoint" (id 1) (at 0 5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (id 2) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "test point tp" (id 4) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "test point" (id 5) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Pin* Test*" (id 6) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "TestPoint_0_1" + (circle (center 0 3.302) (radius 0.762) (stroke (width 0)) (fill (type none))) + ) + (symbol "TestPoint_1_1" + (pin passive line (at 0 0 90) (length 2.54) + (name "1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + + (junction (at 25.4 26.67) (diameter 0.9144) (color 0 0 0 0)) + + (no_connect (at 25.4 29.21) (uuid f3fa9d77-a633-4b7c-b697-53a982f2dbdb)) + + (wire (pts (xy 25.4 24.13) (xy 25.4 26.67)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid 30e8acf8-7226-4732-b3c9-71b04b8ebe5e) + ) + (wire (pts (xy 25.4 26.67) (xy 25.4 29.21)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid a7a79bf9-01f7-45de-ba64-0493fd7cdfd0) + ) + (wire (pts (xy 25.4 26.67) (xy 43.18 26.67)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid 30e8acf8-7226-4732-b3c9-71b04b8ebe5e) + ) + (wire (pts (xy 43.18 26.67) (xy 43.18 24.13)) + (stroke (width 0) (type solid) (color 0 0 0 0)) + (uuid 30e8acf8-7226-4732-b3c9-71b04b8ebe5e) + ) + + (symbol (lib_id "Connector:TestPoint") (at 25.4 24.13 0) (unit 1) + (in_bom yes) (on_board yes) (fields_autoplaced) + (uuid 75662485-d96e-4e3d-93ab-28c4521800ac) + (property "Reference" "TP1" (id 0) (at 27.94 21.0184 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (id 1) (at 27.94 23.5584 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (id 2) (at 30.48 24.13 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 30.48 24.13 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4317837e-7c6c-4d62-8a51-13b25e87a167)) + ) + + (symbol (lib_id "Connector:TestPoint") (at 43.18 24.13 0) (unit 1) + (in_bom yes) (on_board yes) (fields_autoplaced) + (uuid 87711a3d-275a-423c-bbd3-157dc0279528) + (property "Reference" "TP2" (id 0) (at 45.72 21.0184 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (id 1) (at 45.72 23.5584 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (id 2) (at 48.26 24.13 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 48.26 24.13 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f46cb911-417d-4412-b794-9db01889e9e8)) + ) + + (sheet_instances + (path "/" (page "1")) + ) + + (symbol_instances + (path "/75662485-d96e-4e3d-93ab-28c4521800ac" + (reference "TP1") (unit 1) (value "TestPoint") (footprint "") + ) + (path "/87711a3d-275a-423c-bbd3-157dc0279528" + (reference "TP2") (unit 1) (value "TestPoint") (footprint "") + ) + ) +) diff --git a/qa/unittests/eeschema/CMakeLists.txt b/qa/unittests/eeschema/CMakeLists.txt index 9860fe5107..4672fc714e 100644 --- a/qa/unittests/eeschema/CMakeLists.txt +++ b/qa/unittests/eeschema/CMakeLists.txt @@ -71,6 +71,7 @@ set( QA_EESCHEMA_SRCS erc/test_erc_label_not_connected.cpp erc/test_erc_stacking_pins.cpp erc/test_erc_global_labels.cpp + erc/test_erc_no_connect.cpp test_eagle_plugin.cpp test_lib_part.cpp diff --git a/qa/unittests/eeschema/erc/test_erc_no_connect.cpp b/qa/unittests/eeschema/erc/test_erc_no_connect.cpp new file mode 100644 index 0000000000..8866efb48a --- /dev/null +++ b/qa/unittests/eeschema/erc/test_erc_no_connect.cpp @@ -0,0 +1,86 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2022 KiCad Developers, see AUTHORS.TXT for contributors. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 3 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, you may find one at + * http://www.gnu.org/licenses/ + */ + +#include +#include + +#include +#include +#include +#include +#include +#include + + +struct ERC_REGRESSION_TEST_FIXTURE +{ + ERC_REGRESSION_TEST_FIXTURE() : + m_settingsManager( true /* headless */ ) + { } + + SETTINGS_MANAGER m_settingsManager; + std::unique_ptr m_schematic; +}; + + +BOOST_FIXTURE_TEST_CASE( ERCNoConnect, ERC_REGRESSION_TEST_FIXTURE ) +{ + LOCALE_IO dummy; + + // Check for Errors related to no connect flag + + std::vector> tests = + { + { "NoConnectOnPin", 0 }, + { "NoConnectOnLine", 0 }, + { "NoConnectOnLineWithLabel", 1 }, + { "NoConnectOnLineWithGlobalLabel", 1 }, + { "NoConnectOnLineWithHierarchicalLabel", 1 }, + { "NoConnectPinsConnectedByLine", 1 }, + { "NoConnectPinsConnectedByLabel", 1 }, + }; + + for( const std::pair& test : tests ) + { + KI_TEST::LoadSchematic( m_settingsManager, test.first, m_schematic ); + + ERC_SETTINGS& settings = m_schematic->ErcSettings(); + SHEETLIST_ERC_ITEMS_PROVIDER errors( m_schematic.get() ); + + // Skip the "Modified symbol" warning + settings.m_ERCSeverities[ERCE_LIB_SYMBOL_ISSUES] = RPT_SEVERITY_IGNORE; + + m_schematic->ConnectionGraph()->RunERC(); + + ERC_TESTER tester( m_schematic.get() ); + tester.TestConflictingBusAliases(); + tester.TestMultUnitPinConflicts(); + tester.TestMultiunitFootprints(); + tester.TestNoConnectPins(); + tester.TestPinToPin(); + tester.TestSimilarLabels(); + + errors.SetSeverities( RPT_SEVERITY_ERROR | RPT_SEVERITY_WARNING ); + + BOOST_CHECK_MESSAGE( errors.GetCount() == test.second, "Expected " << test.second + << " errors in " << test.first.ToStdString() << " but got " << errors.GetCount() ); + + } +}