Commit Graph

284 Commits

Author SHA1 Message Date
Salvador E. Tropea d5a31c6d87 Added tests for the missing lines in out_ibom.py. 2021-02-01 17:12:40 -03:00
Salvador E. Tropea f7826a7667 Added tests to cover missing lines in out_pdf_pcb_print.py 2021-02-01 15:51:04 -03:00
Salvador E. Tropea e3766519ac Added test for the warning about filenames with $. 2021-02-01 14:53:38 -03:00
Salvador E. Tropea d9986b0599 Added PCBDraw case to the makefile test. 2021-01-29 12:22:31 -03:00
Salvador E. Tropea e6163ae5aa Added drill case to makefile test. 2021-01-29 11:54:09 -03:00
Salvador E. Tropea 4466277bde Added KiBoM case to the makefile test. 2021-01-29 11:24:51 -03:00
Salvador E. Tropea c64fb3871c Added test for STEP file in makefile 2021-01-29 10:37:05 -03:00
Salvador E. Tropea 54febcae44 Added comments and no target pre-flights to the makefile test. 2021-01-29 09:34:46 -03:00
Salvador E. Tropea 51aeb5be32 Added test for run_erc in makefile. 2021-01-29 09:27:02 -03:00
Salvador E. Tropea 6965d73c4e Added test for ibom in makefile 2021-01-29 09:07:17 -03:00
Salvador E. Tropea f29c0c5361 Added more test for compress output. 2021-01-29 08:46:23 -03:00
Salvador E. Tropea 37eefac973 Added tests for some ouyt_compress special cases.
- No rar
- rar fails
- rar file exists
- Empty output
2021-01-28 17:33:01 -03:00
Salvador E. Tropea 8299ed5d96 Added tests for the new options to control protel extensions. 2021-01-28 15:38:19 -03:00
Salvador E. Tropea 84470bbc11 Added first makefile generation test 2021-01-28 12:43:01 -03:00
Salvador E. Tropea c4c33af680 Added some compress tests.
Covers zip, tr.bz2 and rar creation for internal BoM, position and
gerber files.
2021-01-27 16:12:46 -03:00
Salvador E. Tropea eea93ea8ec Improved rotation filter coverage
- Check errors
- Try extra debug
2021-01-27 13:35:37 -03:00
Salvador E. Tropea 01459ce85e Added tests for merged BoMs for HTML, XML and XLSX formats. 2021-01-27 12:22:03 -03:00
Salvador E. Tropea f279e7319e Added test for a BoM from multiple projects. 2021-01-27 11:51:26 -03:00
Salvador E. Tropea 65833dc333 Internal BoM: The "Quantity" column no longer includes the DNF/C status.
- This status was moved to a separated column named `Status`.
- You can join both columns if you want.
Some people pointed out that adding characters to the qty column prevents
computations applied to the CSV files.
2021-01-12 15:21:34 -03:00
Salvador E. Tropea 9a1e1f39e7 Internal BoM: added `no_conflict` option.
Used to exclude fields from conflict detection.
2021-01-05 12:09:29 -03:00
Salvador E. Tropea edd4a72277 Better handling of empty type/name attributes in YAML config.
From #38
2021-01-04 16:27:52 -03:00
Salvador E. Tropea 4a3e7faace Added a new filter used to rotate footprints.
Used to generate position files for some manufacturers like JLC.
Also in this patch:
- Now position files are naturally sorted (R10 after R9, not after R1)
- Position files in CSV format quotes only the columns that could
  contain an space. Just like KiCad does.
- Fixed: Generic filter `include_only` option worked only when debug
  enabled.
2020-12-28 18:26:27 -03:00
Salvador E. Tropea 0f7a55dc8b Added support to generate negative X positions for the bottom layer 2020-12-28 09:30:33 -03:00
Salvador E. Tropea 9f8ecff5d1 Added support to rename fields matching the variant to value. 2020-12-23 12:11:39 -03:00
Salvador E. Tropea 204ad189de Changed how variant field renamer is implemented.
- Now is a separated filter type (`var_rename`).
- Now all variants support a `pre_transform` filter list.
- An internal `_var_rename` filter is defined (default).
2020-12-23 10:19:23 -03:00
Salvador E. Tropea 986f0c7157 KiBoM variants: support to field overwrite according to variant 2020-12-18 15:39:58 -03:00
Salvador E. Tropea d201843b6a File name patterns are allowed for the `netlist_file` option.
- Closes #33
- File name patterns: %F is the name of the source file without
  extension, but with the path.
2020-12-16 11:10:36 -03:00
Salvador E. Tropea 1248e92b95 Fixed Internal BoM separator wasn't applied when using `use_alt`
From the SchrodingersGat/KiBoM#145 PR.
2020-11-11 14:32:20 -03:00
Salvador E. Tropea 577713efeb Fixed excellon drill output.
When using unified output and not using default KiCad names.
Fixes #25
2020-11-02 16:07:05 -03:00
Salvador E. Tropea b27872d7e8 Fixed problems when using the `pdf_pcb_print` on special case.
When using variants to remove a component with ridiculous pads
that only has solder paste (no copper, nor even solder mask
aperture).
2020-10-27 17:58:51 -03:00
Salvador E. Tropea de9628e5c1 Added columns configuration for position files.
You can customize which columns are used, their names and order.
Closes #22
2020-10-23 14:18:11 -03:00
Salvador E. Tropea c80fc49b54 Added infraestructure to support KiCad 6 tests. 2020-10-14 18:03:18 -03:00
Salvador E. Tropea 257a6ff2fa Added support for --mirror pcbnew_do export option.
It currently works only for KiCad 5.99
2020-10-14 12:34:00 -03:00
Salvador E. Tropea 86ead74c27 Added KiBot warning filters.
- Closes #15
- This patch also changes the logging initialization, that was broken at
  some recent point.
- Also adds tests to ensure the mechanism used to avoid repeated
  warnings is working.
2020-10-12 16:31:47 -03:00
Salvador E. Tropea 1aee407cb9 Fixed KiBom variants special cases.
When using multiple variants and a components used more than one,
specifying oposite rules.
2020-10-09 16:00:52 -03:00
Salvador E. Tropea 71fe37cfc6 Support for new `pcbnew_do export` options. 2020-10-09 11:27:30 -03:00
Salvador E. Tropea 27e4c23236 Added support for reference separator in BoMs.
So you can get things like "R1, R2, R3"
From the following PR: SchrodingersGat/KiBoM#139
by @n0dyjeff
2020-09-19 17:35:31 -03:00
Salvador E. Tropea 257b9fdd3f Added tests for global and command line variant selection. 2020-09-12 08:24:47 -03:00
Salvador E. Tropea 23e46df1c5 Added variants support to the PCB print (PDF)
Needs some adjustement, but is working.
2020-09-07 19:26:16 -03:00
Salvador E. Tropea 0e394b468b Added variants support to the schematic SVG print. 2020-09-06 18:22:38 -03:00
Salvador E. Tropea 59ddbaa41f Adjusted the tests for IBoM's variants support.
- Removed the extra filters that aren't needed now.
- Added a couple of test cases to cover special situations.
2020-09-05 19:31:29 -03:00
Salvador E. Tropea d719718eca Moved KiBoM default behavior to the KiBoM variant.
So it can be applied to other outputs.
2020-09-05 18:58:26 -03:00
Salvador E. Tropea 7e5791fcfa Added variants to the IBoM output. 2020-09-05 17:48:25 -03:00
Salvador E. Tropea d09400d49d Added support for variants to the PcbDraw output. 2020-09-04 18:08:22 -03:00
Salvador E. Tropea dab7baa2d4 Fixed show_components validation in out_pcbdraw.
The same error could be in other places.
I had to change the internal logic in Optionable.
The old code allowed invalid values to be used.
2020-09-04 18:06:17 -03:00
Salvador E. Tropea cf46a8ba86 Added variants support to the STEP output.
3D Models of excluded components are removed.
2020-09-03 18:50:30 -03:00
Salvador E. Tropea b36e276969 Added crosses in the *.Fab layer for excluded components. 2020-09-03 17:17:08 -03:00
Salvador E. Tropea c56af11007 Added variants to all the PCB plot outputs.
Tested for gerbers that are currently excluding pads from *.Paste.
2020-09-03 11:11:03 -03:00
Salvador E. Tropea 26ee971e26 Added variants suport to out_position
Also: we never include virtual components.
2020-09-02 18:08:50 -03:00
Salvador E. Tropea 42562185ea Added filter options using PCB attributes.
KiCad 6 will break this, we'll see how to adapt.
2020-09-02 14:48:26 -03:00
Salvador E. Tropea e0de652105 Added more tests for the filters and variants. 2020-09-01 18:49:38 -03:00
Salvador E. Tropea 7f6144e32e Added tests for sch_variant and pdf_print_sch
For the filter and variant stuff.
2020-09-01 16:56:31 -03:00
Salvador E. Tropea 744aa3b9c5 Added a simple output to generate filtered schematics.
They can display DNF components crossed!
2020-08-31 20:51:20 -03:00
Salvador E. Tropea 0f0aa71baa Added more tests for the filters and variants 2020-08-30 11:55:35 -03:00
Salvador E. Tropea c0a1867dd5 Added support for filters to the internal BoM generator.
- Now we can configure more details, like the DNC.
- We can also mix KiBoM and IBoM strategies.
- Adapted the test examples that used filtering.
2020-08-29 17:41:57 -03:00
Salvador E. Tropea 249caad348 Implemented the IBoM variants styles.
The core functionality is now tested in the internal BoM.
The IBoM output needs adjust to allow using the variants with it.
2020-08-28 20:12:21 -03:00
Salvador E. Tropea 0bdce78004 Implemented the new variants mechanism in the internal BoM. 2020-08-28 16:49:20 -03:00
Salvador E. Tropea 3023035b75 Added tests for PcbDraw JPG and PNG outputs 2020-08-25 13:47:49 -03:00
Salvador E. Tropea 140a45fdc6 Fixed variants BoM logic.
The variants logic for BoMs when a component resquested to be only
added to more than one variant.
This is related to SchrodingersGat/KiBoM#136 issue.
2020-08-24 10:53:56 -03:00
SET 89914443f0 Renamed the kiplot module as kibot.
Also added src/kibot script.
Updated the documentation and Debian packaging.
The default extension for config files now is .kibot.yaml
2020-08-16 22:04:03 -03:00
SET 15dbf9cce3 Added test for the new SVG output 2020-08-16 17:32:40 -03:00
SET bfa912b67f Added test case for variants as an empty string. 2020-08-16 00:24:21 -03:00
SET 71d1ee3bc7 Added better generic example generation.
To add more realistic defaults.
2020-08-15 23:59:39 -03:00
SET 991f070e9f Added variants test. 2020-08-15 20:33:09 -03:00
SET 767bb4d4c6 Added style tests for HTML. 2020-08-14 13:06:27 -03:00
SET a4082e617f Added test for custom style in HTML. 2020-08-14 13:02:45 -03:00
SET 92e4209ca4 Added tests for bogus and custom logo for HTML 2020-08-14 12:29:47 -03:00
SET 815e475b8d Added tests to exclude PCB and/or Stats info in CSV files. 2020-08-14 11:13:45 -03:00
SET ea8f318696 Added tests for TXT and quote_all 2020-08-14 10:21:21 -03:00
SET bcba581a01 Changed True -> true to make it uniform.
All YAML files are using lowecase.
2020-08-13 23:08:44 -03:00
SET 87a1a97e9a Added test for RLC normalization. 2020-08-13 22:46:53 -03:00
SET b60b0ef680 Added test for wrong logo format. 2020-08-12 20:35:34 -03:00
SET 3df9e8b1c7 Added test for invalid column name 2020-08-12 20:32:35 -03:00
SET 535949e159 Added test for explicit exclude_any regex 2020-08-12 20:10:34 -03:00
SET 1dcda68cbc Added tests for missing styles and logos. 2020-08-12 19:49:27 -03:00
SET 7f45f022c7 Added tests for various HTML header layouts. 2020-08-12 19:13:41 -03:00
SET c263859de6 Made the "Total Compomponents" label coherent between HTML and XLSX 2020-08-12 19:12:35 -03:00
SET eef8041843 Better test for multiple digikey links 2020-08-12 17:56:14 -03:00
SET ec821f7809 Added test for multiple digikey links. 2020-08-12 17:35:55 -03:00
SET 5a1a38a0ca Added test for missing field in column list (internal BoM) 2020-08-12 17:34:05 -03:00
SET 768d67d0ad Added datasheet and digikey link tests for XLSX 2020-08-12 15:40:47 -03:00
SET 56c30f4227 Added test for "generate_dnf: false" for the XLSX 2020-08-12 14:35:27 -03:00
SET 3687ccb0bf Forced column wrap during the tests of XLSX format. 2020-08-12 13:33:07 -03:00
SET 92cdf49c2d Added XLSX tests for style variations.
Just tested they are accepted, not correctness.
2020-08-12 13:03:08 -03:00
SET 88940119f6 Added test for XLSX header information.
Covering various situations, not all.
2020-08-12 12:05:40 -03:00
SET 51802aa42b Added sheetpath + SCH load + sub-sheet recycle test.
A sheet is included twice to test dual reference names.
The SCH contains all the possible KiCad elements.
2020-08-12 09:53:47 -03:00
SET 3a6550cf07 Added test for `test_regex` 2020-08-11 18:58:17 -03:00
SET 0f4fa12f1f Added "include_only" test. 2020-08-11 18:51:35 -03:00
SET 6d50e4bd27 Added test for non contiguous reference ranges. 2020-08-11 13:40:48 -03:00
SET d49d3b498f Added test for empty list of group fields. 2020-08-11 13:21:50 -03:00
SET 2995270155 Added tests for merge_blank_fields and component_aliases 2020-08-11 12:26:30 -03:00
Salvador E. Tropea 46c55fcf91 Separated the format specific options for internal BoM
And now we have more options.
- CVS: can quote all values.
- HTML and XLSX: styles adjust, including a logo.
- XLSX: now has the same options as HTML
Also a fix in the "join" mechanism for "case insensitive" support.
2020-08-05 19:57:32 -03:00
Salvador E. Tropea 5be7254594 Now the row number column is a regular column.
Its name is `Row` and you can put everywhere.
No `number_rows` option needed or special cases, is just another column
2020-08-01 18:31:26 -03:00
Salvador E. Tropea a2ef1359d0 Added test for the KiBoM bug about columns not fully case insensitive. 2020-08-01 16:24:28 -03:00
Salvador E. Tropea 9c8830eefa Added test for the connectors grouping. 2020-08-01 16:07:51 -03:00
Salvador E. Tropea 2ef0aa060c Added XML and XLSX tests for the column rename. 2020-08-01 15:43:18 -03:00
Salvador E. Tropea d1fd04d4d2 Added column rename test for HTML. 2020-08-01 15:36:29 -03:00
Salvador E. Tropea c3c86bc4ae Added column rename test for the internal BoM. 2020-08-01 15:19:10 -03:00
Salvador E. Tropea b2189991fc Added test for `number_rows` internal BoM option 2020-08-01 14:43:08 -03:00
Salvador E. Tropea b3811b78cc Added test for `use_alt` internal BoM option 2020-08-01 14:36:21 -03:00
Salvador E. Tropea 6c26bd4ec6 Added test for the `html_generate_dnf` internal BoM. 2020-08-01 14:24:35 -03:00
Salvador E. Tropea 1455ccdc2a Added missing config file for last test. 2020-08-01 14:24:03 -03:00
Salvador E. Tropea 22b624037c Added test for the internal BoM "Join" feature. 2020-08-01 13:17:27 -03:00
Salvador E. Tropea 0e5f9afc39 Added test for "digikey link" in the internal BoM. 2020-08-01 12:29:49 -03:00
Salvador E. Tropea 570553b616 Added test for "datasheet_as_link" 2020-07-31 20:38:18 -03:00
Salvador E. Tropea 5058af5038 Added tests for XML and XLSX internal BoM 2020-07-31 19:31:36 -03:00
Salvador E. Tropea 7d56b59ba4 Added simple CSV and HTML test for the internal BoM. 2020-07-31 14:06:54 -03:00
Salvador E. Tropea 7dc94bf7be Added default output file name pattern.
Can be applied to all outputs.
2020-07-23 18:26:03 -03:00
Salvador E. Tropea 43b97db20c Now IBoM output file is coherent with other outputs.
The user can select the IBoM name mechanism, but the default is to use
a name coherent with all the other outputs.
2020-07-22 19:51:35 -03:00
Salvador E. Tropea 165d9aa15d Added full KiBoM configuration from the YAML config. 2020-07-22 18:33:53 -03:00
Salvador E. Tropea 3822a39671 Added _pos to all position formats in the ID field. 2020-07-12 18:59:50 -03:00
Salvador E. Tropea 9d10c991da Changed default name for step files (adds -3D) 2020-07-12 18:55:08 -03:00
Salvador E. Tropea 031c69e27c Added `position` output configuration. 2020-07-12 18:46:37 -03:00
Salvador E. Tropea 36eedc9fce Added `drill` output configuration 2020-07-12 17:43:15 -03:00
Salvador E. Tropea b8b1277f5f Drill map file names can be configured. 2020-07-12 17:01:23 -03:00
Salvador E. Tropea b6347d8992 Drill report now uses %i='drill_report' %x='txt' 2020-07-12 16:27:46 -03:00
Salvador E. Tropea 41de8c032c Added `output` option to control the file name to all plot output formats. 2020-07-12 13:00:38 -03:00
Salvador E. Tropea e2854ef524 Added gerber.gerber_job_file option to control the gerber job file name. 2020-07-12 12:28:00 -03:00
Salvador E. Tropea 63999aa009 Preflight filters parsed by Optionable class.
This makes the filters similar to output options.
- Adds coherence to error messages.
- Enable aliases (used the ones suggested by @leoheck)
Additionally now the README.md preflights documentation comes directly
from --help-preflights
2020-07-12 11:52:44 -03:00
Salvador E. Tropea 52e6bb1b5f Added support for PcbDraw 2020-07-11 13:49:03 -03:00
Salvador E. Tropea f72ff3f441 Extra dot in step.metric_units docstring.
Remove dead code in check_eeschema_do()
Fixed the way we read scale stuff from a PCB
Added special checks for check_script and check_version
2020-07-09 12:50:27 -03:00
Salvador E. Tropea 587ef177b3 Added test for corrupted PCB, skip a preflight that isn't in use and output
plugin
2020-07-09 09:54:25 -03:00
Salvador E. Tropea a48e9ecc96 Added tests to cover out_pdf_pcb_print.py, error case left out 2020-07-09 09:20:52 -03:00
Salvador E. Tropea d4677a2c2e Added tests for:
- Inner layer that doesn't exist
- Technical layers
- Wrong layer group/spec
2020-07-08 23:34:45 -03:00
Salvador E. Tropea 995b6990aa Added HPGL and PS autoscaling tests.
Added test for example in a dir that must be created.
Removed code not used in docstring trim.
2020-07-08 23:16:04 -03:00
Salvador E. Tropea 8f17733354 Added PS autoscale and --example -p without PCB tests. 2020-07-08 22:55:41 -03:00
Salvador E. Tropea 42342236da Added test fro KiBoM with variant and print_sch_pdf fail. 2020-07-08 22:42:24 -03:00
Salvador E. Tropea 05460f4541 Added test for wrong boolean 2020-07-08 21:06:35 -03:00
Salvador E. Tropea 1917b4c601 Added more tests for errors 2020-07-08 20:41:16 -03:00
Salvador E. Tropea 307bed3a36 Added more preflight tests 2020-07-08 19:49:33 -03:00
Salvador E. Tropea 4111131008 Added test for run_erc not boolean. 2020-07-08 16:47:07 -03:00
Salvador E. Tropea 922b853084 Fixed ignore_unconnected.
Also added a test and a test for the error type.
Additionally the BasePreflight now provides default run/apply members.
2020-07-08 16:29:30 -03:00
Salvador E. Tropea 4368364489 Refactored the BaseOutput class to make it more similar to the YAML
Now the options are just an attribute of the outputs.
It means we have a set of classes for the options.
All the output content is parsed by the classes, including the Layers.
Now the layers support a simple string (with interesting shortcuts), a list of
strings or the original list of dicts.
2020-07-08 15:17:24 -03:00
Salvador E. Tropea 1c4c94cfa2 Some super() use clean-up.
Now using Python3 style everywhere.
Added some missing calls to allow more cases of use.
2020-07-05 19:11:52 -03:00
Salvador E. Tropea 1ca21efe94 Now the docstring for string options can specify a list of allowed values
This reduces the number of setters/getters we need to write.
On the other side the time to validate the YAML is increased.
2020-07-02 09:25:06 -03:00
Salvador E. Tropea ec35d2443f Added option to copy plot options from the PCB to the YAML example.
Also added DXF.metric_units and updated the README.
2020-07-01 20:43:03 -03:00
Salvador E. Tropea 3a1d5d0652 Added pen_number and pen_speed HPGL options 2020-07-01 11:11:33 -03:00
Salvador E. Tropea be8339ddff Added tests to cover all the out_any_drill.py errors. 2020-06-30 22:57:59 -03:00
Salvador E. Tropea c82c2f0c39 Added support for all the missing IBoM options.
Note that variants_blacklist and variants_whitelist needs a fresh IBoM.
These options didn't work and crashed IBoM. It was reported as a result of
the tests included in this commit.
2020-06-27 15:04:35 -03:00
Salvador E. Tropea acd5592a45 Now the map.type and report.filename are deprecated in favor of map and report.
The old mechanism is supported, but removed from examples.
Added a test case for the new mechanism.
Documented the reason for the complex properties.
Added docstrings to these particular cases (with None as default).
2020-06-25 09:37:43 -03:00
Salvador E. Tropea a63e12579b Changed all the examples to set "sketch_plot" to false.
This is what we usually want, but this wasn't implemented.
2020-06-24 11:56:39 -03:00
Salvador E. Tropea 090aa6b8f1 Removed the "plot" option "check_zone_fills".
Not used and overlapped with the preflight option.
2020-06-24 11:26:08 -03:00
Salvador E. Tropea 19023ef4e6 Added tests to cover 100% of kiplot/config_reader.py
Mostly parser errors.
2020-06-19 23:38:09 -03:00
Salvador E. Tropea e34952a2a2 Fixed HPGL YAML example
Used an option that doesn't really apply to HPGL.
2020-06-19 15:51:08 -03:00
Salvador E. Tropea 3382b4fe7b Fixed the way options with arguments are passed to kicad2step. 2020-06-15 15:58:08 -03:00
Salvador E. Tropea 48fcb39f8d Added more variety to STEP options.
To cover more core during the tests.
2020-06-15 15:18:23 -03:00
Salvador E. Tropea fc19d2c6c0 Added tests for errors parsing STEP files generation. 2020-06-15 13:40:30 -03:00
Salvador E. Tropea 685fef2ef6 Added test for STEP files generation 2020-06-15 13:39:59 -03:00
Salvador E. Tropea 8374238b6d Added STEP configuration examples. 2020-06-15 13:23:41 -03:00
Salvador E. Tropea 0d9256fb24 The 'check_zone_fills' option is now independent of 'run_drc'
Implemented in a different way.
For all internal commands now we use Python bindings to fill the zones as
suggested by @arikrupnik in johnbeard/kiplot#11
For 'print_pcb' now we ask KiCad to do it before printing (needs v1.4.1)
2020-06-14 15:12:56 -03:00