48 "Fake Board file (KiCad *Legacy* / EAGLE file ext)",
49 "plugins/fakeboard.brd",
53 "Fake Board file (KiCad file ext)",
54 "plugins/fakeboard.kicad_pcb",
58 "Fake Board file (PCAD file ext)",
59 "plugins/fakeboard.pcb",
63 "Fake Board file (CADSTAR file ext)",
64 "plugins/fakeboard.cpa",
68 "Fake Board file (Altium Circuit Studio file ext)",
69 "plugins/fakeboard.CSPcbDoc",
73 "Fake Board file (Altium Circuit Maker file ext)",
74 "plugins/fakeboard.CMPcbDoc",
78 "Fake Board file (Altium Designer file ext)",
79 "plugins/fakeboard.PcbDoc",
84 "Fake Board file (Solid Works PCB file ext)",
85 "plugins/fakeboard.SWPcbDoc",
94 "Basic KiCad *Legacy* board file",
95 "plugins/legacy_demos/flat_hierarchy/flat_hierarchy.brd",
99 "Basic KiCad board file",
100 "complex_hierarchy.kicad_pcb",
104 "Basic Eagle board file",
105 "plugins/eagle/Adafruit-AHT20-PCB/Adafruit AHT20 Temperature & Humidity.brd",
109 "Basic PCAD board file",
110 "plugins/pcad/pcad_4layer_glyph_test_ascii.PCB",
114 "Basic CADSTAR board file",
115 "plugins/cadstar/route_offset/minimal_route_offset_curved_track.cpa",
119 "Basic EasyEDA Std board json file",
120 "plugins/easyeda/PCB_USBMETER-PD QC修改版_2023-09-02.json",
124 "Basic EasyEDA Std backup file",
125 "plugins/easyeda/BackupProjects_ESP32-PICO-D4_smart_watch.zip",
129 "Basic EasyEDA Pro zip board project",
130 "plugins/easyedapro/Scanning Tunneling Microscope OpenSTM ControlBoard.zip",
134 "Basic EasyEDA Pro epro project",
135 "plugins/easyedapro/ProProject_Yuzuki Chameleon_2023-09-02.epro",
139 "Basic Altium Designer board file",
140 "plugins/altium/eDP_adapter_dvt1_source/eDP_adapter_dvt1.PcbDoc",
153 "Non-Library file (KiCad *Legacy* / EAGLE file ext)",
154 "plugins/fakeboard.brd",
158 "Non-Library file (KiCad file ext)",
159 "plugins/fakeboard.kicad_pcb",
163 "Non-Library file (PCAD file ext)",
164 "plugins/fakeboard.pcb",
168 "Non-Library file (CADSTAR file ext)",
169 "plugins/fakeboard.cpa",
173 "Non-Library file (Altium Circuit Studio file ext)",
174 "plugins/fakeboard.CSPcbDoc",
178 "Non-Library file (Altium Circuit Maker file ext)",
179 "plugins/fakeboard.CMPcbDoc",
183 "Non-Library file (Altium Designer file ext)",
184 "plugins/fakeboard.PcbDoc",
189 "Non-Library file (Solid Works PCB file ext)",
190 "plugins/fakeboard.SWPcbDoc",
199 "Basic KiCad footprint .pretty library",
200 "plugins/eagle/lbr/SparkFun-GPS.pretty",
204 "Basic Eagle library file",
205 "plugins/eagle/lbr/SparkFun-GPS.lbr",
209 "Basic CADSTAR PCB Archive library file",
210 "plugins/cadstar/lib/footprint-with-thermal-pad.cpa",
214 "Basic EasyEDA Std board json file",
215 "plugins/easyeda/PCB_USBMETER-PD QC修改版_2023-09-02.json",
219 "Basic EasyEDA Std backup file",
220 "plugins/easyeda/BackupProjects_ESP32-PICO-D4_smart_watch.zip",
224 "Basic EasyEDA Pro zip board project",
225 "plugins/easyedapro/Scanning Tunneling Microscope OpenSTM ControlBoard.zip",
229 "Basic EasyEDA Pro epro project",
230 "plugins/easyedapro/ProProject_Yuzuki Chameleon_2023-09-02.epro",
234 "Altium Designer 'Espressif ESP32-WROOM-32.PcbLib' library file",
235 "plugins/altium/pcblib/Espressif ESP32-WROOM-32.PcbLib",
239 "Altium Designer 'Tracks.v6.PcbLib' library file",
240 "plugins/altium/pcblib/Tracks.v6.PcbLib",
296 for(
auto& entry : pluginEntries )
301 bool expectValidHeader = c.m_expected_type == entry.m_type;
303 BOOST_CHECK_EQUAL( plugin->CanReadBoard( dataPath ), expectValidHeader );
310BOOST_AUTO_TEST_SUITE_END()
General utilities for PCB file IO for QA programs.
const std::vector< ENTRY > & AllPlugins() const
static PLUGIN_REGISTRY * Instance()
static PCB_FILE_T GuessPluginTypeFromLibPath(const wxString &aLibPath, int aCtl=0)
Return a plugin type given a footprint library's libPath.
PCB_FILE_T
The set of file types that the IO_MGR knows about, and for which there has been a plugin written,...
@ LEGACY
Legacy Pcbnew file formats prior to s-expression.
@ KICAD_SEXP
S-expression Pcbnew file format.
static PCB_FILE_T FindPluginTypeFromBoardPath(const wxString &aFileName, int aCtl=0)
Return a plugin type given a path for a board file.
static PLUGIN * PluginFind(PCB_FILE_T aFileType)
Return a PLUGIN which the caller can use to import, export, save, or load design documents.
Releases a PLUGIN in the context of a potential thrown exception through its destructor.
std::string GetPcbnewTestDataDir()
Utility which returns a path to the data directory where the test board files are stored.
std::string m_file_rel_path
IO_MGR::PCB_FILE_T m_expected_type
BOOST_AUTO_TEST_SUITE(CadstarPartParser)
static const std::vector< PCB_IO_PLUGIN_CASE > BoardPluginCases
BOOST_AUTO_TEST_CASE(FindBoardPluginType)
static const std::vector< PCB_IO_PLUGIN_CASE > LibraryPluginCases
#define BOOST_TEST_CONTEXT(A)