X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4e62e76d104a17f0c9aaf9135ac605e9c8c87141..d6eb772e45cc853fc204bb5aebeb411cdfa7c929:/src/xbt/config_test.cpp diff --git a/src/xbt/config_test.cpp b/src/xbt/config_test.cpp index f870f3365a..0c28bac760 100644 --- a/src/xbt/config_test.cpp +++ b/src/xbt/config_test.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2023. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -9,56 +9,48 @@ #include #include -#include "catch.hpp" +#include "src/3rd-party/catch.hpp" XBT_PUBLIC_DATA simgrid::config::Config* simgrid_config; -static void make_set() +TEST_CASE("xbt::config: Configuration support", "config") { XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(xbt_cfg); xbt_log_threshold_set(&_XBT_LOGV(xbt_cfg), xbt_log_priority_critical); + + auto temp = simgrid_config; simgrid_config = nullptr; simgrid::config::declare_flag("speed", "description", 0); - simgrid::config::declare_flag("peername", "description", ""); + simgrid::config::alias("speed", {"velocity"}); + simgrid::config::declare_flag("peer-name", "description", ""); simgrid::config::declare_flag("user", "description", ""); -} - -TEST_CASE("xbt::config: Configuration support", "config") -{ SECTION("Alloc and free a config set") { - auto temp = simgrid_config; - make_set(); INFO("Alloc and free a config set"); - simgrid::config::set_parse("peername:veloce user:bidule"); - simgrid::config::finalize(); - simgrid_config = temp; + simgrid::config::set_parse("peer-name:veloce user:bidule"); } SECTION("Data retrieving tests") { - auto temp = simgrid_config; - make_set(); - INFO("Get a single value"); /* get_single_value */ - simgrid::config::set_parse("peername:toto:42 speed:42"); + simgrid::config::set_parse("peer-name:toto:42 speed:42"); int ival = simgrid::config::get_value("speed"); REQUIRE(ival == 42); // Unexpected value for speed INFO("Access to a non-existent entry"); - REQUIRE_THROWS_AS(simgrid::config::set_parse("color:blue"), std::out_of_range); + REQUIRE_THROWS_AS(simgrid::config::set_parse("peer_name:fellow"), std::out_of_range); - simgrid::config::finalize(); - simgrid_config = temp; + INFO("Set value by alias"); + simgrid::config::set_parse("velocity:33"); + ival = simgrid::config::get_value("speed"); + REQUIRE(ival == 33); // Unexpected value for speed } SECTION("C++ flags") { - auto temp = simgrid_config; - make_set(); INFO("C++ declaration of flags"); simgrid::config::Flag int_flag("int", "", 0); @@ -74,8 +66,8 @@ TEST_CASE("xbt::config: Configuration support", "config") REQUIRE(double_flag == 8.0); // Check double flag REQUIRE(bool_flag1); // Check bool1 flag REQUIRE(not bool_flag2); // Check bool2 flag - - simgrid::config::finalize(); - simgrid_config = temp; } + + simgrid::config::finalize(); + simgrid_config = temp; }