diff --git a/src/util/command_line_handling.cpp b/src/util/command_line_handling.cpp index 0ff5f6017f03..fa409dd7a9b9 100644 --- a/src/util/command_line_handling.cpp +++ b/src/util/command_line_handling.cpp @@ -145,7 +145,8 @@ namespace hpx { namespace util std::size_t num_localities) { std::size_t batch_localities = env.retrieve_number_of_localities(); - if (num_localities == 1) + if (num_localities == 1 && + batch_localities != std::size_t(batch_localities)) { std::size_t cfg_num_localities = cfgmap.get_value( "hpx.localities", batch_localities); diff --git a/tests/unit/util/CMakeLists.txt b/tests/unit/util/CMakeLists.txt index a0fe95f7bd08..a7e2ad39047b 100644 --- a/tests/unit/util/CMakeLists.txt +++ b/tests/unit/util/CMakeLists.txt @@ -8,6 +8,7 @@ set(tests any_serialization boost_any bind_action + configuration function parse_slurm_nodelist stencil3_iterator diff --git a/tests/unit/util/configuration.cpp b/tests/unit/util/configuration.cpp new file mode 100644 index 000000000000..e6df72c3947e --- /dev/null +++ b/tests/unit/util/configuration.cpp @@ -0,0 +1,30 @@ +// Copyright (c) 2015 Hartmut Kaiser +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#include +#include + +int hpx_main(int argc, char* argv[]) +{ + // check number of localities + HPX_TEST_EQ( + boost::lexical_cast( + hpx::get_config_entry("hpx.localities", "")), + hpx::get_num_localities_sync()); + HPX_TEST_EQ( + boost::lexical_cast( + hpx::get_config_entry("hpx.os_threads", "")), + hpx::get_os_thread_count()); + HPX_TEST_EQ(hpx::get_config_entry("hpx.runtime_mode", ""), + std::string("console")); + + return hpx::finalize(); +} + +int main(int argc, char* argv[]) +{ + HPX_TEST_EQ(hpx::init(argc, argv), 0); + return hpx::util::report_errors(); +}