Commit Graph

1150 Commits

Author SHA1 Message Date
Salvador E. Tropea b6347d8992 Drill report now uses %i='drill_report' %x='txt' 2020-07-12 16:27:46 -03:00
Salvador E. Tropea bc52d932b0 Changed default file name for pdf_pcb_print
Now %i is the list of layers (suffixes) and %x is PDF.
The default is %f-%i.%x
2020-07-12 16:17:38 -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 38baa62cbe Fixed ERC/DRC error count report. 2020-07-08 19:28:07 -03:00
Salvador E. Tropea 4869ead2eb Added test for failling DRC 2020-07-08 16:52:53 -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 45ecb1d02a Added a mechanism to specify suboptions.
Now the legacy drill.map.type and drill.report.filename are specified in this
way.
The BaseOutput class now inherits from Optionable.
Suboptions are just Optionable classes.
Also: added traceback print when an error is reported and we are in debug mode.
2020-07-05 12:40:57 -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 d926a5419e Added --example basic tests
Also added support for output directory to --example
2020-06-30 20:43:42 -03:00
Salvador E. Tropea 3c6f4950c7 Now the schematic can be specified separately.
We now test if the PCB and/or SCH are there only when we need them.
2020-06-29 19:25:54 -03:00
Salvador E. Tropea 42d1f14056 Now layers are solved when we really need it.
So we can do some operations (like --list) without loading the board.
Also: now the names for the layers are asked to pcbnew classes (not from file)
2020-06-29 12:55:02 -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 d48f258c33 Added tests for the various help options. 2020-06-26 14:48:40 -03:00
Salvador E. Tropea 2f0f3f755d Changed the command line parser from argparse to docopt.
This make the code cleaner and better documented.
Now the usage is more clear, and also a little bit more strict.
I'm using a modified docopt because I preffer using args.option instead of
args['--option'], I also fixed a few flake8 issues in docopt.py.
2020-06-26 12:04:56 -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 6ed99d8515 Tests adapted to the new error message strings. 2020-06-19 16:00:16 -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 c2a735e9a6 For some reason Python sys.path vector has a limit and I was abusing it.
Each test module setups the path to find the needed modules, but didn't check
if it was necesary. Creating a long path that finally started to fail.
2020-06-15 15:14:53 -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 ceb25aa1e1 Added an auxiliar axis to bom.kicad_pcb example
To test the 3D STEP file generation.
2020-06-15 13:21:58 -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
Salvador E. Tropea 4101f69cd4 Added support for compressed YAML files. 2020-06-14 11:05:08 -03:00
Salvador E. Tropea 61f1ebbab2 Better debug info, fixed errors and no .kicad_pcb dependency
- When a BoM operation fails now we show the output of the child process.
  (Only enabled when using debug verbosity)
- The error levels 1 and 2 were overlapped with internal Python codes.
- Now we delay the PCB load until we really need it. Which could be never.
2020-06-12 15:10:56 -03:00
Salvador E. Tropea 9983bc05bf Added test for the filters feature 2020-06-09 13:56:17 -03:00
Salvador E. Tropea 5883b1a616 Added test for command line -q (quite) 2020-05-26 14:22:58 -03:00
Salvador E. Tropea ee6238a2ce Added test for iBoM without options. 2020-05-26 14:01:52 -03:00
Salvador E. Tropea 7b8aa57610 Added missing blank line and removed extra blank line at the end. 2020-05-26 14:01:11 -03:00
Salvador E. Tropea 979b3bc0d7 Added a test for missing output.layers 2020-05-26 13:52:04 -03:00
Salvador E. Tropea 8aaa07c867 Added test for missing output.options 2020-05-26 13:40:16 -03:00
Salvador E. Tropea e3cddb280a Added tests for missing output.name and output.type. 2020-05-26 13:36:49 -03:00
Salvador E. Tropea 1d85befd9b Added test for missing comment in output section 2020-05-26 13:31:08 -03:00
Salvador E. Tropea 31e461ca9c Added 3 tests for wrong layer names. 2020-05-26 13:27:49 -03:00
Salvador E. Tropea 4e14891979 Adde test for wrong drill map type 2020-05-26 13:09:16 -03:00
Salvador E. Tropea eb77e20f80 Added test for missing drill map type 2020-05-26 13:04:56 -03:00
Salvador E. Tropea 64de376c2b Added test for wrong version in config file. 2020-05-26 12:53:24 -03:00
Salvador E. Tropea 92df488ddb Added test for no kiplot.version in config. 2020-05-26 12:50:52 -03:00
Salvador E. Tropea 21bc1f939e Added test for missing PCB file in command line 2020-05-26 12:23:43 -03:00
Salvador E. Tropea b429a81473 Added test for --list option 2020-05-26 12:12:18 -03:00
Salvador E. Tropea 92de025c96 Added test for wrong config file name 2020-05-26 12:05:35 -03:00
Salvador E. Tropea c41faba302 Added tests for guessing the board and YAML, also missing YAML 2020-05-26 12:02:16 -03:00
Salvador E. Tropea b5448739ee Added a test for missing PCB file 2020-05-25 20:28:35 -03:00
Salvador E. Tropea 0ed23a1642 Added a test to skip one output 2020-05-25 20:12:42 -03:00
Salvador E. Tropea cc4d942111 Added a test for a bogus output type. 2020-05-25 20:00:59 -03:00
Salvador E. Tropea 5a23fe2b37 Added tests for various cases of --skip command line option. 2020-05-25 19:49:05 -03:00
Salvador E. Tropea 9c6ee4f457 Added simple DXF test 2020-05-25 18:59:00 -03:00
Salvador E. Tropea 1672637742 Added simple test for plotting a PCB to PDF, 2020-05-25 18:55:11 -03:00
Salvador E. Tropea 2c38414617 Fixed test_print_pcb function name (was the same as SCH) 2020-05-25 18:53:12 -03:00
Salvador E. Tropea 8f929db896 Added simple HPGL test 2020-05-25 18:42:56 -03:00
Salvador E. Tropea e119732fb3 Added simple SVG test 2020-05-25 18:39:12 -03:00
Salvador E. Tropea 77b2d1e075 Added postscript test. 2020-05-25 18:32:11 -03:00
Salvador E. Tropea f7af290113 Added update_xml test 2020-05-20 11:34:47 -03:00
Salvador E. Tropea 128906a13d Added DRC test 2020-05-20 10:53:25 -03:00
Salvador E. Tropea d8e45554f4 Moved the .pro and fp-cache to the context clean_up 2020-05-20 10:52:42 -03:00
Salvador E. Tropea 367647724a Documented we are also testing CSV positions 2020-05-20 10:37:26 -03:00
Salvador E. Tropea cad997ae3d Added ERC test 2020-05-20 10:37:06 -03:00
Salvador E. Tropea fb281889d7 Added tests for position in CSV format. 2020-05-20 10:13:38 -03:00
Salvador E. Tropea bb8d8a079a Added simple test for pdf_pcb_print 2020-05-20 09:25:43 -03:00
Salvador E. Tropea e81981db56 Added a test for print_sch 2020-05-19 11:40:55 -03:00
Salvador E. Tropea 02cdeac2f4 Added test for InteractiveHtmlBom 2020-05-15 10:59:46 -03:00
Salvador E. Tropea 86a08d389a Fixed comments in test_bom.py (were the ones from drill) 2020-05-15 10:58:51 -03:00
Salvador E. Tropea d8daa8b4e7 Added small test for KiBoM files 2020-05-15 10:40:29 -03:00
Salvador E. Tropea 1e4440670c Removed dead code in test_drill.py 2020-05-15 10:39:31 -03:00
Salvador E. Tropea a0b647be69 Documented what test_drill.py tests 2020-05-15 09:07:00 -03:00
Salvador E. Tropea 6873652433 Added a simple test for drills 2020-05-14 19:50:04 -03:00
Salvador E. Tropea d500178c24 Recoded all the tests. I used the class I wrote for kicad-automation-scripts.
Now the tests are simpler, I also suitched to test the application from "outside"
because I was having some ridiculous fails.
Also added coverage meassurement, which is currently pathetic.
2020-05-14 13:11:31 -03:00
Salvador E. Tropea ba22eae5b8 Tunned flake8 and removed all unfiltered warnings and errors 2020-04-28 17:56:50 -03:00
Salvador E. Tropea 9fc7653e9b Added simple test for the position file/s 2020-04-27 16:28:01 -03:00
Salvador E. Tropea 954dfa25bf Adapted test_simple_2layer.py to Python 3 and added Gerber Job test 2020-04-27 16:27:04 -03:00
Salvador E. Tropea aeb669a24f Adapted the plotting test to the currently used arguments.
Forced to test the sources, instead of the installed package.
2020-04-27 16:25:39 -03:00
Salvador E. Tropea d0d3e120dd Removed dummy test 2020-04-27 16:24:26 -03:00
Salvador E. Tropea bce849b44b Added only_smd to only generate positions for SMD components.
Made the .pos more similar to what KiCad generates (sorted, capitalization, date, etc.)
2020-03-13 13:04:27 -03:00
Romain Deterre a9c8b9a6bf Add support for plotting position files 2019-10-15 23:04:32 -04:00
John Beard c4778e37bd Add a basic plot test 2018-07-31 17:36:56 +01:00
John Beard fa3840e0b4 Add stub for testing with setup.py test 2018-06-02 18:03:04 +01:00