Added test for missing id in position columns.

Also excluded KiCad 6 code from out_position.
This commit is contained in:
Salvador E. Tropea 2021-02-02 11:17:09 -03:00
parent ec273da57b
commit 56fa06ef15
3 changed files with 36 additions and 3 deletions

View File

@ -184,7 +184,7 @@ class PositionOptions(VariantOptions):
@staticmethod
def is_pure_smd_6(m):
return m.GetAttributes() & (MOD_THROUGH_HOLE | MOD_SMD) == MOD_SMD
return m.GetAttributes() & (MOD_THROUGH_HOLE | MOD_SMD) == MOD_SMD # pragma: no cover (Ki6)
@staticmethod
def is_not_virtual_5(m):
@ -192,13 +192,13 @@ class PositionOptions(VariantOptions):
@staticmethod
def is_not_virtual_6(m):
return not (m.GetAttributes() & MOD_EXCLUDE_FROM_POS_FILES)
return not (m.GetAttributes() & MOD_EXCLUDE_FROM_POS_FILES) # pragma: no cover (Ki6)
@staticmethod
def get_attr_tests():
if GS.kicad_version_n < KICAD_VERSION_5_99:
return PositionOptions.is_pure_smd_5, PositionOptions.is_not_virtual_5
return PositionOptions.is_pure_smd_6, PositionOptions.is_not_virtual_6
return PositionOptions.is_pure_smd_6, PositionOptions.is_not_virtual_6 # pragma: no cover (Ki6)
def get_targets(self, parent, out_dir):
ext = 'pos' if self.format == 'ASCII' else 'csv'

View File

@ -633,3 +633,10 @@ def test_error_makefile_wrong_out(test_dir):
ctx.run(WRONG_ARGUMENTS)
assert ctx.search_err("Unknown output `position` selected in")
ctx.clean_up()
def test_error_no_column_id(test_dir):
ctx = context.TestContext(test_dir, 'test_error_no_column_id', 'bom', 'error_no_column_id', '')
ctx.run(EXIT_BAD_CONFIG)
assert ctx.search_err("Missing or empty `id` in columns list")
ctx.clean_up()

View File

@ -0,0 +1,26 @@
kibot:
version: 1
outputs:
- name: 'position'
comment: "Pick and place file, JLC style"
type: position
options:
variant: default
output: '%f_cpl_jlc.%x'
format: CSV
units: millimeters
separate_files_for_front_and_back: false
only_smd: true
columns:
- name: Designator
- Val
- Package
- id: PosX
name: "Mid X"
- id: PosY
name: "Mid Y"
- id: Rot
name: Rotation
- id: Side
name: Layer