Added tests for various strange cases that shouldn't interfere

Partial annotations, deeper hierarchy, etc.
This commit is contained in:
SET 2020-08-15 10:25:18 -03:00
parent b8b4c87f25
commit 90dee902ed
5 changed files with 66 additions and 24 deletions

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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()