Sha256: 6933888d146e6c1eaad8ca892156574042ae5ab2efa2e6b74e2027c641849e8a

Contents?: true

Size: 1.16 KB

Versions: 16

Compression:

Stored size: 1.16 KB

Contents

#include <catch.hpp>
#include <leatherman/util/environment.hpp>
#include <leatherman/util/scoped_env.hpp>
#include <unistd.h>

using namespace std;
using namespace leatherman::util;

SCENARIO("path separator on POSIX") {
    REQUIRE(environment::get_path_separator() == ':');
}

SCENARIO("environment search paths") {
    GIVEN("paths from the environment") {
        auto paths = environment::search_paths();
        REQUIRE(paths.size() > 2);
        THEN("the second to last path should be /sbin") {
            REQUIRE(*(paths.rbegin() + 1) == "/sbin");
        }
        THEN("the last path should be /usr/sbin") {
            REQUIRE(paths.back() == "/usr/sbin");
        }
    }
    GIVEN("empty paths from the environment") {
        string value;
        REQUIRE(environment::get("PATH", value));
        REQUIRE(environment::set("PATH", value+":"));
        environment::reload_search_paths();
        auto paths = environment::search_paths();
        THEN("an empty path should not be searched") {
            REQUIRE(count(paths.begin(), paths.end(), "") == 0);
        }
        REQUIRE(environment::set("PATH", value));
        environment::reload_search_paths();
    }
}

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
facter-3.12.2.cfacter.20181217 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.12.1.cfacter.20181031 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.11.6.cfacter.20181031 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.12.1.cfacter.20181023 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.11.5.cfacter.20181022 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.12.0.cfacter.20181004 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.12.0.cfacter.20181001 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.12.0.cfacter.20180918 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.11.4.cfacter.20180821 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.11.3.cfacter.20180716 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.11.2.cfacter.20180612 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.9.6.cfacter.20180612 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.11.2.cfacter.20180606 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.9.6.cfacter.20180606 ext/facter/leatherman/util/tests/posix/environment.cc
facter-3.11.0.cfacter.20180319 ext/facter/leatherman/util/tests/posix/environment.cc
cfacter-3.11.0.rc.20180314 ext/facter/leatherman/util/tests/posix/environment.cc