int main(POSSIBLY_UNUSED(int argc), char **argv) { char tdir[PATH_MAX]; struct fast_log_buf *fb; timer_t timer; time_t t; EXPECT_ZERO(utility_ctx_init(argv[0])); /* for g_fast_log_mgr */ t = mt_time() + 600; EXPECT_ZERO(mt_set_alarm(t, "ostor_unit timed out", &timer)); fb = fast_log_create(g_fast_log_mgr, "main"); EXPECT_NOT_ERRPTR(fb); EXPECT_ZERO(get_tempdir(tdir, sizeof(tdir), 0755)); EXPECT_ZERO(register_tempdir_for_cleanup(tdir)); EXPECT_ZERO(ostoru_test_open_close(tdir)); EXPECT_ZERO(get_tempdir(tdir, sizeof(tdir), 0755)); EXPECT_ZERO(register_tempdir_for_cleanup(tdir)); EXPECT_ZERO(ostoru_simple_test(tdir, fb, 100)); EXPECT_ZERO(get_tempdir(tdir, sizeof(tdir), 0755)); EXPECT_ZERO(register_tempdir_for_cleanup(tdir)); EXPECT_ZERO(ostoru_simple_test(tdir, fb, 1)); EXPECT_ZERO(get_tempdir(tdir, sizeof(tdir), 0755)); EXPECT_ZERO(register_tempdir_for_cleanup(tdir)); EXPECT_ZERO(ostoru_threaded_test(tdir, 10)); EXPECT_ZERO(mt_deactivate_alarm(timer)); fast_log_free(fb); process_ctx_shutdown(); return EXIT_SUCCESS; }
static void stest_parse_argv(int argc, char **argv, const char **test_usage) { int ret, c; while ((c = getopt(argc, argv, "d:fh")) != -1) { switch (c) { case 'd': snprintf(g_test_dir, sizeof(g_test_dir), "%s", optarg); break; case 'f': g_daemonize = 0; break; case 'h': stest_usage(argv[0], test_usage, EXIT_SUCCESS); break; case '?': stest_usage(argv[0], test_usage, EXIT_FAILURE); break; } } if (!g_test_dir[0]) { ret = get_tempdir(g_test_dir, sizeof(g_test_dir), 0775); if (ret) { fprintf(stderr, "get_tempdir failed with error %d!\n", ret); exit(EXIT_FAILURE); } register_tempdir_for_cleanup(g_test_dir); } }
static int local_file_rcv_test(struct rtest *rt) { char err[512]; size_t err_len = sizeof(err); char *local_path, *tdir, *conf_str = NULL; struct span_table *st; st = span_table_alloc(); tdir = create_tempdir("local_file_rcv-unit", 0777, err, err_len); EXPECT_STR_EQ("", err); register_tempdir_for_cleanup(tdir); EXPECT_INT_GE(0, asprintf(&local_path, "%s/%s", tdir, "spans.json")); EXPECT_INT_GE(0, asprintf(&conf_str, "%s=%s;%s=%s", HTRACE_SPAN_RECEIVER_KEY, "local.file", HTRACE_LOCAL_FILE_RCV_PATH_KEY, local_path)); EXPECT_INT_ZERO(rt->run(rt, conf_str)); EXPECT_INT_GE(0, load_trace_span_file(local_path, st)); EXPECT_INT_ZERO(rt->verify(rt, st)); free(conf_str); free(local_path); free(tdir); span_table_free(st); return EXIT_SUCCESS; }
int main(void) { char dir_src[PATH_MAX]; char dir_dst[PATH_MAX]; EXPECT_ZERO(get_tempdir(dir_src, PATH_MAX, 0755)); EXPECT_ZERO(register_tempdir_for_cleanup(dir_src)); EXPECT_ZERO(get_tempdir(dir_dst, PATH_MAX, 0755)); EXPECT_ZERO(register_tempdir_for_cleanup(dir_dst)); /* test rename /src/a -> /dst/m, a as file, m as file */ EXPECT_ZERO(do_touch2(dir_src, "a")); EXPECT_ZERO(do_touch2(dir_dst, "m")); EXPECT_ZERO(do_rename(dir_src, "a", dir_dst, "m")); /* test rename /src/b -> /dst/n, b as file, n as dir */ EXPECT_ZERO(do_touch2(dir_src, "b")); EXPECT_ZERO(do_test_mkdir(dir_dst, "n")); EXPECT_EQ(do_rename(dir_src, "b", dir_dst, "n"), -EISDIR); /* test rename /src/c -> /dst/o, c as dir, o as file */ EXPECT_ZERO(do_test_mkdir(dir_src, "c")); EXPECT_ZERO(do_touch2(dir_dst, "o")); EXPECT_EQ(do_rename(dir_src, "c", dir_dst, "o"), -ENOTDIR); /* test rename /src/d -> /dst/p, d as dir, p as dir */ EXPECT_ZERO(do_test_mkdir(dir_src, "d")); EXPECT_ZERO(do_test_mkdir(dir_dst, "p")); EXPECT_ZERO(do_rename(dir_src, "d", dir_dst, "p")); /* test rename /src/e -> /dst/q, e as file, q as nonexistent */ EXPECT_ZERO(do_touch2(dir_src, "e")); EXPECT_ZERO(do_rename(dir_src, "e", dir_dst, "q")); /* test rename /src/f -> /dst/r, f as dir, r as nonexistent */ EXPECT_ZERO(do_test_mkdir(dir_src, "f")); EXPECT_ZERO(do_rename(dir_src, "f", dir_dst, "r")); return 0; }
int main(POSSIBLY_UNUSED(int argc), char **argv) { char tempdir[PATH_MAX]; srand(time(NULL)); EXPECT_ZERO(get_tempdir(tempdir, sizeof(tempdir), 0770)); EXPECT_ZERO(register_tempdir_for_cleanup(tempdir)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGSEGV)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGBUS)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGILL)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGFPE)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGABRT)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGINT)); return EXIT_SUCCESS; }
int main(void) { char tempdir[PATH_MAX]; char glitch_log_path[PATH_MAX]; struct logc lc; EXPECT_ZERO(get_tempdir(tempdir, PATH_MAX, 0700)); EXPECT_ZERO(register_tempdir_for_cleanup(tempdir)); snprintf(glitch_log_path, sizeof(glitch_log_path), "%s/glitch_log.txt", tempdir); memset(&lc, 0, sizeof(struct logc)); lc.glitch_log_path = glitch_log_path; EXPECT_ZERO(test_stderr_output(tempdir)); configure_glitch_log(&lc); EXPECT_ZERO(test_log_output(lc.glitch_log_path)); return EXIT_SUCCESS; }
int main(POSSIBLY_UNUSED(int argc), char **argv) { char tempdir[PATH_MAX]; srand(time(NULL)); g_fast_log_mgr = fast_log_mgr_init(g_fast_log_dumpers); EXPECT_NOT_EQ(g_fast_log_mgr, NULL); EXPECT_ZERO(get_tempdir(tempdir, sizeof(tempdir), 0770)); EXPECT_ZERO(register_tempdir_for_cleanup(tempdir)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGSEGV)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGBUS)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGILL)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGFPE)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGABRT)); EXPECT_ZERO(test_signal_handler(argv[0], tempdir, SIGINT)); fast_log_mgr_release(g_fast_log_mgr); return EXIT_SUCCESS; }
static void open_temp_glitch_log(void) { int ret; char tempdir[PATH_MAX]; ret = get_tempdir(tempdir, PATH_MAX, 0755); if (ret) return; snprintf(g_glitch_log_fname, PATH_MAX, "%s/glitch_log.tmp.txt", tempdir); RETRY_ON_EINTR(g_glitch_log_fd, open(g_glitch_log_fname, O_CREAT | O_RDWR, 0644)); if (g_glitch_log_fd == -1) { g_glitch_log_fname[0] = '\0'; remove_tempdir(tempdir); return; } register_tempdir_for_cleanup(tempdir); }
int main(void) { char *bigbuf, tempdir[PATH_MAX]; int next_id = 0; EXPECT_ZERO(get_tempdir(tempdir, sizeof(tempdir), 0700)); EXPECT_ZERO(register_tempdir_for_cleanup(tempdir)); EXPECT_ZERO(read_then_write_file(tempdir, &next_id, "", 0)); EXPECT_ZERO(read_then_write_file(tempdir, &next_id, "abc", 123)); EXPECT_ZERO(read_then_write_file(tempdir, &next_id, "abracadabra", 5)); EXPECT_ZERO(test_copy_fd_to_fd(tempdir, &next_id, "")); EXPECT_ZERO(test_copy_fd_to_fd(tempdir, &next_id, "foo bar")); bigbuf = malloc(BIGBUF_SZ); memset(bigbuf, 'm', BIGBUF_SZ - 1); bigbuf[BIGBUF_SZ - 1] = '\0'; EXPECT_NOT_EQUAL(bigbuf, NULL); EXPECT_ZERO(test_copy_fd_to_fd(tempdir, &next_id, bigbuf)); free(bigbuf); return EXIT_SUCCESS; }