MCPcopy Create free account
hub / github.com/MITK/MITK / usSharedLibraryTest

Function usSharedLibraryTest

Modules/CppMicroServices/test/usSharedLibraryTest.cpp:23–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21using namespace us;
22
23int usSharedLibraryTest(int /*argc*/, char* /*argv*/[])
24{
25 US_TEST_BEGIN("SharedLibraryTest");
26
27#ifdef US_PLATFORM_WINDOWS
28 const std::string LIB_PATH = US_RUNTIME_OUTPUT_DIRECTORY;
29 const std::string LIB_PREFIX = "";
30 const std::string LIB_SUFFIX = ".dll";
31 const char PATH_SEPARATOR = '\\';
32#elif defined(US_PLATFORM_APPLE)
33 const std::string LIB_PATH = US_LIBRARY_OUTPUT_DIRECTORY;
34 const std::string LIB_PREFIX = "lib";
35 const std::string LIB_SUFFIX = ".dylib";
36 const char PATH_SEPARATOR = '/';
37#else
38 const std::string LIB_PATH = US_LIBRARY_OUTPUT_DIRECTORY;
39 const std::string LIB_PREFIX = "lib";
40 const std::string LIB_SUFFIX = ".so";
41 const char PATH_SEPARATOR = '/';
42
43#endif
44
45 const std::string libAFilePath = LIB_PATH + PATH_SEPARATOR + LIB_PREFIX + "TestModuleA" + LIB_SUFFIX;
46 SharedLibrary lib1(libAFilePath);
47 US_TEST_CONDITION(lib1.GetFilePath() == libAFilePath, "Absolute file path")
48 US_TEST_CONDITION(lib1.GetLibraryPath() == LIB_PATH, "Library path")
49 US_TEST_CONDITION(lib1.GetName() == "TestModuleA", "Name")
50 US_TEST_CONDITION(lib1.GetPrefix() == LIB_PREFIX, "Prefix")
51 US_TEST_CONDITION(lib1.GetSuffix() == LIB_SUFFIX, "Suffix")
52 lib1.SetName("bla");
53 US_TEST_CONDITION(lib1.GetName() == "TestModuleA", "Name after SetName()")
54 lib1.SetLibraryPath("bla");
55 US_TEST_CONDITION(lib1.GetLibraryPath() == LIB_PATH, "Library path after SetLibraryPath()")
56 lib1.SetPrefix("bla");
57 US_TEST_CONDITION(lib1.GetPrefix() == LIB_PREFIX, "Prefix after SetPrefix()")
58 lib1.SetSuffix("bla");
59 US_TEST_CONDITION(lib1.GetSuffix() == LIB_SUFFIX, "Suffix after SetSuffix()")
60 US_TEST_CONDITION(lib1.GetFilePath() == libAFilePath, "File path after setters")
61
62 lib1.SetFilePath("bla");
63 US_TEST_CONDITION(lib1.GetFilePath() == "bla", "Invalid file path")
64 US_TEST_CONDITION(lib1.GetLibraryPath().empty(), "Empty lib path")
65 US_TEST_CONDITION(lib1.GetName() == "bla", "Invalid file name")
66 US_TEST_CONDITION(lib1.GetPrefix() == LIB_PREFIX, "Invalid prefix")
67 US_TEST_CONDITION(lib1.GetSuffix() == LIB_SUFFIX, "Invalid suffix")
68
69 US_TEST_FOR_EXCEPTION(std::runtime_error, lib1.Load())
70 US_TEST_CONDITION(lib1.IsLoaded() == false, "Is loaded")
71 US_TEST_CONDITION(lib1.GetHandle() == nullptr, "Handle")
72
73 lib1.SetFilePath(libAFilePath);
74 lib1.Load();
75 US_TEST_CONDITION(lib1.IsLoaded() == true, "Is loaded")
76 US_TEST_CONDITION(lib1.GetHandle() != nullptr, "Handle")
77 US_TEST_FOR_EXCEPTION(std::logic_error, lib1.Load())
78
79 lib1.SetFilePath("bla");
80 US_TEST_CONDITION(lib1.GetFilePath() == libAFilePath, "File path")

Callers

nothing calls this directly

Calls 15

GetFilePathMethod · 0.80
SetLibraryPathMethod · 0.80
SetPrefixMethod · 0.80
SetSuffixMethod · 0.80
SetFilePathMethod · 0.80
GetLibraryPathMethod · 0.45
GetNameMethod · 0.45
GetPrefixMethod · 0.45
SetNameMethod · 0.45
GetSuffixMethod · 0.45
emptyMethod · 0.45
LoadMethod · 0.45

Tested by

no test coverage detected