diff options
author | Stefan Metzmacher <metze@samba.org> | 2007-03-12 09:59:48 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:49:27 -0500 |
commit | d358087227727a9a8e8661c8eae2990115f8fb80 (patch) | |
tree | 1dcc444d1fee9c460d0fc8d7f43d644c1d583035 /source4/lib/replace/test/testsuite.c | |
parent | 544a2d30e01b5f4f9849c9aa631e0525062c2707 (diff) | |
download | samba-d358087227727a9a8e8661c8eae2990115f8fb80.tar.gz samba-d358087227727a9a8e8661c8eae2990115f8fb80.tar.bz2 samba-d358087227727a9a8e8661c8eae2990115f8fb80.zip |
r21794: add setenv()/unsetenv() testsuite
metze
(This used to be commit 3df206ddfadea5bf39a22e8c4c262764c79d302c)
Diffstat (limited to 'source4/lib/replace/test/testsuite.c')
-rw-r--r-- | source4/lib/replace/test/testsuite.c | 62 |
1 files changed, 61 insertions, 1 deletions
diff --git a/source4/lib/replace/test/testsuite.c b/source4/lib/replace/test/testsuite.c index effbdb13ef..c2f5ff9a6b 100644 --- a/source4/lib/replace/test/testsuite.c +++ b/source4/lib/replace/test/testsuite.c @@ -171,7 +171,67 @@ static int test_timegm(void) static int test_setenv(void) { - /* FIXME */ +#define TEST_SETENV(key, value, overwrite, result) do { \ + int _ret; \ + char *_v; \ + _ret = setenv(key, value, overwrite); \ + if (_ret != 0) { \ + printf("failure: setenv [\n" \ + "setenv(%s, %s, %d) failed\n" \ + "]\n", \ + key, value, overwrite); \ + return false; \ + } \ + _v=getenv(key); \ + if (!_v) { \ + printf("failure: setenv [\n" \ + "getenv(%s) returned NULL\n" \ + "]\n", \ + key); \ + return false; \ + } \ + if (strcmp(result, _v) != 0) { \ + printf("failure: setenv [\n" \ + "getenv(%s): '%s' != '%s'\n" \ + "]\n", \ + key, result, _v); \ + return false; \ + } \ +} while(0) + +#define TEST_UNSETENV(key) do { \ + int _ret; \ + char *_v; \ + _ret = unsetenv(key); \ + if (_ret != 0) { \ + printf("failure: setenv [\n" \ + "unsetenv(%s) failed\n" \ + "]\n", \ + key); \ + return false; \ + } \ + _v=getenv(key); \ + if (_v) { \ + printf("failure: setenv [\n" \ + "getenv(%s): NULL != '%s'\n" \ + "]\n", \ + SETENVTEST_KEY, _v); \ + return false; \ + } \ +} while (0) + +#define SETENVTEST_KEY "SETENVTESTKEY" +#define SETENVTEST_VAL "SETENVTESTVAL" + + printf("test: setenv\n"); + TEST_SETENV(SETENVTEST_KEY, SETENVTEST_VAL"1", 0, SETENVTEST_VAL"1"); + TEST_SETENV(SETENVTEST_KEY, SETENVTEST_VAL"2", 0, SETENVTEST_VAL"1"); + TEST_SETENV(SETENVTEST_KEY, SETENVTEST_VAL"3", 1, SETENVTEST_VAL"3"); + TEST_SETENV(SETENVTEST_KEY, SETENVTEST_VAL"4", 1, SETENVTEST_VAL"4"); + TEST_UNSETENV(SETENVTEST_KEY); + TEST_SETENV(SETENVTEST_KEY, SETENVTEST_VAL"5", 0, SETENVTEST_VAL"5"); + TEST_UNSETENV(SETENVTEST_KEY); + printf("success: setenv\n"); return true; } |