Fix use of "time offset" parameter, and add test to make sure I don't break it again :-)
[metze/samba/wip.git] / lib / util / tests / time.c
index 4a31566b4280a00c34f3287fce2b49de5984e0f1..e24c5fe5ef50723868a85df4a80743caded113a2 100644 (file)
@@ -58,6 +58,21 @@ static bool test_timestring(struct torture_context *tctx)
        return true;
 }
 
+static bool test_get_time_zone(struct torture_context *tctx)
+{
+       time_t t = time(NULL);
+       int old_extra_time_offset = extra_time_offset;
+       int old_offset, new_offset;
+       /* test that extra_time_offset works */
+
+       old_offset = get_time_zone(t);
+       extra_time_offset = 42;
+       new_offset = get_time_zone(t);
+       extra_time_offset = old_extra_time_offset;
+       torture_assert_int_equal(tctx, old_offset+60*42, new_offset,
+                                "time offset not used");
+       return true;
+}
 
 
 struct torture_suite *torture_local_util_time(TALLOC_CTX *mem_ctx)
@@ -65,6 +80,7 @@ struct torture_suite *torture_local_util_time(TALLOC_CTX *mem_ctx)
        struct torture_suite *suite = torture_suite_create(mem_ctx, "TIME");
 
        torture_suite_add_simple_test(suite, "null_time", test_null_time);
+       torture_suite_add_simple_test(suite, "get_time_zone", test_get_time_zone);
        torture_suite_add_simple_test(suite, "null_nttime", test_null_nttime);
        torture_suite_add_simple_test(suite, "http_timestring", 
                                                                  test_http_timestring);