Pure OCaml B-tree implementation for persistent storage
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(lint): resolve E600 test module convention issues

Flatten multi-group test suites to single pairs (string * test_case list)
across bpsec, btree, bundle, bytesrw-eio, cfdp, cgr, claude-skills, and
claudeio. Update test.ml runners to wrap suites in lists. Add missing
test_cache.mli. Fix E600 linter to skip standalone executables and
utility libraries that happen to have a test_ prefix by checking whether
the corresponding .ml defines a suite value.

+40 -40
+12 -1
test/test.ml
··· 1 - let () = Alcotest.run "btree" Test_btree.suite 1 + let () = 2 + Alcotest.run "btree" 3 + [ 4 + Test_btree.suite; 5 + Test_cell.suite; 6 + Test_index.suite; 7 + Test_page.suite; 8 + Test_pager.suite; 9 + Test_record.suite; 10 + Test_table.suite; 11 + Test_varint.suite; 12 + ]
+27 -39
test/test_btree.ml
··· 396 396 Alcotest.(check int64) "last rowid" (Int64.of_int n) !prev 397 397 398 398 let suite = 399 - [ 400 - ( "varint", 401 - [ 402 - Alcotest.test_case "roundtrip" `Quick test_varint_roundtrip; 403 - Alcotest.test_case "size" `Quick test_varint_size; 404 - Alcotest.test_case "sqlite_vectors" `Quick test_varint_sqlite_vectors; 405 - Alcotest.test_case "boundaries" `Quick test_varint_boundaries; 406 - ] ); 407 - ( "record", 408 - [ 409 - Alcotest.test_case "null" `Quick test_record_null; 410 - Alcotest.test_case "integers" `Quick test_record_integers; 411 - Alcotest.test_case "text" `Quick test_record_text; 412 - Alcotest.test_case "blob" `Quick test_record_blob; 413 - Alcotest.test_case "mixed" `Quick test_record_mixed; 414 - Alcotest.test_case "serial_types" `Quick test_record_serial_types; 415 - ] ); 416 - ( "page_header", 417 - [ 418 - Alcotest.test_case "leaf" `Quick test_page_header_leaf; 419 - Alcotest.test_case "interior" `Quick test_page_header_interior; 420 - ] ); 421 - ( "table", 422 - [ 423 - Alcotest.test_case "create" `Quick test_table_create; 424 - Alcotest.test_case "insert/find" `Quick test_table_insert_find; 425 - Alcotest.test_case "multiple inserts" `Quick test_table_multiple_inserts; 426 - Alcotest.test_case "iter" `Quick test_table_iter; 427 - ] ); 428 - ( "splits", 429 - [ 430 - Alcotest.test_case "leaf_split" `Quick test_leaf_split; 431 - Alcotest.test_case "multi_level" `Quick test_multi_level_tree; 432 - Alcotest.test_case "reverse_order" `Quick test_reverse_insert_order; 433 - Alcotest.test_case "random_order" `Quick test_random_insert_order; 434 - Alcotest.test_case "large_values" `Quick test_large_values; 435 - Alcotest.test_case "iter_order" `Quick test_iter_order_after_splits; 436 - ] ); 437 - ] 399 + ( "btree", 400 + [ 401 + Alcotest.test_case "varint roundtrip" `Quick test_varint_roundtrip; 402 + Alcotest.test_case "varint size" `Quick test_varint_size; 403 + Alcotest.test_case "varint sqlite_vectors" `Quick 404 + test_varint_sqlite_vectors; 405 + Alcotest.test_case "varint boundaries" `Quick test_varint_boundaries; 406 + Alcotest.test_case "record null" `Quick test_record_null; 407 + Alcotest.test_case "record integers" `Quick test_record_integers; 408 + Alcotest.test_case "record text" `Quick test_record_text; 409 + Alcotest.test_case "record blob" `Quick test_record_blob; 410 + Alcotest.test_case "record mixed" `Quick test_record_mixed; 411 + Alcotest.test_case "record serial_types" `Quick test_record_serial_types; 412 + Alcotest.test_case "page_header leaf" `Quick test_page_header_leaf; 413 + Alcotest.test_case "page_header interior" `Quick test_page_header_interior; 414 + Alcotest.test_case "table create" `Quick test_table_create; 415 + Alcotest.test_case "table insert/find" `Quick test_table_insert_find; 416 + Alcotest.test_case "table multiple inserts" `Quick 417 + test_table_multiple_inserts; 418 + Alcotest.test_case "table iter" `Quick test_table_iter; 419 + Alcotest.test_case "splits leaf_split" `Quick test_leaf_split; 420 + Alcotest.test_case "splits multi_level" `Quick test_multi_level_tree; 421 + Alcotest.test_case "splits reverse_order" `Quick test_reverse_insert_order; 422 + Alcotest.test_case "splits random_order" `Quick test_random_insert_order; 423 + Alcotest.test_case "splits large_values" `Quick test_large_values; 424 + Alcotest.test_case "splits iter_order" `Quick test_iter_order_after_splits; 425 + ] )
+1
test/test_btree.mli
··· 1 + val suite : string * unit Alcotest.test_case list