diff --git a/tests/board_samples/deeper.sch b/tests/board_samples/deeper.sch new file mode 100644 index 00000000..004f1930 --- /dev/null +++ b/tests/board_samples/deeper.sch @@ -0,0 +1,29 @@ +EESchema Schematic File Version 4 +EELAYER 30 0 +EELAYER END +$Descr A4 11693 8268 +encoding utf-8 +Sheet 3 5 +Title "" +Date "" +Rev "" +Comp "" +Comment1 "" +Comment2 "" +Comment3 "" +Comment4 "" +$EndDescr +$Comp +L Device:R R3 +U 1 1 5F3BBCFF +P 5500 3150 +AR Path="/5F342DEB/5F3BB8BB/5F3BBCFF" Ref="R3" Part="1" +AR Path="/5F34E267/5F3BB8BB/5F3BBCFF" Ref="R4" Part="1" +F 0 "R3" H 5570 3196 50 0000 L CNN +F 1 "1m" H 5570 3105 50 0000 L CNN +F 2 "" V 5430 3150 50 0001 C CNN +F 3 "~" H 5500 3150 50 0001 C CNN + 1 5500 3150 + 1 0 0 -1 +$EndComp +$EndSCHEMATC diff --git a/tests/board_samples/sub-sheet.sch b/tests/board_samples/sub-sheet.sch index e270312d..d6e3f2a7 100644 --- a/tests/board_samples/sub-sheet.sch +++ b/tests/board_samples/sub-sheet.sch @@ -3,7 +3,7 @@ EELAYER 30 0 EELAYER END $Descr A4 11693 8268 encoding utf-8 -Sheet 3 3 +Sheet 2 5 Title "" Date "" Rev "" @@ -19,7 +19,7 @@ U 1 1 5F34307A P 3800 2500 AR Path="/5F342DEB/5F34307A" Ref="U1" Part="1" AR Path="/5F34E267/5F34307A" Ref="U2" Part="1" -F 0 "U2" H 3800 2817 50 0000 C CNN +F 0 "U1" H 3800 2817 50 0000 C CNN F 1 "74LS04" H 3800 2726 50 0000 C CNN F 2 "" H 3800 2500 50 0001 C CNN F 3 "http://www.ti.com/lit/gpn/sn74LS04" H 3800 2500 50 0001 C CNN @@ -32,7 +32,7 @@ U 2 1 5F344A0E P 4500 2500 AR Path="/5F342DEB/5F344A0E" Ref="U1" Part="2" AR Path="/5F34E267/5F344A0E" Ref="U2" Part="2" -F 0 "U2" H 4500 2817 50 0000 C CNN +F 0 "U1" H 4500 2817 50 0000 C CNN F 1 "74LS04" H 4500 2726 50 0000 C CNN F 2 "" H 4500 2500 50 0001 C CNN F 3 "http://www.ti.com/lit/gpn/sn74LS04" H 4500 2500 50 0001 C CNN @@ -45,7 +45,7 @@ U 3 1 5F345E39 P 5200 2500 AR Path="/5F342DEB/5F345E39" Ref="U1" Part="3" AR Path="/5F34E267/5F345E39" Ref="U2" Part="3" -F 0 "U2" H 5200 2817 50 0000 C CNN +F 0 "U1" H 5200 2817 50 0000 C CNN F 1 "74LS04" H 5200 2726 50 0000 C CNN F 2 "" H 5200 2500 50 0001 C CNN F 3 "http://www.ti.com/lit/gpn/sn74LS04" H 5200 2500 50 0001 C CNN @@ -58,7 +58,7 @@ U 4 1 5F346E8B P 5900 2500 AR Path="/5F342DEB/5F346E8B" Ref="U1" Part="4" AR Path="/5F34E267/5F346E8B" Ref="U2" Part="4" -F 0 "U2" H 5900 2817 50 0000 C CNN +F 0 "U1" H 5900 2817 50 0000 C CNN F 1 "74LS04" H 5900 2726 50 0000 C CNN F 2 "" H 5900 2500 50 0001 C CNN F 3 "http://www.ti.com/lit/gpn/sn74LS04" H 5900 2500 50 0001 C CNN @@ -71,7 +71,7 @@ U 5 1 5F348270 P 6600 2500 AR Path="/5F342DEB/5F348270" Ref="U1" Part="5" AR Path="/5F34E267/5F348270" Ref="U2" Part="5" -F 0 "U2" H 6600 2817 50 0000 C CNN +F 0 "U1" H 6600 2817 50 0000 C CNN F 1 "74LS04" H 6600 2726 50 0000 C CNN F 2 "" H 6600 2500 50 0001 C CNN F 3 "http://www.ti.com/lit/gpn/sn74LS04" H 6600 2500 50 0001 C CNN @@ -84,7 +84,7 @@ U 6 1 5F348D95 P 7300 2500 AR Path="/5F342DEB/5F348D95" Ref="U1" Part="6" AR Path="/5F34E267/5F348D95" Ref="U2" Part="6" -F 0 "U2" H 7300 2817 50 0000 C CNN +F 0 "U1" H 7300 2817 50 0000 C CNN F 1 "74LS04" H 7300 2726 50 0000 C CNN F 2 "" H 7300 2500 50 0001 C CNN F 3 "http://www.ti.com/lit/gpn/sn74LS04" H 7300 2500 50 0001 C CNN @@ -97,7 +97,7 @@ U 7 1 5F34A12F P 5500 3500 AR Path="/5F342DEB/5F34A12F" Ref="U1" Part="7" AR Path="/5F34E267/5F34A12F" Ref="U2" Part="7" -F 0 "U2" H 5730 3546 50 0000 L CNN +F 0 "U1" H 5730 3546 50 0000 L CNN F 1 "74LS04" H 5730 3455 50 0000 L CNN F 2 "" H 5500 3500 50 0001 C CNN F 3 "http://www.ti.com/lit/gpn/sn74LS04" H 5500 3500 50 0001 C CNN @@ -110,7 +110,7 @@ U 1 1 5F34BC05 P 5500 3000 AR Path="/5F342DEB/5F34BC05" Ref="#PWR01" Part="1" AR Path="/5F34E267/5F34BC05" Ref="#PWR03" Part="1" -F 0 "#PWR03" H 5500 2850 50 0001 C CNN +F 0 "#PWR01" H 5500 2850 50 0001 C CNN F 1 "VCC" H 5515 3173 50 0000 C CNN F 2 "" H 5500 3000 50 0001 C CNN F 3 "" H 5500 3000 50 0001 C CNN @@ -123,7 +123,7 @@ U 1 1 5F34C535 P 5500 4000 AR Path="/5F342DEB/5F34C535" Ref="#PWR02" Part="1" AR Path="/5F34E267/5F34C535" Ref="#PWR04" Part="1" -F 0 "#PWR04" H 5500 3750 50 0001 C CNN +F 0 "#PWR02" H 5500 3750 50 0001 C CNN F 1 "GND" H 5505 3827 50 0000 C CNN F 2 "" H 5500 4000 50 0001 C CNN F 3 "" H 5500 4000 50 0001 C CNN @@ -148,4 +148,10 @@ Text HLabel 3350 2500 0 50 Input ~ 0 IN Wire Wire Line 3350 2500 3500 2500 +$Sheet +S 4500 5000 1000 500 +U 5F3BB8BB +F0 "Deeper test" 50 +F1 "deeper.sch" 50 +$EndSheet $EndSCHEMATC diff --git a/tests/board_samples/test_v5.sch b/tests/board_samples/test_v5.sch index 92e787d8..3b4ac3c9 100644 --- a/tests/board_samples/test_v5.sch +++ b/tests/board_samples/test_v5.sch @@ -3,7 +3,7 @@ EELAYER 30 0 EELAYER END $Descr A4 11693 8268 encoding utf-8 -Sheet 1 3 +Sheet 1 5 Title "Title" Date "2020-08-12" Rev "r1B" diff --git a/tests/board_samples/v5_errors/kibom-test.sch b/tests/board_samples/v5_errors/kibom-test.sch index 4359e3bf..b5cf2af0 100644 --- a/tests/board_samples/v5_errors/kibom-test.sch +++ b/tests/board_samples/v5_errors/kibom-test.sch @@ -1,4 +1,6 @@ EESchema Schematic File Version 4 +LIBS:t1 +LIBS:t2 EELAYER 30 0 EELAYER END $Descr A4 11693 8268 @@ -20,7 +22,7 @@ P 2200 2550 F 0 "R1" V 2280 2550 50 0000 C CNN F 1 "10K" V 2200 2550 50 0000 C CNN F 2 "Resistor_SMD:R_0805_2012Metric" V 2130 2550 50 0001 C CNN -F 3 "~" H 2200 2550 50 0001 C CNN +F 3 "Missing lib" H 2200 2550 50 0001 C CNN 1 2200 2550 1 0 0 -1 $EndComp @@ -31,40 +33,41 @@ P 2500 2550 F 0 "R2" V 2580 2550 50 0000 C CNN F 1 "10K" V 2500 2550 50 0000 C CNN F 2 "Resistor_SMD:R_0805_2012Metric" V 2430 2550 50 0001 C CNN -F 3 "~" H 2500 2550 50 0001 C CNN +F 3 "A lib with DCM but no R in the DCM" H 2500 2550 50 0001 C CNN 1 2500 2550 1 0 0 -1 $EndComp $Comp -L Device:R R3 +L Device:R R? U 1 1 5E6A35E1 P 2750 2550 F 0 "R3" V 2830 2550 50 0000 C CNN F 1 "10K" V 2750 2550 50 0000 C CNN F 2 "Resistor_SMD:R_0805_2012Metric" V 2680 2550 50 0001 C CNN -F 3 "~" H 2750 2550 50 0001 C CNN +F 3 "Not annotated, but F0 says R3" H 2750 2550 50 0001 C CNN 1 2750 2550 1 0 0 -1 $EndComp $Comp -L Device:R R4 +L Device:R R? U 1 1 5E6A37B2 P 3000 2550 -F 0 "R4" V 3080 2550 50 0000 C CNN +AR Path="/5F342DEB/5F34307A" Ref="R4" Part="1" +F 0 "R?" V 3080 2550 50 0000 C CNN F 1 "10K" V 3000 2550 50 0000 C CNN F 2 "Resistor_SMD:R_0805_2012Metric" V 2930 2550 50 0001 C CNN -F 3 "~" H 3000 2550 50 0001 C CNN +F 3 "Not annotated, but a path says R4" H 3000 2550 50 0001 C CNN 1 3000 2550 1 0 0 -1 $EndComp $Comp -L Device:R R5 +L R R5 U 1 1 5E6A39EB P 3250 2550 F 0 "R5" V 3330 2550 50 0000 C CNN F 1 "10K" V 3250 2550 50 0000 C CNN F 2 "Resistor_SMD:R_0805_2012Metric" V 3180 2550 50 0001 C CNN -F 3 "~" H 3250 2550 50 0001 C CNN +F 3 "No lib!" H 3250 2550 50 0001 C CNN 1 3250 2550 1 0 0 -1 $EndComp @@ -101,9 +104,11 @@ P 2750 3100 F 0 "R8" V 2830 3100 50 0000 C CNN F 1 "4.7K" V 2750 3100 50 0000 C CNN F 2 "Resistor_SMD:R_0805_2012Metric" V 2680 3100 50 0001 C CNN -F 3 "~" H 2750 3100 50 0001 C CNN +F 3 "Extra lines before $EndComp" H 2750 3100 50 0001 C CNN 1 2750 3100 1 0 0 -1 +bla +bla $EndComp Text Notes 3500 3150 0 50 ~ 0 3 x 4K7 resistors in 0805 package\nNote: Values are identical even if specified differently diff --git a/tests/test_plot/test_int_bom.py b/tests/test_plot/test_int_bom.py index 7236ec1c..395f762a 100644 --- a/tests/test_plot/test_int_bom.py +++ b/tests/test_plot/test_int_bom.py @@ -931,21 +931,23 @@ def test_int_bom_no_test_regex(): def test_int_bom_sub_sheet_alt(): - """ Test for 1 sub sheet used twice. + """ Test for 2 sub sheets used twice. Also stress the v5 loader. Also tests sheet path and no grouping with multi-part components """ prj = 'test_v5' ext = 'csv' ctx = context.TestContextSCH('test_int_bom_sub_sheet_alt', prj, 'int_bom_sheet_path', BOM_DIR) - ctx.run() # extra_debug=True + ctx.run(extra_debug=True) out = prj + '-bom.' + ext rows, header, info = ctx.load_csv(out) assert header == KIBOM_TEST_HEAD[:-1] + ['Sheetpath'] ref_column = header.index(REF_COLUMN_NAME) sp_column = header.index('Sheetpath') - check_kibom_test_netlist(rows, ref_column, 6, [], ['C1', 'L1', 'R1', 'R2', 'U1', 'U2']) + check_kibom_test_netlist(rows, ref_column, 8, [], ['R3', 'R4', 'C1', 'L1', 'R1', 'R2', 'U1', 'U2']) check_path(rows, 'U1', ref_column, sp_column, '/Sub Sheet') check_path(rows, 'U2', ref_column, sp_column, '/Sub Sheet 2') + check_path(rows, 'R3', ref_column, sp_column, '/Sub Sheet/Deeper test') + check_path(rows, 'R4', ref_column, sp_column, '/Sub Sheet 2/Deeper test') ctx.clean_up()