Skip to content

Commit

Permalink
[Ref] libopenmpt-test: Use mpt/main.
Browse files Browse the repository at this point in the history
git-svn-id: https://source.openmpt.org/svn/openmpt/trunk/OpenMPT@21735 56274372-70c3-4bfc-bfc3-4c3a0b034d27
  • Loading branch information
manxorist committed Sep 24, 2024
1 parent ba3cc9d commit e8f7bd9
Show file tree
Hide file tree
Showing 18 changed files with 73 additions and 42 deletions.
2 changes: 0 additions & 2 deletions build/premake/mpt-libopenmpt_test.lua
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,6 @@
"../../src/mpt/json/**.hpp",
"../../src/mpt/library/**.cpp",
"../../src/mpt/library/**.hpp",
"../../src/mpt/main/**.cpp",
"../../src/mpt/main/**.hpp",
"../../src/mpt/uuid_namespace/**.cpp",
"../../src/mpt/uuid_namespace/**.hpp",
"../../test/mpt_tests_crypto.cpp",
Expand Down
1 change: 1 addition & 0 deletions build/vs2017winxp/libopenmpt_test.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -920,6 +920,7 @@
<ClInclude Include="..\..\src\mpt\io_read\filedata_stdstream.hpp" />
<ClInclude Include="..\..\src\mpt\io_read\filereader.hpp" />
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp" />
<ClInclude Include="..\..\src\mpt\main\main.hpp" />
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\class.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\dos_memory.hpp" />
Expand Down
6 changes: 6 additions & 0 deletions build/vs2017winxp/libopenmpt_test.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@
<Filter Include="src\mpt\io_write">
<UniqueIdentifier>{BE6C5801-AA65-7753-D397-5CD8BFEF565F}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\main">
<UniqueIdentifier>{C1DDD503-AD40-65A8-56C6-9D5E4208312B}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\mutex">
<UniqueIdentifier>{8FBB9C7E-FB7B-18B5-C4B6-613230365D91}</UniqueIdentifier>
</Filter>
Expand Down Expand Up @@ -924,6 +927,9 @@
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp">
<Filter>src\mpt\io_write</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\main\main.hpp">
<Filter>src\mpt\main</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp">
<Filter>src\mpt\mutex</Filter>
</ClInclude>
Expand Down
1 change: 1 addition & 0 deletions build/vs2017winxpansi/libopenmpt_test.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -920,6 +920,7 @@
<ClInclude Include="..\..\src\mpt\io_read\filedata_stdstream.hpp" />
<ClInclude Include="..\..\src\mpt\io_read\filereader.hpp" />
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp" />
<ClInclude Include="..\..\src\mpt\main\main.hpp" />
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\class.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\dos_memory.hpp" />
Expand Down
6 changes: 6 additions & 0 deletions build/vs2017winxpansi/libopenmpt_test.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@
<Filter Include="src\mpt\io_write">
<UniqueIdentifier>{BE6C5801-AA65-7753-D397-5CD8BFEF565F}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\main">
<UniqueIdentifier>{C1DDD503-AD40-65A8-56C6-9D5E4208312B}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\mutex">
<UniqueIdentifier>{8FBB9C7E-FB7B-18B5-C4B6-613230365D91}</UniqueIdentifier>
</Filter>
Expand Down Expand Up @@ -924,6 +927,9 @@
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp">
<Filter>src\mpt\io_write</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\main\main.hpp">
<Filter>src\mpt\main</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp">
<Filter>src\mpt\mutex</Filter>
</ClInclude>
Expand Down
1 change: 1 addition & 0 deletions build/vs2019win7/libopenmpt_test.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -917,6 +917,7 @@
<ClInclude Include="..\..\src\mpt\io_read\filedata_stdstream.hpp" />
<ClInclude Include="..\..\src\mpt\io_read\filereader.hpp" />
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp" />
<ClInclude Include="..\..\src\mpt\main\main.hpp" />
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\class.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\dos_memory.hpp" />
Expand Down
6 changes: 6 additions & 0 deletions build/vs2019win7/libopenmpt_test.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@
<Filter Include="src\mpt\io_write">
<UniqueIdentifier>{BE6C5801-AA65-7753-D397-5CD8BFEF565F}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\main">
<UniqueIdentifier>{C1DDD503-AD40-65A8-56C6-9D5E4208312B}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\mutex">
<UniqueIdentifier>{8FBB9C7E-FB7B-18B5-C4B6-613230365D91}</UniqueIdentifier>
</Filter>
Expand Down Expand Up @@ -930,6 +933,9 @@
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp">
<Filter>src\mpt\io_write</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\main\main.hpp">
<Filter>src\mpt\main</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp">
<Filter>src\mpt\mutex</Filter>
</ClInclude>
Expand Down
1 change: 1 addition & 0 deletions build/vs2022win10/libopenmpt_test.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1635,6 +1635,7 @@
<ClInclude Include="..\..\src\mpt\io_read\filedata_stdstream.hpp" />
<ClInclude Include="..\..\src\mpt\io_read\filereader.hpp" />
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp" />
<ClInclude Include="..\..\src\mpt\main\main.hpp" />
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\class.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\dos_memory.hpp" />
Expand Down
6 changes: 6 additions & 0 deletions build/vs2022win10/libopenmpt_test.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@
<Filter Include="src\mpt\io_write">
<UniqueIdentifier>{BE6C5801-AA65-7753-D397-5CD8BFEF565F}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\main">
<UniqueIdentifier>{C1DDD503-AD40-65A8-56C6-9D5E4208312B}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\mutex">
<UniqueIdentifier>{8FBB9C7E-FB7B-18B5-C4B6-613230365D91}</UniqueIdentifier>
</Filter>
Expand Down Expand Up @@ -930,6 +933,9 @@
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp">
<Filter>src\mpt\io_write</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\main\main.hpp">
<Filter>src\mpt\main</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp">
<Filter>src\mpt\mutex</Filter>
</ClInclude>
Expand Down
1 change: 1 addition & 0 deletions build/vs2022win10clang/libopenmpt_test.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1553,6 +1553,7 @@
<ClInclude Include="..\..\src\mpt\io_read\filedata_stdstream.hpp" />
<ClInclude Include="..\..\src\mpt\io_read\filereader.hpp" />
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp" />
<ClInclude Include="..\..\src\mpt\main\main.hpp" />
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\class.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\dos_memory.hpp" />
Expand Down
6 changes: 6 additions & 0 deletions build/vs2022win10clang/libopenmpt_test.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@
<Filter Include="src\mpt\io_write">
<UniqueIdentifier>{BE6C5801-AA65-7753-D397-5CD8BFEF565F}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\main">
<UniqueIdentifier>{C1DDD503-AD40-65A8-56C6-9D5E4208312B}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\mutex">
<UniqueIdentifier>{8FBB9C7E-FB7B-18B5-C4B6-613230365D91}</UniqueIdentifier>
</Filter>
Expand Down Expand Up @@ -930,6 +933,9 @@
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp">
<Filter>src\mpt\io_write</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\main\main.hpp">
<Filter>src\mpt\main</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp">
<Filter>src\mpt\mutex</Filter>
</ClInclude>
Expand Down
1 change: 1 addition & 0 deletions build/vs2022win7/libopenmpt_test.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -937,6 +937,7 @@
<ClInclude Include="..\..\src\mpt\io_read\filedata_stdstream.hpp" />
<ClInclude Include="..\..\src\mpt\io_read\filereader.hpp" />
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp" />
<ClInclude Include="..\..\src\mpt\main\main.hpp" />
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\class.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\dos_memory.hpp" />
Expand Down
6 changes: 6 additions & 0 deletions build/vs2022win7/libopenmpt_test.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@
<Filter Include="src\mpt\io_write">
<UniqueIdentifier>{BE6C5801-AA65-7753-D397-5CD8BFEF565F}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\main">
<UniqueIdentifier>{C1DDD503-AD40-65A8-56C6-9D5E4208312B}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\mutex">
<UniqueIdentifier>{8FBB9C7E-FB7B-18B5-C4B6-613230365D91}</UniqueIdentifier>
</Filter>
Expand Down Expand Up @@ -930,6 +933,9 @@
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp">
<Filter>src\mpt\io_write</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\main\main.hpp">
<Filter>src\mpt\main</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp">
<Filter>src\mpt\mutex</Filter>
</ClInclude>
Expand Down
1 change: 1 addition & 0 deletions build/vs2022win8/libopenmpt_test.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1277,6 +1277,7 @@
<ClInclude Include="..\..\src\mpt\io_read\filedata_stdstream.hpp" />
<ClInclude Include="..\..\src\mpt\io_read\filereader.hpp" />
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp" />
<ClInclude Include="..\..\src\mpt\main\main.hpp" />
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\class.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\dos_memory.hpp" />
Expand Down
6 changes: 6 additions & 0 deletions build/vs2022win8/libopenmpt_test.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@
<Filter Include="src\mpt\io_write">
<UniqueIdentifier>{BE6C5801-AA65-7753-D397-5CD8BFEF565F}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\main">
<UniqueIdentifier>{C1DDD503-AD40-65A8-56C6-9D5E4208312B}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\mutex">
<UniqueIdentifier>{8FBB9C7E-FB7B-18B5-C4B6-613230365D91}</UniqueIdentifier>
</Filter>
Expand Down Expand Up @@ -930,6 +933,9 @@
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp">
<Filter>src\mpt\io_write</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\main\main.hpp">
<Filter>src\mpt\main</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp">
<Filter>src\mpt\mutex</Filter>
</ClInclude>
Expand Down
1 change: 1 addition & 0 deletions build/vs2022win81/libopenmpt_test.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1277,6 +1277,7 @@
<ClInclude Include="..\..\src\mpt\io_read\filedata_stdstream.hpp" />
<ClInclude Include="..\..\src\mpt\io_read\filereader.hpp" />
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp" />
<ClInclude Include="..\..\src\mpt\main\main.hpp" />
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\class.hpp" />
<ClInclude Include="..\..\src\mpt\osinfo\dos_memory.hpp" />
Expand Down
6 changes: 6 additions & 0 deletions build/vs2022win81/libopenmpt_test.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@
<Filter Include="src\mpt\io_write">
<UniqueIdentifier>{BE6C5801-AA65-7753-D397-5CD8BFEF565F}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\main">
<UniqueIdentifier>{C1DDD503-AD40-65A8-56C6-9D5E4208312B}</UniqueIdentifier>
</Filter>
<Filter Include="src\mpt\mutex">
<UniqueIdentifier>{8FBB9C7E-FB7B-18B5-C4B6-613230365D91}</UniqueIdentifier>
</Filter>
Expand Down Expand Up @@ -930,6 +933,9 @@
<ClInclude Include="..\..\src\mpt\io_write\buffer.hpp">
<Filter>src\mpt\io_write</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\main\main.hpp">
<Filter>src\mpt\main</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mpt\mutex\mutex.hpp">
<Filter>src\mpt\mutex</Filter>
</ClInclude>
Expand Down
57 changes: 17 additions & 40 deletions libopenmpt/libopenmpt_test/libopenmpt_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@
*/

#include "openmpt/all/BuildSettings.hpp"
#include "openmpt/all/PlatformFixes.hpp"

#include "mpt/base/macros.hpp"

#if defined(__MINGW32__) && !defined(__MINGW64__)
#include <sys/types.h>
#endif
#include "mpt/base/integer.hpp"
#include "mpt/main/main.hpp"

#include "../../libopenmpt/libopenmpt_internal.h"

Expand All @@ -25,41 +23,14 @@
#include <clocale>
#include <cstdlib>

#if defined( __DJGPP__ )
#include <crt0.h>
#endif /* __DJGPP__ */

#if defined(__EMSCRIPTEN__)
#include <emscripten.h>
#endif /* __EMSCRIPTEN__ */

using namespace OpenMPT;

#if defined( __DJGPP__ )
/* Work-around <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45977> */
/* clang-format off */
extern "C" {
int _crt0_startup_flags = 0
| _CRT0_FLAG_NONMOVE_SBRK /* force interrupt compatible allocation */
| _CRT0_DISABLE_SBRK_ADDRESS_WRAP /* force NT compatible allocation */
| _CRT0_FLAG_LOCK_MEMORY /* lock all code and data at program startup */
| 0;
}
/* clang-format on */
#endif /* __DJGPP__ */
#if (defined(_WIN32) || defined(WIN32)) && (defined(_UNICODE) || defined(UNICODE))
#if defined(__GNUC__) || (defined(__clang__) && !defined(_MSC_VER))
// mingw-w64 g++ does only default to special C linkage for "main", but not for "wmain" (see <https://sourceforge.net/p/mingw-w64/wiki2/Unicode%20apps/>).
extern "C" int wmain( int /*argc*/ , wchar_t * /*argv*/ [] );
extern "C"
#endif
int wmain( int /*argc*/ , wchar_t * /*argv*/ [] ) {
#else
int main( int /*argc*/ , char * /*argv*/ [] ) {
#endif
#if defined( __DJGPP__ )
_crt0_startup_flags &= ~_CRT0_FLAG_LOCK_MEMORY; /* disable automatic locking for all further memory allocations */
#endif /* __DJGPP__ */
namespace libopenmpt_test {

static mpt::uint8 main() {

#if defined(__EMSCRIPTEN__)
EM_ASM(
FS.mkdir('/test');
Expand All @@ -70,7 +41,9 @@ int main( int /*argc*/ , char * /*argv*/ [] ) {
#endif /* __EMSCRIPTEN__ */

try {


using namespace OpenMPT;

// run test with "C" / classic() locale
Test::DoTests();

Expand All @@ -83,7 +56,7 @@ int main( int /*argc*/ , char * /*argv*/ [] ) {
// try to set the C and C++ locales to the user locale
try {
std::locale old = std::locale::global( std::locale( "" ) );
(void)old;
static_cast<void>( old );
} catch ( ... ) {
// Setting c++ global locale does not work.
// This is no problem for libopenmpt, just continue.
Expand All @@ -94,10 +67,14 @@ int main( int /*argc*/ , char * /*argv*/ [] ) {

} catch ( const std::exception & e ) {
std::cerr << "TEST ERROR: exception: " << ( e.what() ? e.what() : "" ) << std::endl;
return -1;
return 255;
} catch ( ... ) {
std::cerr << "TEST ERROR: unknown exception" << std::endl;
return -1;
return 255;
}
return 0;
}

} // namespace libopenmpt_test

MPT_MAIN_IMPLEMENT_MAIN_NO_ARGS(libopenmpt_test)

0 comments on commit e8f7bd9

Please sign in to comment.