浏览代码

Add test for ctime_r()

Peter Limkilde Svendsen 4 年之前
父节点
当前提交
b15c90ee32
共有 2 个文件被更改,包括 12 次插入0 次删除
  1. 1 0
      tests/expected/time/localtime.stdout
  2. 11 0
      tests/time/localtime.c

+ 1 - 0
tests/expected/time/localtime.stdout

@@ -6,3 +6,4 @@ Year 70, Day of year: 0, Month 0, Day of month: 1, Day of week: 4, 0:0:0
 Year 70, Day of year: 0, Month 0, Day of month: 1, Day of week: 4, 0:0:1
 Year 118, Day of year: 193, Month 6, Day of month: 13, Day of week: 5, 4:9:10
 Fri Jul 13 06:03:43 2018
+Fri Jul 13 06:03:43 2018

+ 11 - 0
tests/time/localtime.c

@@ -17,4 +17,15 @@ int main(void) {
 
     time_t input = 1531461823;
     fputs(ctime(&input), stdout); // Omit newline
+
+    char ctime_r_buffer[26];
+    /* ctime_r() generally returns the address of the provided buffer,
+     * but may return NULL upon error according to the spec. */
+    char *ctime_r_result = ctime_r(&input, ctime_r_buffer);
+    if (ctime_r_result == ctime_r_buffer) {
+        fputs(ctime_r_result, stdout);
+    }
+    else {
+        printf("Unexpected pointer from ctime_r: %p\n", ctime_r_result);
+    }
 }