diff --git a/src/Magnum/DebugTools/Test/CompareImageTest.cpp b/src/Magnum/DebugTools/Test/CompareImageTest.cpp index 5a9e82307..d5d7f5efc 100644 --- a/src/Magnum/DebugTools/Test/CompareImageTest.cpp +++ b/src/Magnum/DebugTools/Test/CompareImageTest.cpp @@ -77,8 +77,6 @@ struct CompareImageTest: TestSuite::Tester { void imageError(); void imageFile(); void imageFileError(); - void imageFileExternalPluginManager(); - void imageFileExternalPluginManagerError(); void imageFilePluginLoadFailed(); void imageFileActualLoadFailed(); void imageFileExpectedLoadFailed(); @@ -86,15 +84,11 @@ struct CompareImageTest: TestSuite::Tester { void imageFileExpectedIsCompressed(); void imageToFile(); void imageToFileError(); - void imageToFileExternalPluginManager(); - void imageToFileExternalPluginManagerError(); void imageToFilePluginLoadFailed(); void imageToFileExpectedLoadFailed(); void imageToFileExpectedIsCompressed(); void fileToImage(); void fileToImageError(); - void fileToImageExternalPluginManager(); - void fileToImageExternalPluginManagerError(); void fileToImagePluginLoadFailed(); void fileToImageActualLoadFailed(); void fileToImageActualIsCompressed(); @@ -129,42 +123,48 @@ CompareImageTest::CompareImageTest() { &CompareImageTest::compareAboveMeanThreshold, &CompareImageTest::image, - &CompareImageTest::imageError, - &CompareImageTest::imageFile, - &CompareImageTest::imageFileError}); + &CompareImageTest::imageError}); - addTests({&CompareImageTest::imageFileExternalPluginManager, - &CompareImageTest::imageFileExternalPluginManagerError}, + addTests({&CompareImageTest::imageFile, + &CompareImageTest::imageFileError}, &CompareImageTest::setupExternalPluginManager, &CompareImageTest::teardownExternalPluginManager); - addTests({&CompareImageTest::imageFilePluginLoadFailed, - &CompareImageTest::imageFileActualLoadFailed, - &CompareImageTest::imageFileExpectedLoadFailed, - &CompareImageTest::imageFileActualIsCompressed, - &CompareImageTest::imageFileExpectedIsCompressed, - &CompareImageTest::imageToFile, - &CompareImageTest::imageToFileError}); + addTests({&CompareImageTest::imageFilePluginLoadFailed}); - addTests({&CompareImageTest::imageToFileExternalPluginManager, - &CompareImageTest::imageToFileExternalPluginManagerError}, + addTests({&CompareImageTest::imageFileActualLoadFailed, + &CompareImageTest::imageFileExpectedLoadFailed}, &CompareImageTest::setupExternalPluginManager, &CompareImageTest::teardownExternalPluginManager); - addTests({&CompareImageTest::imageToFilePluginLoadFailed, - &CompareImageTest::imageToFileExpectedLoadFailed, - &CompareImageTest::imageToFileExpectedIsCompressed, - &CompareImageTest::fileToImage, - &CompareImageTest::fileToImageError}); + addTests({&CompareImageTest::imageFileActualIsCompressed, + &CompareImageTest::imageFileExpectedIsCompressed}); - addTests({&CompareImageTest::fileToImageExternalPluginManager, - &CompareImageTest::fileToImageExternalPluginManagerError}, + addTests({&CompareImageTest::imageToFile, + &CompareImageTest::imageToFileError}, &CompareImageTest::setupExternalPluginManager, &CompareImageTest::teardownExternalPluginManager); - addTests({&CompareImageTest::fileToImagePluginLoadFailed, - &CompareImageTest::fileToImageActualLoadFailed, - &CompareImageTest::fileToImageActualIsCompressed}); + addTests({&CompareImageTest::imageToFilePluginLoadFailed}); + + addTests({&CompareImageTest::imageToFileExpectedLoadFailed}, + &CompareImageTest::setupExternalPluginManager, + &CompareImageTest::teardownExternalPluginManager); + + addTests({&CompareImageTest::imageToFileExpectedIsCompressed}); + + addTests({&CompareImageTest::fileToImage, + &CompareImageTest::fileToImageError}, + &CompareImageTest::setupExternalPluginManager, + &CompareImageTest::teardownExternalPluginManager); + + addTests({&CompareImageTest::fileToImagePluginLoadFailed}); + + addTests({&CompareImageTest::fileToImageActualLoadFailed}, + &CompareImageTest::setupExternalPluginManager, + &CompareImageTest::teardownExternalPluginManager); + + addTests({&CompareImageTest::fileToImageActualIsCompressed}); } const Float ActualRedData[] = { @@ -474,7 +474,7 @@ void CompareImageTest::compareAboveMeanThreshold() { } void CompareImageTest::setupExternalPluginManager() { - _manager.emplace(); + _manager.emplace("nonexistent"); /* Load the plugin directly from the build tree. Otherwise it's either static and already loaded or not present in the build tree */ #if defined(ANYIMAGEIMPORTER_PLUGIN_FILENAME) && defined(TGAIMPORTER_PLUGIN_FILENAME) @@ -513,42 +513,6 @@ void CompareImageTest::imageError() { } void CompareImageTest::imageFile() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("TgaImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); - } - - CORRADE_COMPARE_WITH( - Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageActual.tga"), - Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageExpected.tga"), - (CompareImageFile{40.0f, 20.0f})); -} - -void CompareImageTest::imageFileError() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("TgaImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); - } - - std::stringstream out; - - { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; - CORRADE_VERIFY(!compare( - Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageActual.tga"), - Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageExpected.tga"))); - Debug d{&out, Debug::Flag::DisableColors}; - compare.printErrorMessage(d, "a", "b"); - } - - CORRADE_COMPARE(out.str(), ImageCompareError); -} - -void CompareImageTest::imageFileExternalPluginManager() { if(_manager->loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || _manager->loadState("TgaImporter") == PluginManager::LoadState::NotFound) CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); @@ -559,7 +523,7 @@ void CompareImageTest::imageFileExternalPluginManager() { (CompareImageFile{*_manager, 40.0f, 20.0f})); } -void CompareImageTest::imageFileExternalPluginManagerError() { +void CompareImageTest::imageFileError() { if(_manager->loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || _manager->loadState("TgaImporter") == PluginManager::LoadState::NotFound) CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); @@ -598,17 +562,14 @@ void CompareImageTest::imageFilePluginLoadFailed() { } void CompareImageTest::imageFileActualLoadFailed() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("TgaImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); - } + if(_manager->loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || + _manager->loadState("TgaImporter") == PluginManager::LoadState::NotFound) + CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); std::stringstream out; { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; + TestSuite::Comparator compare{&*_manager, 20.0f, 10.0f}; CORRADE_VERIFY(!compare("nonexistent.tga", Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageExpected.tga"))); Debug d{&out, Debug::Flag::DisableColors}; @@ -619,17 +580,14 @@ void CompareImageTest::imageFileActualLoadFailed() { } void CompareImageTest::imageFileExpectedLoadFailed() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("TgaImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); - } + if(_manager->loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || + _manager->loadState("TgaImporter") == PluginManager::LoadState::NotFound) + CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); std::stringstream out; { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; + TestSuite::Comparator compare{&*_manager, 20.0f, 10.0f}; CORRADE_VERIFY(!compare( Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageActual.tga"), "nonexistent.tga")); @@ -641,17 +599,15 @@ void CompareImageTest::imageFileExpectedLoadFailed() { } void CompareImageTest::imageFileActualIsCompressed() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("DdsImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or DdsImporter plugins not found."); - } + PluginManager::Manager manager; + if(manager.load("AnyImageImporter") < PluginManager::LoadState::Loaded || + manager.load("DdsImporter") < PluginManager::LoadState::Loaded) + CORRADE_SKIP("AnyImageImporter or DdsImporter plugins can't be loaded."); std::stringstream out; { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; + TestSuite::Comparator compare{&manager, 20.0f, 10.0f}; CORRADE_VERIFY(!compare( Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageCompressed.dds"), Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageExpected.tga"))); @@ -663,17 +619,15 @@ void CompareImageTest::imageFileActualIsCompressed() { } void CompareImageTest::imageFileExpectedIsCompressed() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("DdsImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or DdsImporter plugins not found."); - } + PluginManager::Manager manager; + if(manager.load("AnyImageImporter") < PluginManager::LoadState::Loaded || + manager.load("DdsImporter") < PluginManager::LoadState::Loaded) + CORRADE_SKIP("AnyImageImporter or DdsImporter plugins can't be loaded."); std::stringstream out; { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; + TestSuite::Comparator compare{&manager, 20.0f, 10.0f}; CORRADE_VERIFY(!compare( Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageActual.tga"), Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageCompressed.dds"))); @@ -686,50 +640,17 @@ void CompareImageTest::imageFileExpectedIsCompressed() { } void CompareImageTest::imageToFile() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("TgaImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); - } - - CORRADE_COMPARE_WITH(ActualRgb, - Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageExpected.tga"), - (CompareImageToFile{40.0f, 20.0f})); -} - -void CompareImageTest::imageToFileError() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("TgaImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); - } - - std::stringstream out; - - { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; - CORRADE_VERIFY(!compare(ActualRgb, - Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageExpected.tga"))); - Debug d{&out, Debug::Flag::DisableColors}; - compare.printErrorMessage(d, "a", "b"); - } - - CORRADE_COMPARE(out.str(), ImageCompareError); -} - -void CompareImageTest::imageToFileExternalPluginManager() { if(_manager->loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || _manager->loadState("TgaImporter") == PluginManager::LoadState::NotFound) CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); + CORRADE_COMPARE_WITH(ActualRgb, Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageExpected.tga"), (CompareImageToFile{*_manager, 40.0f, 20.0f})); } -void CompareImageTest::imageToFileExternalPluginManagerError() { +void CompareImageTest::imageToFileError() { if(_manager->loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || _manager->loadState("TgaImporter") == PluginManager::LoadState::NotFound) CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); @@ -766,17 +687,14 @@ void CompareImageTest::imageToFilePluginLoadFailed() { } void CompareImageTest::imageToFileExpectedLoadFailed() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("TgaImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); - } + if(_manager->loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || + _manager->loadState("TgaImporter") == PluginManager::LoadState::NotFound) + CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); std::stringstream out; { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; + TestSuite::Comparator compare{&*_manager, 20.0f, 10.0f}; CORRADE_VERIFY(!compare(ActualRgb, "nonexistent.tga")); Debug d{&out, Debug::Flag::DisableColors}; compare.printErrorMessage(d, "a", "b"); @@ -786,17 +704,15 @@ void CompareImageTest::imageToFileExpectedLoadFailed() { } void CompareImageTest::imageToFileExpectedIsCompressed() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("DdsImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or DdsImporter plugins not found."); - } + PluginManager::Manager manager; + if(manager.load("AnyImageImporter") < PluginManager::LoadState::Loaded || + manager.load("DdsImporter") < PluginManager::LoadState::Loaded) + CORRADE_SKIP("AnyImageImporter or DdsImporter plugins can't be loaded."); std::stringstream out; { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; + TestSuite::Comparator compare{&manager, 20.0f, 10.0f}; CORRADE_VERIFY(!compare(ActualRgb, Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageCompressed.dds"))); Debug d{&out, Debug::Flag::DisableColors}; compare.printErrorMessage(d, "a", "b"); @@ -807,42 +723,6 @@ void CompareImageTest::imageToFileExpectedIsCompressed() { } void CompareImageTest::fileToImage() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("TgaImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); - } - - CORRADE_COMPARE_WITH( - Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageActual.tga"), - ExpectedRgb, - (CompareFileToImage{40.0f, 20.0f})); -} - -void CompareImageTest::fileToImageError() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("TgaImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); - } - - std::stringstream out; - - { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; - CORRADE_VERIFY(!compare( - Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageActual.tga"), - ExpectedRgb)); - Debug d{&out, Debug::Flag::DisableColors}; - compare.printErrorMessage(d, "a", "b"); - } - - CORRADE_COMPARE(out.str(), ImageCompareError); -} - -void CompareImageTest::fileToImageExternalPluginManager() { if(_manager->loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || _manager->loadState("TgaImporter") == PluginManager::LoadState::NotFound) CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); @@ -853,7 +733,7 @@ void CompareImageTest::fileToImageExternalPluginManager() { (CompareFileToImage{*_manager, 40.0f, 20.0f})); } -void CompareImageTest::fileToImageExternalPluginManagerError() { +void CompareImageTest::fileToImageError() { if(_manager->loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || _manager->loadState("TgaImporter") == PluginManager::LoadState::NotFound) CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); @@ -892,17 +772,14 @@ void CompareImageTest::fileToImagePluginLoadFailed() { } void CompareImageTest::fileToImageActualLoadFailed() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("TgaImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); - } + if(_manager->loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || + _manager->loadState("TgaImporter") == PluginManager::LoadState::NotFound) + CORRADE_SKIP("AnyImageImporter or TgaImporter plugins not found."); std::stringstream out; { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; + TestSuite::Comparator compare{&*_manager, 20.0f, 10.0f}; CORRADE_VERIFY(!compare("nonexistent.tga", ExpectedRgb)); Debug d{&out, Debug::Flag::DisableColors}; compare.printErrorMessage(d, "a", "b"); @@ -912,17 +789,15 @@ void CompareImageTest::fileToImageActualLoadFailed() { } void CompareImageTest::fileToImageActualIsCompressed() { - { - PluginManager::Manager manager; - if(manager.loadState("AnyImageImporter") == PluginManager::LoadState::NotFound || - manager.loadState("DdsImporter") == PluginManager::LoadState::NotFound) - CORRADE_SKIP("AnyImageImporter or DdsImporter plugins not found."); - } + PluginManager::Manager manager; + if(manager.load("AnyImageImporter") < PluginManager::LoadState::Loaded || + manager.load("DdsImporter") < PluginManager::LoadState::Loaded) + CORRADE_SKIP("AnyImageImporter or DdsImporter plugins can't be loaded."); std::stringstream out; { - TestSuite::Comparator compare{nullptr, 20.0f, 10.0f}; + TestSuite::Comparator compare{&manager, 20.0f, 10.0f}; CORRADE_VERIFY(!compare(Utility::Directory::join(DEBUGTOOLS_TEST_DIR, "CompareImageCompressed.dds"), ExpectedRgb)); Debug d{&out, Debug::Flag::DisableColors}; compare.printErrorMessage(d, "a", "b");