57    BOOST_TEST_CHECKPOINT( 
"Loading schematic " << fn.GetFullPath() );
 
   65    m_manager.LoadProject( pro.GetFullPath() );
 
   72    BOOST_REQUIRE_EQUAL( 
m_pi->GetError().IsEmpty(), 
true );
 
   77    for( 
SCH_SCREEN* screen = screens.GetFirst(); screen; screen = screens.GetNext() )
 
   78        screen->UpdateLocalLibSymbolLinks();
 
   83    if( 
m_schematic->RootScreen()->GetFileFormatVersionAtLoad() < 20221002 )
 
   86    if( 
m_schematic->RootScreen()->GetFileFormatVersionAtLoad() < 20221110 )
 
   89    if( 
m_schematic->RootScreen()->GetFileFormatVersionAtLoad() < 20221206 )
 
   91        for( 
SCH_SCREEN* screen = screens.GetFirst(); screen; screen = screens.GetNext() )
 
   92            screen->MigrateSimModels();
 
   95    if( m_schematic->RootScreen()->GetFileFormatVersionAtLoad() < 20230221 )
 
   96        screens.FixLegacyPowerSymbolMismatches();
 
  102        sheet.UpdateAllScreenReferences();
 
  107    std::unordered_set<SCH_SCREEN*> all_screens;
 
  110        all_screens.insert( 
path.LastScreen() );
 
  114    m_schematic->ConnectionGraph()->Recalculate( sheets, 
true );
 
  121    fn.AppendDir( 
"netlists" );
 
  122    fn.AppendDir( aBaseName );
 
  123    fn.SetName( aBaseName );
 
 
  130template <
typename Exporter>
 
  133    wxFileName netFile = 
m_schematic->Project().GetProjectFullName();
 
  136        netFile.SetName( netFile.GetName() + 
"_test" );
 
  140    return netFile.GetFullPath();
 
 
  144template <
typename Exporter>
 
  148    BOOST_TEST_CHECKPOINT( 
"Writing netlist " << netlistPath );
 
  151    if( wxFileExists( netlistPath ) )
 
  152        wxRemoveFile( netlistPath );
 
  155    std::unique_ptr<Exporter> exporter = std::make_unique<Exporter>( 
m_schematic.get() );
 
  157    bool success = exporter->WriteNetlist( netlistPath, 
GetNetlistOptions(), reporter );
 
 
  163template <
typename Exporter>
 
  171template <
typename Exporter>
 
 
 
 
 
 
 
 
~SCHEMATIC_TEST_FIXTURE()
 
SETTINGS_MANAGER m_manager
 
std::unique_ptr< SCHEMATIC > m_schematic
 
virtual void LoadSchematic(const wxFileName &aFn)
 
IO_RELEASER< SCH_IO > m_pi
 
virtual wxFileName SchematicQAPath(const wxString &aBaseName)
 
A factory which returns an instance of a SCH_IO.
 
static std::vector< std::pair< SCH_RULE_AREA *, SCH_SCREEN * > > UpdateRuleAreasInScreens(std::unordered_set< SCH_SCREEN * > &screens, KIGFX::SCH_VIEW *view)
Update all rule area connectvity / caches in the given sheet paths.
 
Container class that holds multiple SCH_SCREEN objects in a hierarchy.
 
A container for handling SCH_SHEET_PATH objects in a flattened hierarchy.
 
void UpdateSheetInstanceData(const std::vector< SCH_SHEET_INSTANCE > &aSheetInstances)
Update all of the sheet instance information using aSheetInstances.
 
void AnnotatePowerSymbols()
Silently annotate the not yet annotated power symbols of the entire hierarchy of the sheet path list.
 
void UpdateSymbolInstanceData(const std::vector< SCH_SYMBOL_INSTANCE > &aSymbolInstances)
Update all of the symbol instance information using aSymbolInstances.
 
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
 
void TestNetlist(const wxString &aBaseName)
 
virtual void CompareNetlists()=0
 
virtual unsigned GetNetlistOptions()
 
virtual wxString GetNetlistPath(bool aTest=false)
 
A wrapper for reporting to a wxString object.
 
const wxString & GetMessages() const
 
static const std::string NetlistFileExtension
 
static const std::string ProjectFileExtension
 
static const std::string KiCadSchematicFileExtension
 
void LoadSchematic(SETTINGS_MANAGER &aSettingsManager, const wxString &aRelPath, std::unique_ptr< SCHEMATIC > &aSchematic)
 
std::string GetEeschemaTestDataDir()
Get the configured location of Eeschema test data.
 
BOOST_REQUIRE(intersection.has_value()==c.ExpectedIntersection.has_value())
 
Definition of file extensions used in Kicad.