43#include <wx/filename.h>
52 +
"plugins/eagle/issue18515_managed_lib.brd";
54 BOOST_REQUIRE_MESSAGE( wxFileName::FileExists( dataPath ),
55 "Test board file not found: " + dataPath );
59 wxFileName rulesFn( dataPath );
60 rulesFn.SetExt( wxT(
"kicad_dru" ) );
62 BOOST_REQUIRE_MESSAGE( !rulesFn.FileExists(),
63 "Stale rules sidecar present before load: "
64 + rulesFn.GetFullPath().ToStdString() );
67 std::unique_ptr<BOARD> board;
71 board = eaglePlugin.
LoadBoard( dataPath );
75 BOOST_FAIL(
"IO_ERROR loading Eagle board: " + e.
What().ToStdString() );
77 catch(
const std::exception& e )
79 BOOST_FAIL( std::string(
"Exception loading Eagle board: " ) + e.
what() );
85 BOOST_REQUIRE_EQUAL( board->Footprints().size(), 2 );
90 for(
FOOTPRINT* fp : board->Footprints() )
92 const wxString itemName = fp->GetFPID().GetUniStringLibItemName();
97 !itemName.Contains( wxT(
"_38243636" ) ),
98 "Footprint name '" + itemName.ToStdString()
99 +
"' should not carry the Eagle library URN ordinal." );
101 if( itemName == wxT(
"LED-0603" ) )
103 else if( itemName == wxT(
"R0603" ) )
107 BOOST_CHECK_MESSAGE( sawLed,
"Expected footprint named 'LED-0603' (no URN suffix)" );
108 BOOST_CHECK_MESSAGE( sawRes,
"Expected footprint named 'R0603' (no URN suffix)" );
112 if( rulesFn.FileExists() )
114 wxRemoveFile( rulesFn.GetFullPath() );
115 BOOST_ERROR(
"Importer wrote an empty rules sidecar: "
116 + rulesFn.GetFullPath().ToStdString() );
General utilities for PCB file IO for QA programs.
Hold an error message and may be used when throwing exceptions containing meaningful error messages.
virtual const wxString What() const
A composite of Problem() and Where()
virtual const char * what() const override
std::exception interface, returned as UTF-8
Works with Eagle 6.x XML board files and footprints to implement the Pcbnew #PLUGIN API or a portion ...
std::unique_ptr< BOARD > LoadBoard(const wxString &aFileName, const std::map< std::string, UTF8 > *aProperties=nullptr, PROJECT *aProject=nullptr)
Load information from some input file format that this PCB_IO implementation knows about into new BOA...
std::string GetPcbnewTestDataDir()
Utility which returns a path to the data directory where the test board files are stored.
BOOST_AUTO_TEST_CASE(HorizontalAlignment)
BOOST_AUTO_TEST_SUITE(CadstarPartParser)
BOOST_REQUIRE(intersection.has_value()==c.ExpectedIntersection.has_value())
BOOST_AUTO_TEST_SUITE_END()