From f9ae3166a98c9e5475b082218602f435f0f66e53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 7 Mar 2022 19:28:20 +0100 Subject: [PATCH] Trade: port plugin tests to the new Utility::Path. Since the plugin implementations rely on the base plugin interfaces for file handling, this affected only the tests. Also took this as an opportunity to use the new TestSuite::Compare::StringHasPrefix etc. in various places. --- .../Test/AnyImageConverterTest.cpp | 368 +++++++++--------- .../Test/AnyImageImporterTest.cpp | 73 ++-- .../Test/AnySceneConverterTest.cpp | 20 +- .../Test/AnySceneImporterTest.cpp | 8 +- .../ObjImporter/Test/ObjImporterTest.cpp | 90 ++--- .../Test/TgaImageConverterTest.cpp | 2 +- .../TgaImporter/Test/TgaImporterTest.cpp | 10 +- 7 files changed, 298 insertions(+), 273 deletions(-) diff --git a/src/MagnumPlugins/AnyImageConverter/Test/AnyImageConverterTest.cpp b/src/MagnumPlugins/AnyImageConverter/Test/AnyImageConverterTest.cpp index 466633a31..8e1dee624 100644 --- a/src/MagnumPlugins/AnyImageConverter/Test/AnyImageConverterTest.cpp +++ b/src/MagnumPlugins/AnyImageConverter/Test/AnyImageConverterTest.cpp @@ -25,14 +25,15 @@ #include #include /* std::thread::hardware_concurrency(), sigh */ -#include +#include #include #include #include +#include #include -#include #include #include +#include #include "Magnum/ImageView.h" #include "Magnum/PixelFormat.h" @@ -387,9 +388,11 @@ AnyImageConverterTest::AnyImageConverterTest() { #endif /* Create the output directory if it doesn't exist yet */ - CORRADE_INTERNAL_ASSERT_OUTPUT(Utility::Directory::mkpath(ANYIMAGECONVERTER_TEST_OUTPUT_DIR)); + CORRADE_INTERNAL_ASSERT_OUTPUT(Utility::Path::make(ANYIMAGECONVERTER_TEST_OUTPUT_DIR)); } +using namespace Containers::Literals; + /* 2*3*2 RGB pixels with four-byte row padding, or 3 16-byte blocks */ constexpr const char Data[] = { 1, 2, 3, 2, 3, 4, 0, 0, @@ -433,10 +436,9 @@ void AnyImageConverterTest::convert1D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "1d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "1d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); CORRADE_VERIFY(converter->convertToFile(Image1D, filename)); @@ -450,15 +452,14 @@ void AnyImageConverterTest::convert2D() { if(!(_manager.loadState("TgaImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("TgaImageConverter plugin not enabled, cannot test"); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "2d.tga"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "2d.tga"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = _manager.instantiate("AnyImageConverter"); CORRADE_VERIFY(converter->convertToFile(Image2D, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } void AnyImageConverterTest::convert3D() { @@ -471,10 +472,9 @@ void AnyImageConverterTest::convert3D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "3d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "3d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); CORRADE_VERIFY(converter->convertToFile(Image3D, filename)); @@ -494,15 +494,14 @@ void AnyImageConverterTest::convertCompressed1D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-1d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-1d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = manager.instantiate("AnyImageConverter"); CORRADE_VERIFY(converter->convertToFile(CompressedImage1D, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } void AnyImageConverterTest::convertCompressed2D() { @@ -515,15 +514,14 @@ void AnyImageConverterTest::convertCompressed2D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-2d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-2d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = manager.instantiate("AnyImageConverter"); CORRADE_VERIFY(converter->convertToFile(CompressedImage2D, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } void AnyImageConverterTest::convertCompressed3D() { @@ -536,15 +534,14 @@ void AnyImageConverterTest::convertCompressed3D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-3d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-3d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = manager.instantiate("AnyImageConverter"); CORRADE_VERIFY(converter->convertToFile(CompressedImage3D, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } void AnyImageConverterTest::convertLevels1D() { @@ -557,17 +554,16 @@ void AnyImageConverterTest::convertLevels1D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "levels-1d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "levels-1d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = manager.instantiate("AnyImageConverter"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({Image1D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } void AnyImageConverterTest::convertLevels2D() { @@ -580,17 +576,16 @@ void AnyImageConverterTest::convertLevels2D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "levels-2d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "levels-2d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = manager.instantiate("AnyImageConverter"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({Image2D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } void AnyImageConverterTest::convertLevels3D() { @@ -603,17 +598,16 @@ void AnyImageConverterTest::convertLevels3D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "levels-3d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "levels-3d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = manager.instantiate("AnyImageConverter"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({Image3D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } void AnyImageConverterTest::convertCompressedLevels1D() { @@ -626,17 +620,16 @@ void AnyImageConverterTest::convertCompressedLevels1D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-levels-1d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-levels-1d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = manager.instantiate("AnyImageConverter"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({CompressedImage1D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } void AnyImageConverterTest::convertCompressedLevels2D() { @@ -649,17 +642,16 @@ void AnyImageConverterTest::convertCompressedLevels2D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-levels-2d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-levels-2d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = manager.instantiate("AnyImageConverter"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({CompressedImage2D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } void AnyImageConverterTest::convertCompressedLevels3D() { @@ -672,17 +664,16 @@ void AnyImageConverterTest::convertCompressedLevels3D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-levels-3d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-levels-3d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = manager.instantiate("AnyImageConverter"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({CompressedImage3D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } void AnyImageConverterTest::detect1D() { @@ -1071,10 +1062,9 @@ void AnyImageConverterTest::propagateFlags2D() { if(!(_manager.loadState("TgaImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("TgaImageConverter plugin not enabled, cannot test"); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "output.tga"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "output.tga"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); /* Just test that the exported file exists */ Containers::Pointer converter = _manager.instantiate("AnyImageConverter"); @@ -1084,7 +1074,7 @@ void AnyImageConverterTest::propagateFlags2D() { Debug redirectOutput{&out}; CORRADE_VERIFY(converter->convertToFile(Image2D, filename)); } - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): using TgaImageConverter\n" "Trade::TgaImageConverter::convertToData(): converting from RGB to BGR\n"); @@ -1100,10 +1090,9 @@ void AnyImageConverterTest::propagateFlags3D() { if(!(manager.load("OpenExrImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("OpenExrImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "cube.exr"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "cube.exr"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("envmap", "cube"); @@ -1115,8 +1104,8 @@ void AnyImageConverterTest::propagateFlags3D() { converter->configuration().setValue("threads", 0); CORRADE_VERIFY(converter->convertToFile(ImageCube, filename)); - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); converter->setFlags(ImageConverterFlag::Verbose); std::ostringstream out; @@ -1124,7 +1113,7 @@ void AnyImageConverterTest::propagateFlags3D() { Debug redirectOutput{&out}; CORRADE_VERIFY(converter->convertToFile(ImageCube, filename)); } - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); CORRADE_COMPARE(out.str(), Utility::formatString( "Trade::AnyImageConverter::convertToFile(): using OpenExrImageConverter\n" "Trade::OpenExrImageConverter::convertToData(): autodetected hardware concurrency to {} threads\n", @@ -1157,10 +1146,9 @@ void AnyImageConverterTest::propagateFlagsLevels2D() { if(!(manager.load("OpenExrImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("OpenExrImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "output.exr"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "output.exr"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); /* This will make the verbose output print the detected hardware thread @@ -1171,8 +1159,8 @@ void AnyImageConverterTest::propagateFlagsLevels2D() { converter->configuration().setValue("threads", 0); CORRADE_VERIFY(converter->convertToFile({Image2DFloat}, filename)); - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); converter->setFlags(ImageConverterFlag::Verbose); std::ostringstream out; @@ -1182,7 +1170,7 @@ void AnyImageConverterTest::propagateFlagsLevels2D() { still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({Image2DFloat}, filename)); } - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); CORRADE_COMPARE(out.str(), Utility::formatString( "Trade::AnyImageConverter::convertToFile(): using OpenExrImageConverter\n" "Trade::OpenExrImageConverter::convertToData(): autodetected hardware concurrency to {} threads\n", @@ -1199,10 +1187,9 @@ void AnyImageConverterTest::propagateFlagsLevels3D() { if(!(manager.load("OpenExrImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("OpenExrImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "cube.exr"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "cube.exr"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("envmap", "cube"); @@ -1214,8 +1201,8 @@ void AnyImageConverterTest::propagateFlagsLevels3D() { converter->configuration().setValue("threads", 0); CORRADE_VERIFY(converter->convertToFile({ImageCube}, filename)); - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); converter->setFlags(ImageConverterFlag::Verbose); std::ostringstream out; @@ -1225,7 +1212,7 @@ void AnyImageConverterTest::propagateFlagsLevels3D() { still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({ImageCube}, filename)); } - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); CORRADE_COMPARE(out.str(), Utility::formatString( "Trade::AnyImageConverter::convertToFile(): using OpenExrImageConverter\n" "Trade::OpenExrImageConverter::convertToData(): autodetected hardware concurrency to {} threads\n", @@ -1254,17 +1241,19 @@ void AnyImageConverterTest::propagateConfiguration1D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "custom-writer-1d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "custom-writer-1d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); CORRADE_VERIFY(converter->convertToFile(Image1D, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfiguration2D() { @@ -1277,10 +1266,9 @@ void AnyImageConverterTest::propagateConfiguration2D() { if(!(manager.load("OpenExrImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("OpenExrImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "depth32f-custom-channels.exr"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "depth32f-custom-channels.exr"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("layer", "left"); @@ -1302,17 +1290,19 @@ void AnyImageConverterTest::propagateConfiguration3D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "custom-writer-3d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "custom-writer-3d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); CORRADE_VERIFY(converter->convertToFile(Image3D, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfigurationUnknown1D() { @@ -1330,7 +1320,7 @@ void AnyImageConverterTest::propagateConfigurationUnknown1D() { std::ostringstream out; Warning redirectWarning{&out}; - CORRADE_VERIFY(converter->convertToFile(Image1D, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "1d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile(Image1D, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "1d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } @@ -1343,7 +1333,7 @@ void AnyImageConverterTest::propagateConfigurationUnknown2D() { std::ostringstream out; Warning redirectWarning{&out}; - CORRADE_VERIFY(converter->convertToFile(Image2D, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "2d.tga"))); + CORRADE_VERIFY(converter->convertToFile(Image2D, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "2d.tga"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by TgaImageConverter\n"); } @@ -1362,7 +1352,7 @@ void AnyImageConverterTest::propagateConfigurationUnknown3D() { std::ostringstream out; Warning redirectWarning{&out}; - CORRADE_VERIFY(converter->convertToFile(Image3D, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "3d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile(Image3D, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "3d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } @@ -1376,17 +1366,19 @@ void AnyImageConverterTest::propagateConfigurationCompressed1D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-custom-writer-1d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-custom-writer-1d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); CORRADE_VERIFY(converter->convertToFile(CompressedImage1D, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfigurationCompressed2D() { @@ -1399,17 +1391,19 @@ void AnyImageConverterTest::propagateConfigurationCompressed2D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-custom-writer-2d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-custom-writer-2d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); CORRADE_VERIFY(converter->convertToFile(CompressedImage2D, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfigurationCompressed3D() { @@ -1422,17 +1416,19 @@ void AnyImageConverterTest::propagateConfigurationCompressed3D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-custom-writer-3d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-custom-writer-3d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); CORRADE_VERIFY(converter->convertToFile(CompressedImage3D, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfigurationCompressedUnknown1D() { @@ -1450,7 +1446,7 @@ void AnyImageConverterTest::propagateConfigurationCompressedUnknown1D() { std::ostringstream out; Warning redirectWarning{&out}; - CORRADE_VERIFY(converter->convertToFile(CompressedImage1D, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-1d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile(CompressedImage1D, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-1d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } @@ -1469,7 +1465,7 @@ void AnyImageConverterTest::propagateConfigurationCompressedUnknown2D() { std::ostringstream out; Warning redirectWarning{&out}; - CORRADE_VERIFY(converter->convertToFile(CompressedImage2D, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-2d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile(CompressedImage2D, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-2d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } @@ -1488,7 +1484,7 @@ void AnyImageConverterTest::propagateConfigurationCompressedUnknown3D() { std::ostringstream out; Warning redirectWarning{&out}; - CORRADE_VERIFY(converter->convertToFile(CompressedImage3D, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-3d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile(CompressedImage3D, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-3d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } @@ -1502,19 +1498,21 @@ void AnyImageConverterTest::propagateConfigurationLevels1D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "custom-writer-1d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "custom-writer-1d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({Image1D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfigurationLevels2D() { @@ -1527,19 +1525,21 @@ void AnyImageConverterTest::propagateConfigurationLevels2D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "custom-writer-2d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "custom-writer-2d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({Image2D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfigurationLevels3D() { @@ -1552,19 +1552,21 @@ void AnyImageConverterTest::propagateConfigurationLevels3D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "custom-writer-3d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "custom-writer-3d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({Image3D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfigurationUnknownLevels1D() { @@ -1584,7 +1586,7 @@ void AnyImageConverterTest::propagateConfigurationUnknownLevels1D() { Warning redirectWarning{&out}; /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ - CORRADE_VERIFY(converter->convertToFile({Image1D}, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "1d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile({Image1D}, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "1d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } @@ -1605,7 +1607,7 @@ void AnyImageConverterTest::propagateConfigurationUnknownLevels2D() { Warning redirectWarning{&out}; /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ - CORRADE_VERIFY(converter->convertToFile({Image2D}, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "2d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile({Image2D}, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "2d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } @@ -1626,7 +1628,7 @@ void AnyImageConverterTest::propagateConfigurationUnknownLevels3D() { Warning redirectWarning{&out}; /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ - CORRADE_VERIFY(converter->convertToFile({Image3D}, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "3d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile({Image3D}, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "3d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } @@ -1640,19 +1642,21 @@ void AnyImageConverterTest::propagateConfigurationCompressedLevels1D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-custom-writer-1d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-custom-writer-1d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({CompressedImage1D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfigurationCompressedLevels2D() { @@ -1665,19 +1669,21 @@ void AnyImageConverterTest::propagateConfigurationCompressedLevels2D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-custom-writer-2d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-custom-writer-2d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({CompressedImage2D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfigurationCompressedLevels3D() { @@ -1690,19 +1696,21 @@ void AnyImageConverterTest::propagateConfigurationCompressedLevels3D() { if(!(manager.load("KtxImageConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("KtxImageConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compresed-custom-writer-3d.ktx2"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compresed-custom-writer-3d.ktx2"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); Containers::Pointer converter = manager.instantiate("AnyImageConverter"); converter->configuration().setValue("writerName", "Yello this did Magnum!"); /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ CORRADE_VERIFY(converter->convertToFile({CompressedImage3D}, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); - /** @todo clean up once Directory::readString() returns our String */ - CORRADE_VERIFY(Containers::StringView{Containers::ArrayView(Utility::Directory::read(filename))}.contains("KTXwriter\0Yello this did Magnum!")); + + Containers::Optional output = Utility::Path::readString(filename); + CORRADE_VERIFY(output); + CORRADE_COMPARE_AS(*output, + "KTXwriter\0Yello this did Magnum!"_s, + TestSuite::Compare::StringContains); } void AnyImageConverterTest::propagateConfigurationCompressedUnknownLevels1D() { @@ -1722,7 +1730,7 @@ void AnyImageConverterTest::propagateConfigurationCompressedUnknownLevels1D() { Warning redirectWarning{&out}; /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ - CORRADE_VERIFY(converter->convertToFile({CompressedImage1D}, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-1d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile({CompressedImage1D}, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-1d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } @@ -1743,7 +1751,7 @@ void AnyImageConverterTest::propagateConfigurationCompressedUnknownLevels2D() { Warning redirectWarning{&out}; /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ - CORRADE_VERIFY(converter->convertToFile({CompressedImage2D}, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-2d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile({CompressedImage2D}, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-2d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } @@ -1764,7 +1772,7 @@ void AnyImageConverterTest::propagateConfigurationCompressedUnknownLevels3D() { Warning redirectWarning{&out}; /* Using the list API even though there's just one image, which should still trigger the correct code path for AnyImageConverter. */ - CORRADE_VERIFY(converter->convertToFile({CompressedImage3D}, Utility::Directory::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-3d.ktx2"))); + CORRADE_VERIFY(converter->convertToFile({CompressedImage3D}, Utility::Path::join(ANYIMAGECONVERTER_TEST_OUTPUT_DIR, "compressed-3d.ktx2"))); CORRADE_COMPARE(out.str(), "Trade::AnyImageConverter::convertToFile(): option noSuchOption not recognized by KtxImageConverter\n"); } diff --git a/src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp b/src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp index d8c792d7e..947b56777 100644 --- a/src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp +++ b/src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp @@ -30,9 +30,9 @@ #include #include #include -#include #include #include +#include #include "Magnum/ImageView.h" #include "Magnum/DebugTools/CompareImage.h" @@ -211,10 +211,11 @@ void AnyImageImporterTest::load1D() { Containers::Pointer importer = manager.instantiate("AnyImageImporter"); - if(data.asData) - CORRADE_VERIFY(importer->openData(Utility::Directory::read(data.filename))); - else - CORRADE_VERIFY(importer->openFile(data.filename)); + if(data.asData) { + Containers::Optional> read = Utility::Path::read(data.filename); + CORRADE_VERIFY(read); + CORRADE_VERIFY(importer->openData(*read)); + } else CORRADE_VERIFY(importer->openFile(data.filename)); CORRADE_COMPARE(importer->image1DCount(), 1); /* Check only size, as it is good enough proof that it is working */ @@ -232,10 +233,11 @@ void AnyImageImporterTest::load2D() { Containers::Pointer importer = _manager.instantiate("AnyImageImporter"); - if(data.asData) - CORRADE_VERIFY(importer->openData(Utility::Directory::read(data.filename))); - else - CORRADE_VERIFY(importer->openFile(data.filename)); + if(data.asData) { + Containers::Optional> read = Utility::Path::read(data.filename); + CORRADE_VERIFY(read); + CORRADE_VERIFY(importer->openData(*read)); + } else CORRADE_VERIFY(importer->openFile(data.filename)); CORRADE_COMPARE(importer->image2DCount(), 1); /* Check only size, as it is good enough proof that it is working */ @@ -262,10 +264,11 @@ void AnyImageImporterTest::load3D() { Containers::Pointer importer = manager.instantiate("AnyImageImporter"); - if(data.asData) - CORRADE_VERIFY(importer->openData(Utility::Directory::read(data.filename))); - else - CORRADE_VERIFY(importer->openFile(data.filename)); + if(data.asData) { + Containers::Optional> read = Utility::Path::read(data.filename); + CORRADE_VERIFY(read); + CORRADE_VERIFY(importer->openData(*read)); + } else CORRADE_VERIFY(importer->openFile(data.filename)); CORRADE_COMPARE(importer->image3DCount(), 1); /* Check only size, as it is good enough proof that it is working */ @@ -279,14 +282,15 @@ void AnyImageImporterTest::detect() { setTestCaseDescription(data.name); Containers::Pointer importer = _manager.instantiate("AnyImageImporter"); - const std::string filename = Utility::Directory::join(TEST_FILE_DIR, data.filename); + Containers::String filename = Utility::Path::join(TEST_FILE_DIR, data.filename); std::ostringstream out; Error redirectError{&out}; - if(data.asData) - CORRADE_VERIFY(!importer->openData(Utility::Directory::read(filename))); - else - CORRADE_VERIFY(!importer->openFile(filename)); + if(data.asData) { + Containers::Optional> read = Utility::Path::read(filename); + CORRADE_VERIFY(read); + CORRADE_VERIFY(!importer->openData(*read)); + } else CORRADE_VERIFY(!importer->openFile(filename)); /* Can't use raw string literals in macros on GCC 4.8 */ #ifndef CORRADE_PLUGINMANAGER_NO_DYNAMIC_PLUGIN_SUPPORT CORRADE_COMPARE(out.str(), Utility::formatString( @@ -343,10 +347,11 @@ void AnyImageImporterTest::propagateFlags() { std::ostringstream out; { Debug redirectOutput{&out}; - if(data.asData) - CORRADE_VERIFY(importer->openData(Utility::Directory::read(data.filename))); - else - CORRADE_VERIFY(importer->openFile(data.filename)); + if(data.asData) { + Containers::Optional> read = Utility::Path::read(data.filename); + CORRADE_VERIFY(read); + CORRADE_VERIFY(importer->openData(*read)); + } else CORRADE_VERIFY(importer->openFile(data.filename)); CORRADE_VERIFY(importer->image2D(0)); } CORRADE_COMPARE(out.str(), Utility::formatString( @@ -372,10 +377,11 @@ void AnyImageImporterTest::propagateConfiguration() { importer->configuration().setValue("layer", "left"); importer->configuration().setValue("depth", "height"); - if(data.asData) - CORRADE_VERIFY(importer->openData(Utility::Directory::read(data.filename))); - else - CORRADE_VERIFY(importer->openFile(data.filename)); + if(data.asData) { + Containers::Optional> read = Utility::Path::read(data.filename); + CORRADE_VERIFY(read); + CORRADE_VERIFY(importer->openData(*read)); + } else CORRADE_VERIFY(importer->openFile(data.filename)); Containers::Optional image = importer->image2D(0); CORRADE_VERIFY(image); @@ -401,10 +407,11 @@ void AnyImageImporterTest::propagateConfigurationUnknown() { std::ostringstream out; Warning redirectWarning{&out}; - if(data.asData) - CORRADE_VERIFY(importer->openData(Utility::Directory::read(data.filename))); - else - CORRADE_VERIFY(importer->openFile(data.filename)); + if(data.asData) { + Containers::Optional> read = Utility::Path::read(data.filename); + CORRADE_VERIFY(read); + CORRADE_VERIFY(importer->openData(*read)); + } else CORRADE_VERIFY(importer->openFile(data.filename)); CORRADE_COMPARE(out.str(), Utility::formatString("Trade::AnyImageImporter::{}(): option noSuchOption not recognized by TgaImporter\n", data.messageFunctionName)); } @@ -416,10 +423,14 @@ void AnyImageImporterTest::propagateFileCallback() { Containers::Array storage; importer->setFileCallback([](const std::string&, InputFileCallbackPolicy, Containers::Array& storage) -> Containers::Optional> { - storage = Utility::Directory::read(TGA_FILE); + Containers::Optional> data = Utility::Path::read(TGA_FILE); + CORRADE_VERIFY(data); + storage = *std::move(data); return Containers::ArrayView{storage}; }, storage); + CORRADE_VERIFY(true); /* Capture correct function name first */ + CORRADE_VERIFY(importer->openFile("you-know-where-the-file-is.tga")); CORRADE_COMPARE(importer->image2DCount(), 1); diff --git a/src/MagnumPlugins/AnySceneConverter/Test/AnySceneConverterTest.cpp b/src/MagnumPlugins/AnySceneConverter/Test/AnySceneConverterTest.cpp index f5d428b9b..9e99fa019 100644 --- a/src/MagnumPlugins/AnySceneConverter/Test/AnySceneConverterTest.cpp +++ b/src/MagnumPlugins/AnySceneConverter/Test/AnySceneConverterTest.cpp @@ -25,14 +25,13 @@ #include #include -#include #include #include #include #include -#include #include #include +#include #include "Magnum/Math/Vector3.h" #include "Magnum/Trade/AbstractSceneConverter.h" @@ -88,7 +87,7 @@ AnySceneConverterTest::AnySceneConverterTest() { #endif /* Create the output directory if it doesn't exist yet */ - CORRADE_INTERNAL_ASSERT_OUTPUT(Utility::Directory::mkpath(ANYSCENECONVERTER_TEST_OUTPUT_DIR)); + CORRADE_INTERNAL_ASSERT_OUTPUT(Utility::Path::make(ANYSCENECONVERTER_TEST_OUTPUT_DIR)); } void AnySceneConverterTest::convert() { @@ -101,10 +100,9 @@ void AnySceneConverterTest::convert() { if(!(manager.load("StanfordSceneConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("StanfordSceneConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYSCENECONVERTER_TEST_OUTPUT_DIR, "file.ply"); - - if(Utility::Directory::exists(filename)) - CORRADE_VERIFY(Utility::Directory::rm(filename)); + Containers::String filename = Utility::Path::join(ANYSCENECONVERTER_TEST_OUTPUT_DIR, "file.ply"); + if(Utility::Path::exists(filename)) + CORRADE_VERIFY(Utility::Path::remove(filename)); const Vector3 positions[] { {-0.5f, -0.5f, 0.0f}, @@ -161,7 +159,7 @@ void AnySceneConverterTest::propagateFlags() { if(!(manager.load("StanfordSceneConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("StanfordSceneConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYSCENECONVERTER_TEST_OUTPUT_DIR, "file.ply"); + Containers::String filename = Utility::Path::join(ANYSCENECONVERTER_TEST_OUTPUT_DIR, "file.ply"); const Vector3 positions[] { {-0.5f, -0.5f, 0.0f}, @@ -179,7 +177,7 @@ void AnySceneConverterTest::propagateFlags() { { Debug redirectOutput{&out}; CORRADE_VERIFY(converter->convertToFile(mesh, filename)); - CORRADE_VERIFY(Utility::Directory::exists(filename)); + CORRADE_VERIFY(Utility::Path::exists(filename)); } CORRADE_COMPARE(out.str(), "Trade::AnySceneConverter::convertToFile(): using StanfordSceneConverter\n"); @@ -199,7 +197,7 @@ void AnySceneConverterTest::propagateConfiguration() { if(!(manager.load("StanfordSceneConverter") & PluginManager::LoadState::Loaded)) CORRADE_SKIP("StanfordSceneConverter plugin can't be loaded."); - const std::string filename = Utility::Directory::join(ANYSCENECONVERTER_TEST_OUTPUT_DIR, "file.ply"); + Containers::String filename = Utility::Path::join(ANYSCENECONVERTER_TEST_OUTPUT_DIR, "file.ply"); const struct Data { Vector3 position; @@ -246,7 +244,7 @@ void AnySceneConverterTest::propagateConfigurationUnknown() { std::ostringstream out; Warning redirectWarning{&out}; - CORRADE_VERIFY(converter->convertToFile(mesh, Utility::Directory::join(ANYSCENECONVERTER_TEST_OUTPUT_DIR, "file.ply"))); + CORRADE_VERIFY(converter->convertToFile(mesh, Utility::Path::join(ANYSCENECONVERTER_TEST_OUTPUT_DIR, "file.ply"))); CORRADE_COMPARE(out.str(), "Trade::AnySceneConverter::convertToFile(): option noSuchOption not recognized by StanfordSceneConverter\n"); } diff --git a/src/MagnumPlugins/AnySceneImporter/Test/AnySceneImporterTest.cpp b/src/MagnumPlugins/AnySceneImporter/Test/AnySceneImporterTest.cpp index e2048bc08..34ed8f0bd 100644 --- a/src/MagnumPlugins/AnySceneImporter/Test/AnySceneImporterTest.cpp +++ b/src/MagnumPlugins/AnySceneImporter/Test/AnySceneImporterTest.cpp @@ -30,8 +30,8 @@ #include #include #include -#include #include +#include #include "Magnum/Math/Vector3.h" #include "Magnum/Trade/AbstractImporter.h" @@ -282,10 +282,14 @@ void AnySceneImporterTest::propagateFileCallback() { Containers::Array storage; importer->setFileCallback([](const std::string&, InputFileCallbackPolicy, Containers::Array& storage) -> Containers::Optional> { - storage = Utility::Directory::read(OBJ_FILE); + Containers::Optional> data = Utility::Path::read(OBJ_FILE); + CORRADE_VERIFY(data); + storage = *std::move(data); return Containers::ArrayView{storage}; }, storage); + CORRADE_VERIFY(true); /* Capture correct function name first */ + CORRADE_VERIFY(importer->openFile("you-know-where-the-file-is.obj")); CORRADE_COMPARE(importer->meshCount(), 1); diff --git a/src/MagnumPlugins/ObjImporter/Test/ObjImporterTest.cpp b/src/MagnumPlugins/ObjImporter/Test/ObjImporterTest.cpp index f89fd260f..2be946126 100644 --- a/src/MagnumPlugins/ObjImporter/Test/ObjImporterTest.cpp +++ b/src/MagnumPlugins/ObjImporter/Test/ObjImporterTest.cpp @@ -25,10 +25,12 @@ #include #include +#include +#include /** @todo remove once AbstractImporter is -free */ #include #include #include -#include +#include #include "Magnum/Mesh.h" #include "Magnum/Math/Vector3.h" @@ -160,7 +162,7 @@ ObjImporterTest::ObjImporterTest() { void ObjImporterTest::pointMesh() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "pointMesh.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "pointMesh.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); const Containers::Optional data = importer->mesh(0); @@ -184,7 +186,7 @@ void ObjImporterTest::pointMesh() { void ObjImporterTest::lineMesh() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "lineMesh.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "lineMesh.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); const Containers::Optional data = importer->mesh(0); @@ -206,7 +208,7 @@ void ObjImporterTest::lineMesh() { void ObjImporterTest::triangleMesh() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "triangleMesh.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "triangleMesh.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); const Containers::Optional data = importer->mesh(0); @@ -229,7 +231,7 @@ void ObjImporterTest::triangleMesh() { void ObjImporterTest::mixedPrimitives() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "mixedPrimitives.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "mixedPrimitives.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); std::ostringstream out; @@ -240,7 +242,7 @@ void ObjImporterTest::mixedPrimitives() { void ObjImporterTest::positionsOnly() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "triangleMesh.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "triangleMesh.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); const Containers::Optional data = importer->mesh(0); @@ -251,7 +253,7 @@ void ObjImporterTest::positionsOnly() { void ObjImporterTest::textureCoordinates() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "textureCoordinates.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "textureCoordinates.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); const Containers::Optional data = importer->mesh(0); @@ -281,7 +283,7 @@ void ObjImporterTest::textureCoordinates() { void ObjImporterTest::normals() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "normals.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "normals.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); const Containers::Optional data = importer->mesh(0); @@ -311,7 +313,7 @@ void ObjImporterTest::normals() { void ObjImporterTest::textureCoordinatesNormals() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "textureCoordinatesNormals.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "textureCoordinatesNormals.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); const Containers::Optional data = importer->mesh(0); @@ -351,13 +353,13 @@ void ObjImporterTest::textureCoordinatesNormals() { void ObjImporterTest::emptyFile() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "emptyFile.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "emptyFile.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); } void ObjImporterTest::unnamedMesh() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "emptyFile.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "emptyFile.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); CORRADE_COMPARE(importer->meshName(0), ""); CORRADE_COMPARE(importer->meshForName(""), -1); @@ -365,7 +367,7 @@ void ObjImporterTest::unnamedMesh() { void ObjImporterTest::namedMesh() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "namedMesh.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "namedMesh.obj"))); CORRADE_COMPARE(importer->meshCount(), 1); CORRADE_COMPARE(importer->meshName(0), "MyMesh"); CORRADE_COMPARE(importer->meshForName("MyMesh"), 0); @@ -373,7 +375,7 @@ void ObjImporterTest::namedMesh() { void ObjImporterTest::moreMeshes() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "moreMeshes.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "moreMeshes.obj"))); CORRADE_COMPARE(importer->meshCount(), 3); CORRADE_COMPARE(importer->meshName(0), "PointMesh"); @@ -453,7 +455,7 @@ void ObjImporterTest::moreMeshes() { void ObjImporterTest::unnamedFirstMesh() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "unnamedFirstMesh.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "unnamedFirstMesh.obj"))); CORRADE_COMPARE(importer->meshCount(), 2); CORRADE_COMPARE(importer->meshName(0), ""); @@ -465,7 +467,7 @@ void ObjImporterTest::unnamedFirstMesh() { void ObjImporterTest::wrongFloat() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumbers.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumbers.obj"))); const Int id = importer->meshForName("WrongFloat"); CORRADE_VERIFY(id > -1); @@ -477,7 +479,7 @@ void ObjImporterTest::wrongFloat() { void ObjImporterTest::wrongInteger() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumbers.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumbers.obj"))); const Int id = importer->meshForName("WrongInteger"); CORRADE_VERIFY(id > -1); @@ -489,7 +491,7 @@ void ObjImporterTest::wrongInteger() { void ObjImporterTest::unmergedIndexOutOfRange() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumbers.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumbers.obj"))); const Int id = importer->meshForName("PositionIndexOutOfRange"); CORRADE_VERIFY(id > -1); @@ -501,7 +503,7 @@ void ObjImporterTest::unmergedIndexOutOfRange() { void ObjImporterTest::mergedIndexOutOfRange() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumbers.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumbers.obj"))); const Int id = importer->meshForName("TextureIndexOutOfRange"); CORRADE_VERIFY(id > -1); @@ -513,7 +515,7 @@ void ObjImporterTest::mergedIndexOutOfRange() { void ObjImporterTest::zeroIndex() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumbers.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumbers.obj"))); const Int id = importer->meshForName("ZeroIndex"); CORRADE_VERIFY(id > -1); @@ -525,7 +527,7 @@ void ObjImporterTest::zeroIndex() { void ObjImporterTest::explicitOptionalPositionCoordinate() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "optionalCoordinates.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "optionalCoordinates.obj"))); const Int id = importer->meshForName("SupportedPositionW"); CORRADE_VERIFY(id > -1); @@ -540,7 +542,7 @@ void ObjImporterTest::explicitOptionalPositionCoordinate() { void ObjImporterTest::explicitOptionalTextureCoordinate() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "optionalCoordinates.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "optionalCoordinates.obj"))); const Int id = importer->meshForName("SupportedTextureW"); CORRADE_VERIFY(id > -1); @@ -555,7 +557,7 @@ void ObjImporterTest::explicitOptionalTextureCoordinate() { void ObjImporterTest::unsupportedOptionalPositionCoordinate() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "optionalCoordinates.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "optionalCoordinates.obj"))); const Int id = importer->meshForName("UnsupportedPositionW"); CORRADE_VERIFY(id > -1); @@ -567,7 +569,7 @@ void ObjImporterTest::unsupportedOptionalPositionCoordinate() { void ObjImporterTest::unsupportedOptionalTextureCoordinate() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "optionalCoordinates.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "optionalCoordinates.obj"))); const Int id = importer->meshForName("UnsupportedTextureW"); CORRADE_VERIFY(id > -1); @@ -579,7 +581,7 @@ void ObjImporterTest::unsupportedOptionalTextureCoordinate() { void ObjImporterTest::shortFloatData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); const Int id = importer->meshForName("ShortFloat"); CORRADE_VERIFY(id > -1); @@ -591,7 +593,7 @@ void ObjImporterTest::shortFloatData() { void ObjImporterTest::longFloatData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); const Int id = importer->meshForName("LongFloat"); CORRADE_VERIFY(id > -1); @@ -603,7 +605,7 @@ void ObjImporterTest::longFloatData() { void ObjImporterTest::longOptionalFloatData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); const Int id = importer->meshForName("LongOptionalFloat"); CORRADE_VERIFY(id > -1); @@ -615,7 +617,7 @@ void ObjImporterTest::longOptionalFloatData() { void ObjImporterTest::longIndexData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); const Int id = importer->meshForName("InvalidIndices"); CORRADE_VERIFY(id > -1); @@ -627,7 +629,7 @@ void ObjImporterTest::longIndexData() { void ObjImporterTest::wrongPointIndexData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); const Int id = importer->meshForName("WrongPointIndices"); CORRADE_VERIFY(id > -1); @@ -639,7 +641,7 @@ void ObjImporterTest::wrongPointIndexData() { void ObjImporterTest::wrongLineIndexData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); const Int id = importer->meshForName("WrongLineIndices"); CORRADE_VERIFY(id > -1); @@ -651,7 +653,7 @@ void ObjImporterTest::wrongLineIndexData() { void ObjImporterTest::wrongTriangleIndexData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); const Int id = importer->meshForName("WrongTriangleIndices"); CORRADE_VERIFY(id > -1); @@ -663,7 +665,7 @@ void ObjImporterTest::wrongTriangleIndexData() { void ObjImporterTest::polygonIndexData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongNumberCount.obj"))); const Int id = importer->meshForName("PolygonIndices"); CORRADE_VERIFY(id > -1); @@ -675,7 +677,7 @@ void ObjImporterTest::polygonIndexData() { void ObjImporterTest::missingPositionData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); const Int id = importer->meshForName("MissingPositionData"); CORRADE_VERIFY(id > -1); @@ -687,7 +689,7 @@ void ObjImporterTest::missingPositionData() { void ObjImporterTest::missingPositionIndices() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); const Int id = importer->meshForName("MissingPositionIndices"); CORRADE_VERIFY(id > -1); @@ -699,7 +701,7 @@ void ObjImporterTest::missingPositionIndices() { void ObjImporterTest::missingNormalData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); const Int id = importer->meshForName("MissingNormalData"); CORRADE_VERIFY(id > -1); @@ -711,7 +713,7 @@ void ObjImporterTest::missingNormalData() { void ObjImporterTest::missingNormalIndices() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); const Int id = importer->meshForName("MissingNormalIndices"); CORRADE_VERIFY(id > -1); @@ -723,7 +725,7 @@ void ObjImporterTest::missingNormalIndices() { void ObjImporterTest::missingTextureCoordinateData() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); const Int id = importer->meshForName("MissingTextureData"); CORRADE_VERIFY(id > -1); @@ -735,7 +737,7 @@ void ObjImporterTest::missingTextureCoordinateData() { void ObjImporterTest::missingTextureCoordinateIndices() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "missingData.obj"))); const Int id = importer->meshForName("MissingTextureIndices"); CORRADE_VERIFY(id > -1); @@ -747,7 +749,7 @@ void ObjImporterTest::missingTextureCoordinateIndices() { void ObjImporterTest::wrongNormalIndexCount() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongIndexCount.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongIndexCount.obj"))); const Int id = importer->meshForName("ShortNormalIndices"); CORRADE_VERIFY(id > -1); @@ -759,7 +761,7 @@ void ObjImporterTest::wrongNormalIndexCount() { void ObjImporterTest::wrongTextureCoordinateIndexCount() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "wrongIndexCount.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "wrongIndexCount.obj"))); const Int id = importer->meshForName("ShortTextureIndices"); CORRADE_VERIFY(id > -1); @@ -771,7 +773,7 @@ void ObjImporterTest::wrongTextureCoordinateIndexCount() { void ObjImporterTest::unsupportedKeyword() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "keywords.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "keywords.obj"))); const Int id = importer->meshForName("UnsupportedKeyword"); CORRADE_VERIFY(id > -1); @@ -793,7 +795,7 @@ void ObjImporterTest::unsupportedKeyword() { void ObjImporterTest::unknownKeyword() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "keywords.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "keywords.obj"))); const Int id = importer->meshForName("UnknownKeyword"); CORRADE_VERIFY(id > -1); @@ -806,15 +808,15 @@ void ObjImporterTest::unknownKeyword() { void ObjImporterTest::openTwice() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "pointMesh.obj"))); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "pointMesh.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "pointMesh.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "pointMesh.obj"))); /* Shouldn't crash, leak or anything */ } void ObjImporterTest::importTwice() { Containers::Pointer importer = _manager.instantiate("ObjImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(OBJIMPORTER_TEST_DIR, "pointMesh.obj"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(OBJIMPORTER_TEST_DIR, "pointMesh.obj"))); /* Verify that everything is working the same way on second use */ { diff --git a/src/MagnumPlugins/TgaImageConverter/Test/TgaImageConverterTest.cpp b/src/MagnumPlugins/TgaImageConverter/Test/TgaImageConverterTest.cpp index 16a66832e..1c552b414 100644 --- a/src/MagnumPlugins/TgaImageConverter/Test/TgaImageConverterTest.cpp +++ b/src/MagnumPlugins/TgaImageConverter/Test/TgaImageConverterTest.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include "Magnum/ImageView.h" #include "Magnum/PixelFormat.h" diff --git a/src/MagnumPlugins/TgaImporter/Test/TgaImporterTest.cpp b/src/MagnumPlugins/TgaImporter/Test/TgaImporterTest.cpp index ee2426cdb..3226201ab 100644 --- a/src/MagnumPlugins/TgaImporter/Test/TgaImporterTest.cpp +++ b/src/MagnumPlugins/TgaImporter/Test/TgaImporterTest.cpp @@ -26,12 +26,14 @@ #include #include #include +#include +#include /** @todo remove once AbstractImporter is -free */ #include #include #include #include -#include #include +#include #include "Magnum/PixelFormat.h" #include "Magnum/Trade/AbstractImporter.h" @@ -457,15 +459,15 @@ void TgaImporterTest::openMemory() { void TgaImporterTest::openTwice() { Containers::Pointer importer = _manager.instantiate("TgaImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(TGAIMPORTER_TEST_DIR, "file.tga"))); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(TGAIMPORTER_TEST_DIR, "file.tga"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(TGAIMPORTER_TEST_DIR, "file.tga"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(TGAIMPORTER_TEST_DIR, "file.tga"))); /* Shouldn't crash, leak or anything */ } void TgaImporterTest::importTwice() { Containers::Pointer importer = _manager.instantiate("TgaImporter"); - CORRADE_VERIFY(importer->openFile(Utility::Directory::join(TGAIMPORTER_TEST_DIR, "file.tga"))); + CORRADE_VERIFY(importer->openFile(Utility::Path::join(TGAIMPORTER_TEST_DIR, "file.tga"))); /* Verify that everything is working the same way on second use */ {