Compile wxConfig unit tests as part of non-GUI test too

Almost none of the tests require GUI, so make it possible to run them
without it, but still include the GUI tests when using GUI.
This commit is contained in:
Vadim Zeitlin
2021-03-13 14:18:31 +01:00
parent 0c837e5310
commit e667071416
10 changed files with 52 additions and 11 deletions

View File

@@ -68,6 +68,7 @@ TEST_OBJECTS = \
test_arrays.o \
test_base64.o \
test_cmdlinetest.o \
test_config.o \
test_fileconf.o \
test_regconf.o \
test_datetimetest.o \
@@ -611,6 +612,9 @@ test_base64.o: $(srcdir)/base64/base64.cpp $(TEST_ODEP)
test_cmdlinetest.o: $(srcdir)/cmdline/cmdlinetest.cpp $(TEST_ODEP)
$(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/cmdline/cmdlinetest.cpp
test_config.o: $(srcdir)/config/config.cpp $(TEST_ODEP)
$(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/config/config.cpp
test_fileconf.o: $(srcdir)/config/fileconf.cpp $(TEST_ODEP)
$(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/config/fileconf.cpp

View File

@@ -6,8 +6,9 @@
// Copyright: (c) 2007 Marcin Wojdyr
///////////////////////////////////////////////////////////////////////////////
// NOTE: this test is compiled in test_gui because it uses wxColour for
// its testing purpose.
// NOTE: this test is compiled both as part of the non-GUI test and test_gui
// because it can only use wxColour in the latter.
//
// See also tests/config/fileconf.cpp for wxFileConfig specific tests and
// tests/config/regconf.cpp for wxRegConfig specific tests.
@@ -25,9 +26,18 @@
#endif // WX_PRECOMP
#include "wx/config.h"
#include "wx/colour.h"
#include "wx/scopedptr.h"
// Tests using wxColour can only be done when using GUI library and they
// require template functions that are not supported by some ancient compilers.
#if wxUSE_GUI && defined(wxHAS_CONFIG_TEMPLATE_RW)
#define TEST_WXCOLOUR
#endif
#ifdef TEST_WXCOLOUR
#include "wx/colour.h"
#endif
// --------------------------------------------------------------------------
// the tests
// --------------------------------------------------------------------------
@@ -54,9 +64,9 @@ TEST_CASE("wxConfig::ReadWriteLocal", "[config]")
config->Write("ull", uval64);
config->Write("size", size_t(UINT_MAX));
#ifdef wxHAS_CONFIG_TEMPLATE_RW
#ifdef TEST_WXCOLOUR
config->Write("color1", wxColour(11,22,33,44));
#endif // wxHAS_CONFIG_TEMPLATE_RW
#endif // TEST_WXCOLOUR
config->Flush();
config.reset(new wxConfig(app, vendor, "", "",
@@ -115,14 +125,14 @@ TEST_CASE("wxConfig::ReadWriteLocal", "[config]")
CHECK( config->Read("size", &size) );
CHECK( size == UINT_MAX );
#ifdef wxHAS_CONFIG_TEMPLATE_RW
#ifdef TEST_WXCOLOUR
wxColour color1;
r = config->Read("color1", &color1);
CHECK( r );
CHECK( color1 == wxColour(11,22,33,44) );
CHECK( config->ReadObject("color1", wxNullColour) == color1 );
#endif // wxHAS_CONFIG_TEMPLATE_RW
#endif // TEST_WXCOLOUR
config->DeleteAll();
}
@@ -174,12 +184,12 @@ size_t ReadValues(const wxConfig& config, bool has_values)
CHECK( r == has_values );
read++;
#ifdef wxHAS_CONFIG_TEMPLATE_RW
#ifdef TEST_WXCOLOUR
wxColour color1;
r = config.Read("color1", &color1, wxColour(11,22,33,44));
CHECK( r == has_values );
read++;
#endif // wxHAS_CONFIG_TEMPLATE_RW
#endif // TEST_WXCOLOUR
return read;
}

View File

@@ -38,6 +38,7 @@ TEST_OBJECTS = \
$(OBJS)\test_arrays.o \
$(OBJS)\test_base64.o \
$(OBJS)\test_cmdlinetest.o \
$(OBJS)\test_config.o \
$(OBJS)\test_fileconf.o \
$(OBJS)\test_regconf.o \
$(OBJS)\test_datetimetest.o \
@@ -590,6 +591,9 @@ $(OBJS)\test_base64.o: ./base64/base64.cpp
$(OBJS)\test_cmdlinetest.o: ./cmdline/cmdlinetest.cpp
$(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\test_config.o: ./config/config.cpp
$(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\test_fileconf.o: ./config/fileconf.cpp
$(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<

View File

@@ -41,6 +41,7 @@ TEST_OBJECTS = \
$(OBJS)\test_arrays.obj \
$(OBJS)\test_base64.obj \
$(OBJS)\test_cmdlinetest.obj \
$(OBJS)\test_config.obj \
$(OBJS)\test_fileconf.obj \
$(OBJS)\test_regconf.obj \
$(OBJS)\test_datetimetest.obj \
@@ -1024,6 +1025,9 @@ $(OBJS)\test_base64.obj: .\base64\base64.cpp
$(OBJS)\test_cmdlinetest.obj: .\cmdline\cmdlinetest.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\cmdline\cmdlinetest.cpp
$(OBJS)\test_config.obj: .\config\config.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\config\config.cpp
$(OBJS)\test_fileconf.obj: .\config\fileconf.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\config\fileconf.cpp

View File

@@ -34,6 +34,7 @@
arrays/arrays.cpp
base64/base64.cpp
cmdline/cmdlinetest.cpp
config/config.cpp
config/fileconf.cpp
config/regconf.cpp
datetime/datetimetest.cpp
@@ -187,6 +188,9 @@
graphics/graphmatrix.cpp
graphics/graphpath.cpp
graphics/imagelist.cpp
<!--
Duplicate this file here to compile a GUI test in it too.
-->
config/config.cpp
controls/auitest.cpp
controls/bitmapcomboboxtest.cpp

View File

@@ -478,6 +478,7 @@
<ClCompile Include="arrays\arrays.cpp" />
<ClCompile Include="base64\base64.cpp" />
<ClCompile Include="cmdline\cmdlinetest.cpp" />
<ClCompile Include="config\config.cpp" />
<ClCompile Include="config\fileconf.cpp" />
<ClCompile Include="config\regconf.cpp" />
<ClCompile Include="datetime\datetimetest.cpp" />
@@ -571,4 +572,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -70,6 +70,9 @@
<ClCompile Include="streams\fileback.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="config\config.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="config\fileconf.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -269,4 +272,4 @@
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
</Project>

View File

@@ -313,6 +313,9 @@
<File
RelativePath=".\cmdline\cmdlinetest.cpp">
</File>
<File
RelativePath=".\config\config.cpp">
</File>
<File
RelativePath=".\mbconv\convautotest.cpp">
</File>

View File

@@ -854,6 +854,10 @@
RelativePath=".\cmdline\cmdlinetest.cpp"
>
</File>
<File
RelativePath=".\config\config.cpp"
>
</File>
<File
RelativePath=".\mbconv\convautotest.cpp"
>

View File

@@ -826,6 +826,10 @@
RelativePath=".\cmdline\cmdlinetest.cpp"
>
</File>
<File
RelativePath=".\config\config.cpp"
>
</File>
<File
RelativePath=".\mbconv\convautotest.cpp"
>