int setenv (const char *name, const char *value, int overwrite);
#endif /* !HAVE_DECL_SETENV */
+/* our setenv implementation is currently broken */
+#if !HAVE_SETENV
+#define HAVE_WORKING_SETENV 0
+#else
+#define HAVE_WORKING_SETENV 1
+#endif
+
#if !HAVE_DECL_SLEEP
unsigned int sleep (unsigned int seconds);
#endif /* !HAVE_DECL_SLEEP */
TCase *tc_simple;
TCase *tc_signal;
#if TIMEOUT_TESTS_ENABLED
+#if HAVE_WORKING_SETENV
TCase *tc_timeout_env;
+#endif /* HAVE_WORKING_SETENV */
TCase *tc_timeout;
TCase *tc_timeout_usr;
#endif
tc_simple = tcase_create("Simple Tests");
tc_signal = tcase_create("Signal Tests");
#if TIMEOUT_TESTS_ENABLED
+#if HAVE_WORKING_SETENV
setenv("CK_DEFAULT_TIMEOUT", "6", 1);
tc_timeout_env = tcase_create("Environment Timeout Tests");
unsetenv("CK_DEFAULT_TIMEOUT");
+#endif /* HAVE_WORKING_SETENV */
tc_timeout = tcase_create("Timeout Tests");
tc_timeout_usr = tcase_create("User Timeout Tests");
#endif
suite_add_tcase (s, tc_simple);
suite_add_tcase (s, tc_signal);
#if TIMEOUT_TESTS_ENABLED
+#if HAVE_WORKING_SETENV
suite_add_tcase (s, tc_timeout_env);
+#endif /* HAVE_WORKING_SETENV */
suite_add_tcase (s, tc_timeout);
suite_add_tcase (s, tc_timeout_usr);
/* Add a second time to make sure tcase_set_timeout doesn't contaminate it. */
tcase_add_test (tc_signal, test_mark_point);
#if TIMEOUT_TESTS_ENABLED
+#if HAVE_WORKING_SETENV
tcase_add_test (tc_timeout_env, test_eternal);
tcase_add_test (tc_timeout_env, test_sleep2);
tcase_add_test (tc_timeout_env, test_sleep5);
tcase_add_test (tc_timeout_env, test_sleep8);
+#endif /* HAVE_WORKING_SETENV */
tcase_add_test (tc_timeout, test_eternal);
tcase_add_test (tc_timeout, test_sleep2);