Added tests for the new options to control protel extensions.
This commit is contained in:
parent
c31c2c17c2
commit
8299ed5d96
|
|
@ -40,6 +40,37 @@ ALL_LAYERS = ['B_Adhes',
|
||||||
'F_SilkS',
|
'F_SilkS',
|
||||||
'Margin',
|
'Margin',
|
||||||
]
|
]
|
||||||
|
ALL_EXTS = ['gba',
|
||||||
|
'gbr',
|
||||||
|
'gbl',
|
||||||
|
'gbr',
|
||||||
|
'gbs',
|
||||||
|
'gbp',
|
||||||
|
'gbo',
|
||||||
|
'gbr',
|
||||||
|
'gbr',
|
||||||
|
'gbr',
|
||||||
|
'gbr',
|
||||||
|
'gm1',
|
||||||
|
'gta',
|
||||||
|
'gbr',
|
||||||
|
'gtl',
|
||||||
|
'gbr',
|
||||||
|
'gts',
|
||||||
|
'gtp',
|
||||||
|
'gto',
|
||||||
|
'gbr',
|
||||||
|
]
|
||||||
|
INNER_LAYERS = ['GND_Cu',
|
||||||
|
'Power_Cu',
|
||||||
|
'Signal1_Cu',
|
||||||
|
'Signal2_Cu',
|
||||||
|
]
|
||||||
|
INNER_EXTS = ['g2',
|
||||||
|
'g5',
|
||||||
|
'g3',
|
||||||
|
'g4',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def test_gerber_2layer():
|
def test_gerber_2layer():
|
||||||
|
|
@ -116,3 +147,34 @@ def test_gerber_variant_1():
|
||||||
check_layers_exist(ctx, 'test', prj, ALL_LAYERS, '_(test)')
|
check_layers_exist(ctx, 'test', prj, ALL_LAYERS, '_(test)')
|
||||||
check_components(ctx, 'test', prj, ['F_Paste', 'F_Adhes'], '_(test)', ['R2'], ['C1', 'R1', 'R3', 'C2'])
|
check_components(ctx, 'test', prj, ['F_Paste', 'F_Adhes'], '_(test)', ['R2'], ['C1', 'R1', 'R3', 'C2'])
|
||||||
ctx.clean_up(keep_project=True)
|
ctx.clean_up(keep_project=True)
|
||||||
|
|
||||||
|
|
||||||
|
def test_gerber_protel_1():
|
||||||
|
prj = 'good-project'
|
||||||
|
ctx = context.TestContext('test_gerber_protel_1', prj, 'gerber_inner_protel_1', GERBER_DIR)
|
||||||
|
ctx.run()
|
||||||
|
exts = ALL_EXTS+INNER_EXTS
|
||||||
|
for n, suf in enumerate(ALL_LAYERS+INNER_LAYERS):
|
||||||
|
ctx.expect_out_file(os.path.join(GERBER_DIR, prj+'_'+suf+'.'+exts[n]))
|
||||||
|
ctx.clean_up()
|
||||||
|
|
||||||
|
|
||||||
|
def test_gerber_protel_2():
|
||||||
|
prj = 'good-project'
|
||||||
|
ctx = context.TestContext('test_gerber_protel_2', prj, 'gerber_inner_protel_2', GERBER_DIR)
|
||||||
|
ctx.run()
|
||||||
|
inner = ['gin'+str(int(layer[-1])-1) for layer in INNER_EXTS]
|
||||||
|
exts = ALL_EXTS+inner
|
||||||
|
files = []
|
||||||
|
for n, suf in enumerate(ALL_LAYERS+INNER_LAYERS):
|
||||||
|
ext = exts[n]
|
||||||
|
if ext == 'gm1':
|
||||||
|
ext = 'e_cut'
|
||||||
|
file = os.path.join(GERBER_DIR, prj+'_'+suf+'.'+ext.upper())
|
||||||
|
ctx.expect_out_file(file)
|
||||||
|
files.append(file)
|
||||||
|
assert ctx.search_err('Layer "Inner layer 6" isn\'t used')
|
||||||
|
ctx.search_in_file(os.path.join(GERBER_DIR, 'Report.txt'),
|
||||||
|
['Top layer: good-project_F_Cu.GTL', 'Basename: good-project'])
|
||||||
|
ctx.test_compress(prj+'-result.tar.gz', files)
|
||||||
|
ctx.clean_up()
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Example KiBot config file for a basic 2-layer board
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: 'gerbers'
|
||||||
|
comment: "Gerbers for the Gerber god"
|
||||||
|
type: gerber
|
||||||
|
dir: gerberdir
|
||||||
|
options:
|
||||||
|
# generic layer options
|
||||||
|
exclude_edge_layer: false
|
||||||
|
exclude_pads_from_silkscreen: false
|
||||||
|
use_aux_axis_as_origin: false
|
||||||
|
plot_sheet_reference: false
|
||||||
|
plot_footprint_refs: true
|
||||||
|
plot_footprint_values: true
|
||||||
|
force_plot_invisible_refs_vals: false
|
||||||
|
tent_vias: true
|
||||||
|
|
||||||
|
# gerber options
|
||||||
|
line_width: 0.15
|
||||||
|
subtract_mask_from_silk: true
|
||||||
|
use_protel_extensions: true
|
||||||
|
gerber_precision: 4.6
|
||||||
|
create_gerber_job_file: false
|
||||||
|
gerber_job_file: 'test-%f.%x'
|
||||||
|
use_gerber_x2_attributes: true
|
||||||
|
use_gerber_net_attributes: false
|
||||||
|
output: '%f_%i.%x'
|
||||||
|
|
||||||
|
layers: all
|
||||||
|
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Example KiBot config file for a basic 2-layer board
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: 'gerbers'
|
||||||
|
comment: "Gerbers for the Gerber god"
|
||||||
|
type: gerber
|
||||||
|
dir: gerberdir
|
||||||
|
options:
|
||||||
|
# generic layer options
|
||||||
|
exclude_edge_layer: false
|
||||||
|
exclude_pads_from_silkscreen: false
|
||||||
|
use_aux_axis_as_origin: false
|
||||||
|
plot_sheet_reference: false
|
||||||
|
plot_footprint_refs: true
|
||||||
|
plot_footprint_values: true
|
||||||
|
force_plot_invisible_refs_vals: false
|
||||||
|
tent_vias: true
|
||||||
|
# gerber options
|
||||||
|
line_width: 0.15
|
||||||
|
subtract_mask_from_silk: true
|
||||||
|
use_protel_extensions: true
|
||||||
|
gerber_precision: 4.6
|
||||||
|
create_gerber_job_file: false
|
||||||
|
gerber_job_file: 'test-%f.%x'
|
||||||
|
use_gerber_x2_attributes: true
|
||||||
|
use_gerber_net_attributes: false
|
||||||
|
output: '%f_%i.%x'
|
||||||
|
inner_extension_pattern: '.gin%n'
|
||||||
|
edge_cut_extension: '.e_cut'
|
||||||
|
uppercase_extensions: true
|
||||||
|
custom_reports:
|
||||||
|
- output: 'Report.txt'
|
||||||
|
content: 'Top layer: ${filename(F.Cu)}\nBasename: ${basename}\n'
|
||||||
|
|
||||||
|
layers: [all, In6.Cu]
|
||||||
|
|
||||||
|
- name: result
|
||||||
|
comment: Test tarball compress
|
||||||
|
type: compress
|
||||||
|
options:
|
||||||
|
format: TAR
|
||||||
|
compression: deflated
|
||||||
|
files:
|
||||||
|
- from_output: gerbers
|
||||||
|
|
||||||
Loading…
Reference in New Issue