Added tests for the new options to control protel extensions.

This commit is contained in:
Salvador E. Tropea 2021-01-28 15:38:19 -03:00
parent c31c2c17c2
commit 8299ed5d96
3 changed files with 142 additions and 0 deletions

View File

@ -40,6 +40,37 @@ ALL_LAYERS = ['B_Adhes',
'F_SilkS',
'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():
@ -116,3 +147,34 @@ def test_gerber_variant_1():
check_layers_exist(ctx, 'test', prj, ALL_LAYERS, '_(test)')
check_components(ctx, 'test', prj, ['F_Paste', 'F_Adhes'], '_(test)', ['R2'], ['C1', 'R1', 'R3', 'C2'])
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()

View File

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

View File

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