#include "catch.hpp" #include const char* env = nullptr; std::string name; const char* fake_getenv(const char* env_var) { name = env_var; return env; } #define getenv fake_getenv #include TEST_CASE("get_pool_threads") { env = nullptr; REQUIRE(osmium::config::get_pool_threads() == 0); REQUIRE(name == "OSMIUM_POOL_THREADS"); env = ""; REQUIRE(osmium::config::get_pool_threads() == 0); env = "2"; REQUIRE(osmium::config::get_pool_threads() == 2); } TEST_CASE("use_pool_threads_for_pbf_parsing") { env = nullptr; REQUIRE(osmium::config::use_pool_threads_for_pbf_parsing()); REQUIRE(name == "OSMIUM_USE_POOL_THREADS_FOR_PBF_PARSING"); env = ""; REQUIRE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "off"; REQUIRE_FALSE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "OFF"; REQUIRE_FALSE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "false"; REQUIRE_FALSE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "no"; REQUIRE_FALSE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "No"; REQUIRE_FALSE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "0"; REQUIRE_FALSE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "on"; REQUIRE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "ON"; REQUIRE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "true"; REQUIRE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "yes"; REQUIRE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "Yes"; REQUIRE(osmium::config::use_pool_threads_for_pbf_parsing()); env = "1"; REQUIRE(osmium::config::use_pool_threads_for_pbf_parsing()); } TEST_CASE("get_max_queue_size") { env = nullptr; REQUIRE(osmium::config::get_max_queue_size("NAME", 0) == 0); REQUIRE(name == "OSMIUM_MAX_NAME_QUEUE_SIZE"); REQUIRE(osmium::config::get_max_queue_size("NAME", 7) == 7); env = ""; REQUIRE(osmium::config::get_max_queue_size("NAME", 7) == 7); env = "0"; REQUIRE(osmium::config::get_max_queue_size("NAME", 7) == 7); env = "3"; REQUIRE(osmium::config::get_max_queue_size("NAME", 7) == 3); }