Skip to content

Commit 24c7454

Browse files
committed
Merge branch 'main' into fix-remote-embedding-result-metadata
2 parents 1e519a2 + bbb7c36 commit 24c7454

2 files changed

Lines changed: 59 additions & 20 deletions

File tree

test/sync/test_sync.c

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,25 @@
2222
#include <stdio.h>
2323
#include <stdlib.h>
2424
#include <string.h>
25-
#include <unistd.h>
2625
#include "sqlite-memory.h"
2726

27+
#ifdef _WIN32
28+
#include <io.h>
29+
#define unlink_p(path) _unlink(path)
30+
#ifndef TEST_TMP_DIR
31+
#define TEST_TMP_DIR "build"
32+
#endif
33+
#else
34+
#include <unistd.h>
35+
#define unlink_p(path) unlink(path)
36+
#ifndef TEST_TMP_DIR
37+
#define TEST_TMP_DIR "/tmp"
38+
#endif
39+
#endif
40+
2841
// Temporary database files (cleaned up at start and end)
29-
#define AGENT_A_DB "/tmp/agent_a_memory_test.db"
30-
#define AGENT_B_DB "/tmp/agent_b_memory_test.db"
42+
#define AGENT_A_DB TEST_TMP_DIR "/agent_a_memory_test.db"
43+
#define AGENT_B_DB TEST_TMP_DIR "/agent_b_memory_test.db"
3144

3245
// ============================================================================
3346
// Agent A content: James Webb Space Telescope (context: "space")
@@ -530,8 +543,8 @@ int main(void) {
530543
}
531544

532545
// Clean up stale databases from previous runs
533-
unlink(AGENT_A_DB);
534-
unlink(AGENT_B_DB);
546+
unlink_p(AGENT_A_DB);
547+
unlink_p(AGENT_B_DB);
535548

536549
printf("\nSync integration test: JWST (Agent A) + Great Barrier Reef (Agent B)\n");
537550
printf("=======================================================================\n\n");
@@ -566,8 +579,8 @@ int main(void) {
566579
// Cleanup
567580
if (db_a) sqlite3_close(db_a);
568581
if (db_b) sqlite3_close(db_b);
569-
unlink(AGENT_A_DB);
570-
unlink(AGENT_B_DB);
582+
unlink_p(AGENT_A_DB);
583+
unlink_p(AGENT_B_DB);
571584

572585
printf("\n=== Sync Test Results ===\n");
573586
printf("Tests run: %d\n", tests_run);

test/unittest.c

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -389,12 +389,34 @@ TEST(dbmem_parse_mdx_keeps_import_export_prose_and_indented_code) {
389389
}
390390

391391
TEST(dbmem_parse_mdx_real_docs_file) {
392-
const char *path = "/Users/marco/SQLiteCloud/website/docs-website/content/docs/sqlite-cloud/multi-code-example.mdx";
393-
if (!dbmem_file_exists(path)) return;
394-
395-
int64_t len = 0;
396-
char *input = dbmem_file_read(path, &len);
397-
ASSERT(input != NULL);
392+
const char *input =
393+
"---\n"
394+
"title: Multi Code Component Examples\n"
395+
"description: Multi Code Component Examples\n"
396+
"slug: multicode\n"
397+
"---\n"
398+
"import MultiCode from '@commons-components/Code/MultiCode.astro';\n"
399+
"\n"
400+
"In this examples, we will show how to use the `MultiCode` component:\n"
401+
"\n"
402+
"---\n"
403+
"## First example\n"
404+
"\n"
405+
"export const WebliteSourceCode = `<script>\n"
406+
" async function searchData(event) {\n"
407+
" const query = document.getElementById('query').value;\n"
408+
" }\n"
409+
"</script>`;\n"
410+
"\n"
411+
"export const codeExamplesOne = [\n"
412+
" {\n"
413+
" sliderItem: \"Web\",\n"
414+
" codeLines: WebliteSourceCode,\n"
415+
" lang: \"html\",\n"
416+
" }\n"
417+
"];\n"
418+
"\n"
419+
"<MultiCode id=\"first\" copyCode={true} codeItems={codeExamplesOne} />\n";
398420

399421
dbmem_parse_settings settings = default_settings();
400422
settings.mdx_mode = true;
@@ -403,7 +425,7 @@ TEST(dbmem_parse_mdx_real_docs_file) {
403425
settings.callback = test_callback;
404426
settings.xdata = &ctx;
405427

406-
int rc = dbmem_parse(input, (size_t)len, &settings);
428+
int rc = dbmem_parse(input, strlen(input), &settings);
407429
ASSERT_EQ(rc, 0);
408430
ASSERT(ctx.count >= 1);
409431
ASSERT(test_ctx_contains(&ctx, "Multi Code Component Examples"));
@@ -412,7 +434,6 @@ TEST(dbmem_parse_mdx_real_docs_file) {
412434
ASSERT(!test_ctx_contains(&ctx, "WebliteSourceCode"));
413435
ASSERT(!test_ctx_contains(&ctx, "codeExamplesOne"));
414436

415-
dbmemory_free(input);
416437
free_test_ctx(&ctx);
417438
}
418439

@@ -2038,10 +2059,11 @@ TEST(sqlite_sync_directory_removes_deleted) {
20382059

20392060
const char *test_dir = TEST_TMP_DIR "/dbmem_test_sync_del";
20402061
const char *file_keep = TEST_TMP_DIR "/dbmem_test_sync_del/keep.md";
2062+
const char *file_gone = TEST_TMP_DIR "/dbmem_test_sync_del/gone.md";
20412063

20422064
// Clean up
20432065
remove(file_keep);
2044-
remove(TEST_TMP_DIR "/dbmem_test_sync_del/gone.md");
2066+
remove(file_gone);
20452067
rmdir_p(test_dir);
20462068

20472069
// Create directory with one file
@@ -2059,7 +2081,7 @@ TEST(sqlite_sync_directory_removes_deleted) {
20592081
int rc = insert_fake_content(db, keep_hash, file_keep, NULL, len);
20602082
ASSERT_EQ(rc, SQLITE_OK);
20612083

2062-
rc = insert_fake_content(db, 99999, TEST_TMP_DIR "/dbmem_test_sync_del/gone.md", NULL, 4);
2084+
rc = insert_fake_content(db, 99999, file_gone, NULL, 4);
20632085
ASSERT_EQ(rc, SQLITE_OK);
20642086

20652087
// Verify 2 entries before sync
@@ -2094,16 +2116,20 @@ TEST(sqlite_sync_directory_removes_all_deleted) {
20942116
ASSERT(db != NULL);
20952117

20962118
const char *test_dir = TEST_TMP_DIR "/dbmem_test_sync_allgone";
2119+
const char *file_a = TEST_TMP_DIR "/dbmem_test_sync_allgone/a.md";
2120+
const char *file_b = TEST_TMP_DIR "/dbmem_test_sync_allgone/b.md";
2121+
const char *file_c = TEST_TMP_DIR "/dbmem_test_sync_allgone/c.md";
2122+
20972123
remove(TEST_TMP_DIR "/dbmem_test_sync_allgone/x.md");
20982124
rmdir_p(test_dir);
20992125
mkdir_p(test_dir); // empty directory
21002126

21012127
// Insert fake entries pointing to files that don't exist
2102-
int rc = insert_fake_content(db, 1001, TEST_TMP_DIR "/dbmem_test_sync_allgone/a.md", "ctx", 4);
2128+
int rc = insert_fake_content(db, 1001, file_a, "ctx", 4);
21032129
ASSERT_EQ(rc, SQLITE_OK);
2104-
rc = insert_fake_content(db, 1002, TEST_TMP_DIR "/dbmem_test_sync_allgone/b.md", "ctx", 4);
2130+
rc = insert_fake_content(db, 1002, file_b, "ctx", 4);
21052131
ASSERT_EQ(rc, SQLITE_OK);
2106-
rc = insert_fake_content(db, 1003, TEST_TMP_DIR "/dbmem_test_sync_allgone/c.md", "ctx", 4);
2132+
rc = insert_fake_content(db, 1003, file_c, "ctx", 4);
21072133
ASSERT_EQ(rc, SQLITE_OK);
21082134

21092135
// Also insert vault entries to verify cascade delete

0 commit comments

Comments
 (0)