Commit Graph

469 Commits

Author SHA1 Message Date
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 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 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 3382b4fe7b Fixed the way options with arguments are passed to kicad2step. 2020-06-15 15:58:08 -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 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
John Beard c4778e37bd Add a basic plot test 2018-07-31 17:36:56 +01:00