summaryrefslogtreecommitdiff
path: root/test/regress.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2009-04-30 18:05:33 +0000
committerNick Mathewson <nickm@torproject.org>2009-04-30 18:05:33 +0000
commitb45cead762ca0d9b59a71d9a97fe95ce9a4639c3 (patch)
tree348d25bed60821af362d9843443d413439336e48 /test/regress.c
parent24607a397c5f63c73d82b1ac55ce9b9530187a5f (diff)
downloadlibevent-b45cead762ca0d9b59a71d9a97fe95ce9a4639c3.tar.gz
Make environment-variable tests work on win32, which has only one method and lacks (un)setenv.
svn:r1253
Diffstat (limited to 'test/regress.c')
-rw-r--r--test/regress.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/test/regress.c b/test/regress.c
index 1e2ff666..1d29c4c7 100644
--- a/test/regress.c
+++ b/test/regress.c
@@ -1448,6 +1448,21 @@ methodname_to_envvar(const char *mname, char *buf, size_t buflen)
}
}
+#ifdef WIN32
+static void setenv(const char *k, const char *v, int _o)
+{
+ char b[256];
+ evutil_snprintf(b, sizeof(b), "%s=%s",k,v);
+ putenv(b);
+}
+static void unsetenv(const char *k)
+{
+ char b[256];
+ evutil_snprintf(b, sizeof(b), "%s=",k);
+ putenv(b);
+}
+#endif
+
static void
test_base_environ(void *arg)
{
@@ -1476,7 +1491,11 @@ test_base_environ(void *arg)
methodname_to_envvar(defaultname, varbuf, sizeof(varbuf));
setenv(varbuf, "1", 1);
- base = event_base_new();
+ /* Use an empty cfg rather than NULL so a failure doesn't exit() */
+ cfg = event_config_new();
+ base = event_base_new_with_config(cfg);
+ event_config_free(cfg);
+ cfg = NULL;
if (n_methods == 1) {
tt_assert(!base);
} else {