ATF_TC_BODY(get, tc) { const struct varnames *v; /* Unset all known environment variables and make sure the built-in * values do not match the bogus value we will use for testing. */ unset_all(); __atf_config_reinit(); for (v = all_vars; v->lc != NULL; v++) ATF_CHECK(strcmp(atf_config_get(v->lc), test_value) != 0); /* Test the behavior of empty values. */ for (v = all_vars; v->lc != NULL; v++) { unset_all(); if (strcmp(atf_config_get(v->lc), "") != 0) { RE(atf_env_set(v->uc, "")); __atf_config_reinit(); if (v->can_be_empty) ATF_CHECK(strlen(atf_config_get(v->lc)) == 0); else ATF_CHECK(strlen(atf_config_get(v->lc)) > 0); } } /* Check if every variable is recognized individually. */ for (v = all_vars; v->lc != NULL; v++) { unset_all(); RE(atf_env_set(v->uc, test_value)); __atf_config_reinit(); compare_one(v->lc, test_value); } }
ATF_TC_BODY(set, tc) { char *oldval; ATF_REQUIRE(atf_env_has("PATH")); RE(atf_text_format(&oldval, "%s", atf_env_get("PATH"))); RE(atf_env_set("PATH", "foo-bar")); ATF_REQUIRE(strcmp(atf_env_get("PATH"), oldval) != 0); ATF_REQUIRE(strcmp(atf_env_get("PATH"), "foo-bar") == 0); free(oldval); ATF_REQUIRE(!atf_env_has("_UNDEFINED_VARIABLE_")); RE(atf_env_set("_UNDEFINED_VARIABLE_", "foo2-bar2")); ATF_REQUIRE(strcmp(atf_env_get("_UNDEFINED_VARIABLE_"), "foo2-bar2") == 0); }
static void verbose_set_env(const char *var, const char *val) { printf("Setting %s to '%s'\n", var, val); RE(atf_env_set(var, val)); }
void impl::set(const std::string& name, const std::string& val) { atf_error_t err = atf_env_set(name.c_str(), val.c_str()); if (atf_is_error(err)) throw_atf_error(err); }