itest.c - geomyidae-tests - geomyidae tests Err bitreich.org 70 hgit clone git://bitreich.org/geomyidae-tests/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae-tests/ URL:git://bitreich.org/geomyidae-tests/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae-tests/ bitreich.org 70 1Log /scm/geomyidae-tests/log.gph bitreich.org 70 1Files /scm/geomyidae-tests/files.gph bitreich.org 70 1Refs /scm/geomyidae-tests/refs.gph bitreich.org 70 1Tags /scm/geomyidae-tests/tag bitreich.org 70 1README /scm/geomyidae-tests/file/README.gph bitreich.org 70 1LICENSE /scm/geomyidae-tests/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 itest.c (1642B) Err bitreich.org 70 i--- Err bitreich.org 70 i 1 #include Err bitreich.org 70 i 2 #include Err bitreich.org 70 i 3 #include Err bitreich.org 70 i 4 #include Err bitreich.org 70 i 5 #include Err bitreich.org 70 i 6 Err bitreich.org 70 i 7 const char *counter_path = "test_counter.txt"; Err bitreich.org 70 i 8 Err bitreich.org 70 i 9 /* read counter */ Err bitreich.org 70 i 10 long Err bitreich.org 70 i 11 get_test_counter(void) Err bitreich.org 70 i 12 { Err bitreich.org 70 i 13 FILE *fp; Err bitreich.org 70 i 14 char buf[32]; Err bitreich.org 70 i 15 size_t n; Err bitreich.org 70 i 16 long counter; Err bitreich.org 70 i 17 Err bitreich.org 70 i 18 fp = fopen(counter_path, "rb+"); Err bitreich.org 70 i 19 if (!fp) Err bitreich.org 70 i 20 return 0; Err bitreich.org 70 i 21 Err bitreich.org 70 i 22 n = fread(buf, 1, sizeof(buf), fp); Err bitreich.org 70 i 23 if (n < 0 || ferror(fp)) Err bitreich.org 70 i 24 return 0; Err bitreich.org 70 i 25 buf[n] = '\0'; Err bitreich.org 70 i 26 counter = strtol(buf, NULL, 10); Err bitreich.org 70 i 27 Err bitreich.org 70 i 28 return counter; Err bitreich.org 70 i 29 } Err bitreich.org 70 i 30 Err bitreich.org 70 i 31 /* write new counter */ Err bitreich.org 70 i 32 int Err bitreich.org 70 i 33 write_test_counter(long counter) Err bitreich.org 70 i 34 { Err bitreich.org 70 i 35 FILE *fp; Err bitreich.org 70 i 36 char buf[32]; Err bitreich.org 70 i 37 int ret; Err bitreich.org 70 i 38 Err bitreich.org 70 i 39 fp = fopen(counter_path, "wb+"); Err bitreich.org 70 i 40 if (!fp) { Err bitreich.org 70 i 41 fprintf(stderr, "error opening path for writing counter: %s", Err bitreich.org 70 i 42 strerror(errno)); Err bitreich.org 70 i 43 return -1; Err bitreich.org 70 i 44 } Err bitreich.org 70 i 45 Err bitreich.org 70 i 46 snprintf(buf, sizeof(buf), "%ld", counter); Err bitreich.org 70 i 47 fwrite(buf, 1, strlen(buf), fp); Err bitreich.org 70 i 48 ret = (fflush(fp) || ferror(fp)) ? -1 : 0; Err bitreich.org 70 i 49 fclose(fp); Err bitreich.org 70 i 50 Err bitreich.org 70 i 51 return ret; Err bitreich.org 70 i 52 } Err bitreich.org 70 i 53 Err bitreich.org 70 i 54 int Err bitreich.org 70 i 55 main(void) Err bitreich.org 70 i 56 { Err bitreich.org 70 i 57 FILE *fp; Err bitreich.org 70 i 58 char path[PATH_MAX]; Err bitreich.org 70 i 59 const char *envs[] = { Err bitreich.org 70 i 60 "PATH_INFO", Err bitreich.org 70 i 61 "PATH_TRANSLATED", Err bitreich.org 70 i 62 "QUERY_STRING", Err bitreich.org 70 i 63 "SCRIPT_NAME", Err bitreich.org 70 i 64 /* TLS */ Err bitreich.org 70 i 65 "GOPHERS", Err bitreich.org 70 i 66 "HTTPS", Err bitreich.org 70 i 67 "SERVER_PROTOCOL", Err bitreich.org 70 i 68 /* gopher-specific: */ Err bitreich.org 70 i 69 "REQUEST", Err bitreich.org 70 i 70 "SEARCHREQUEST", Err bitreich.org 70 i 71 "SELECTOR", Err bitreich.org 70 i 72 "X_GOPHER_SEARCH", Err bitreich.org 70 i 73 "TRAVERSAL" Err bitreich.org 70 i 74 }; Err bitreich.org 70 i 75 char *p; Err bitreich.org 70 i 76 int i; Err bitreich.org 70 i 77 long counter; Err bitreich.org 70 i 78 Err bitreich.org 70 i 79 counter = get_test_counter(); Err bitreich.org 70 i 80 Err bitreich.org 70 i 81 snprintf(path, sizeof(path), "results/%ld.txt", counter); Err bitreich.org 70 i 82 fp = fopen(path, "wb+"); Err bitreich.org 70 i 83 if (!fp) { Err bitreich.org 70 i 84 fprintf(stderr, "error writing result to path: %s: %s\n", Err bitreich.org 70 i 85 path, strerror(errno)); Err bitreich.org 70 i 86 return 1; Err bitreich.org 70 i 87 } Err bitreich.org 70 i 88 Err bitreich.org 70 i 89 for (i = 0; i < sizeof(envs) / sizeof(envs[0]); i++) { Err bitreich.org 70 i 90 p = getenv(envs[i]); Err bitreich.org 70 i 91 if (!p) Err bitreich.org 70 i 92 p = "(null)"; Err bitreich.org 70 i 93 fprintf(fp, "%s = %s\n", envs[i], p); Err bitreich.org 70 i 94 } Err bitreich.org 70 i 95 fclose(fp); Err bitreich.org 70 i 96 Err bitreich.org 70 i 97 write_test_counter(counter + 1); Err bitreich.org 70 i 98 Err bitreich.org 70 i 99 return 0; Err bitreich.org 70 i 100 } Err bitreich.org 70 .