annotate mrjunejune/test/test.h @ 211:a6d8d32a0261

[MrJuneJune] Simple animations for darkmode.
author MrJuneJune <me@mrjunejune.com>
date Sun, 15 Feb 2026 21:38:23 -0800
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