annotate mrjunejune/test/test.h @ 279:b3b547563ec7

Add Google connector service and agent wiki Implement the C/Seobeo Google Drive and Gmail connector with encrypted OAuth storage, Zenbu authentication, browser testing, AI tool discovery, chunked HTTP decoding, and Bazel coverage. Consolidate repository guidance into progressive wiki documentation and enforce arena-first allocation for new first-party C code. Co-authored-by: Copilot <[email protected]> Copilot-Session: 84c338fd-0939-4bb3-b7f3-1062eb213e5d
author MrJuneJune <me@mrjunejune.com>
date Mon, 17 Aug 2026 22:22:36 -0700
parents f3084bca7317
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
129
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
1 #include "seobeo/seobeo.h"
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
2 #include "seobeo/snapshot_creator.h"
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
3 #include <stdio.h>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
4 #include <stdlib.h>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
5 #include <unistd.h>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
6 #include <sys/wait.h>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
7 #include <signal.h>
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
8
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
9 #define TEST_PORT "6969"
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
10 #define TEST_HOST "127.0.0.1"
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
11 #define TEST_URL "http://127.0.0.1:6969"
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
12 #define MAX_RESPONSE_SIZE (1024 * 1024)
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
13 #ifndef SNAPSHOT_DIR
168
f3084bca7317 [Misc] Fixed all errors and all tests should pass now.
MrJuneJune <me@mrjunejune.com>
parents: 145
diff changeset
14 #define SNAPSHOT_DIR "/home/june/zenbu/mrjunejune/test/snapshots"
129
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
15 #endif
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
16
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
17 pid_t start_test_server(const char *server_binary)
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
18 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
19 pid_t server_pid = fork();
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
20
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
21 if (server_pid < 0)
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
22 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
23 perror("fork");
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
24 return -1;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
25 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
26
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
27 if (server_pid == 0)
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
28 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
29 printf("Starting server on port %s...\n", TEST_PORT);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
30 execl(server_binary, server_binary, NULL);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
31 perror("execl failed");
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
32 exit(1);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
33 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
34
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
35 printf("Server started (PID: %d)\n", server_pid);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
36
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
37 usleep(100000);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
38 int status;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
39 pid_t result = waitpid(server_pid, &status, WNOHANG);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
40 if (result != 0)
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
41 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
42 if (WIFEXITED(status))
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
43 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
44 fprintf(stderr, "Server exited immediately with code: %d\n", WEXITSTATUS(status));
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
45 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
46 else if (WIFSIGNALED(status))
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
47 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
48 fprintf(stderr, "Server was killed by signal: %d\n", WTERMSIG(status));
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
49 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
50 return -1;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
51 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
52
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
53 sleep(2);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
54 printf("Server ready\n\n");
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
55
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
56 return server_pid;
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
57 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
58
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
59 void stop_test_server(pid_t server_pid)
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
60 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
61 if (server_pid > 0)
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
62 {
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
63 printf("\nStopping server (PID: %d)...\n", server_pid);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
64 kill(server_pid, SIGTERM);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
65 waitpid(server_pid, NULL, 0);
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
66 printf("Server stopped\n");
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
67 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
68 }
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
69
f7860f491a8c --amend
June Park <parkjune1995@gmail.com>
parents:
diff changeset
70