KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ISSUE24858_FIXTURE Struct Reference

Regression tests for issue 24858, deleted design variants reappear after reload. More...

Public Member Functions

 ISSUE24858_FIXTURE ()
 
 ~ISSUE24858_FIXTURE ()
 
wxString tempFile ()
 
void placeSymbol ()
 Place a one-pin symbol on a fresh top sheet and set m_sheet, m_path and m_symbol.
 
wxString saveAndRead ()
 
SCH_SYMBOLreload ()
 

Public Attributes

SETTINGS_MANAGER m_settingsManager
 
std::unique_ptr< SCHEMATICm_schematic
 
std::unique_ptr< LIB_SYMBOLm_libSym
 
SCH_SHEETm_sheet = nullptr
 
SCH_SHEET_PATH m_path
 
SCH_SYMBOLm_symbol = nullptr
 
wxString m_savedFileName
 
std::vector< wxString > m_tempFiles
 

Detailed Description

Regression tests for issue 24858, deleted design variants reappear after reload.

The failure chain is:

  • attribute setters create an instance variant entry even when the value being set equals the base symbol value
  • the writer serializes such diff-less entries as bare (variant (name "X")) blocks
  • on load the variant list is rebuilt from any instance entry found, so the blocks resurrect the variant

Definition at line 52 of file test_issue24858_variant_persistence.cpp.

Constructor & Destructor Documentation

◆ ISSUE24858_FIXTURE()

ISSUE24858_FIXTURE::ISSUE24858_FIXTURE ( )
inline

◆ ~ISSUE24858_FIXTURE()

ISSUE24858_FIXTURE::~ISSUE24858_FIXTURE ( )
inline

Definition at line 65 of file test_issue24858_variant_persistence.cpp.

References m_schematic, and m_tempFiles.

Member Function Documentation

◆ placeSymbol()

void ISSUE24858_FIXTURE::placeSymbol ( )
inline

Place a one-pin symbol on a fresh top sheet and set m_sheet, m_path and m_symbol.

Definition at line 86 of file test_issue24858_variant_persistence.cpp.

References SCH_SCREEN::Append(), m_libSym, m_path, m_schematic, m_sheet, m_symbol, pin, PT_PASSIVE, and SCH_SCREEN::SetFileName().

◆ reload()

◆ saveAndRead()

wxString ISSUE24858_FIXTURE::saveAndRead ( )
inline

◆ tempFile()

wxString ISSUE24858_FIXTURE::tempFile ( )
inline

Definition at line 76 of file test_issue24858_variant_persistence.cpp.

References m_tempFiles, and name.

Referenced by saveAndRead().

Member Data Documentation

◆ m_libSym

std::unique_ptr<LIB_SYMBOL> ISSUE24858_FIXTURE::m_libSym

Definition at line 150 of file test_issue24858_variant_persistence.cpp.

Referenced by placeSymbol().

◆ m_path

SCH_SHEET_PATH ISSUE24858_FIXTURE::m_path

Definition at line 152 of file test_issue24858_variant_persistence.cpp.

Referenced by placeSymbol().

◆ m_savedFileName

wxString ISSUE24858_FIXTURE::m_savedFileName

Definition at line 154 of file test_issue24858_variant_persistence.cpp.

Referenced by reload(), and saveAndRead().

◆ m_schematic

std::unique_ptr<SCHEMATIC> ISSUE24858_FIXTURE::m_schematic

◆ m_settingsManager

SETTINGS_MANAGER ISSUE24858_FIXTURE::m_settingsManager

Definition at line 148 of file test_issue24858_variant_persistence.cpp.

Referenced by ISSUE24858_FIXTURE().

◆ m_sheet

SCH_SHEET* ISSUE24858_FIXTURE::m_sheet = nullptr

Definition at line 151 of file test_issue24858_variant_persistence.cpp.

Referenced by placeSymbol(), reload(), and saveAndRead().

◆ m_symbol

SCH_SYMBOL* ISSUE24858_FIXTURE::m_symbol = nullptr

Definition at line 153 of file test_issue24858_variant_persistence.cpp.

Referenced by placeSymbol().

◆ m_tempFiles

std::vector<wxString> ISSUE24858_FIXTURE::m_tempFiles

The documentation for this struct was generated from the following file: