diff --git a/test/standalone/datasource_registration_test.cpp b/test/standalone/datasource_registration_test.cpp index 2edbcd72f..9d6266c47 100644 --- a/test/standalone/datasource_registration_test.cpp +++ b/test/standalone/datasource_registration_test.cpp @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -22,19 +23,24 @@ SECTION("registration") { success = cache.register_datasources("test/data/vrt"); CHECK(success == false); - // registering a directory for the first time should return true - success = cache.register_datasources("plugins/input"); - REQUIRE(success == true); + // use existence of shape.input as proxy for whether any datasource plugins are available + std::string shape_plugin("./plugins/input/shape.input"); + if (mapnik::util::exists(shape_plugin)) + { + // registering a directory for the first time should return true + success = cache.register_datasources("plugins/input"); + REQUIRE(success == true); - // registering the same directory again should now return false - success = cache.register_datasources("plugins/input"); - CHECK(success == false); + // registering the same directory again should now return false + success = cache.register_datasources("plugins/input"); + CHECK(success == false); - // registering the same directory again, but recursively should - // still return false - even though there are subdirectories, they - // do not contain any more plugins. - success = cache.register_datasources("plugins/input", true); - CHECK(success == false); + // registering the same directory again, but recursively should + // still return false - even though there are subdirectories, they + // do not contain any more plugins. + success = cache.register_datasources("plugins/input", true); + CHECK(success == false); + } } catch (std::exception const & ex) {