this repo has no description

stubs.js: remove duplicate primitives, fix free-variables warnings, add -linkall to scrollycode test

- Remove 12 JS stubs from js_top_worker that are already provided by
basement/runtime.js and base/runtime.js (blocking_mutex, blocking_condition,
thread_yield, basement_dynamic, basement_alloc_stack_bind, caml_ml_domain_index)
- Keep caml_make_local_vect as it's needed by OxCaml compiler-libs and base
is not a transitive dependency
- Fix free-variables warnings by using proper //Provides/Requires pattern
for domain TLS shared state
- Add (link_flags (-linkall)) to odoc-scrollycode-extension test binary so
Html_page's side-effect shell registration is linked (matches real odoc binary)
- Promote test expected outputs for OCaml 5.4.1 and scrollycode extension changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

+350 -170
+13 -70
lib/stubs.js
··· 33 33 return 0 34 34 } 35 35 36 - // OxCaml domain TLS - single-domain JS environment, just use a global 37 - var _tls_state = 0; 38 - //Provides: caml_domain_tls_get 39 - function caml_domain_tls_get() { 40 - return _tls_state; 41 - } 42 - 43 - //Provides: caml_domain_tls_set 44 - function caml_domain_tls_set(v) { 45 - _tls_state = v; 46 - return 0; 47 - } 48 - 49 - //Provides: caml_ml_domain_index 50 - function caml_ml_domain_index() { 51 - return 0; 52 - } 53 - 36 + // OxCaml compiler-libs references caml_make_local_vect but base (which provides 37 + // it) is not a transitive dependency, so we need our own stub. 54 38 //Provides: caml_make_local_vect 55 39 //Requires: caml_make_vect 56 40 function caml_make_local_vect(len, init) { 57 41 return caml_make_vect(len, init); 58 42 } 59 43 60 - // OxCaml blocking sync primitives - no-ops in single-threaded JS 61 - //Provides: caml_blocking_mutex_new 62 - function caml_blocking_mutex_new() { 63 - return 0; 64 - } 44 + // OxCaml domain TLS - single-domain JS environment, just use a shared object 45 + //Provides: jtw_tls_state 46 + var jtw_tls_state = { value: 0 }; 65 47 66 - //Provides: caml_blocking_mutex_lock 67 - function caml_blocking_mutex_lock(_m) { 68 - return 0; 48 + //Provides: caml_domain_tls_get 49 + //Requires: jtw_tls_state 50 + function caml_domain_tls_get() { 51 + return jtw_tls_state.value; 69 52 } 70 53 71 - //Provides: caml_blocking_mutex_unlock 72 - function caml_blocking_mutex_unlock(_m) { 54 + //Provides: caml_domain_tls_set 55 + //Requires: jtw_tls_state 56 + function caml_domain_tls_set(v) { 57 + jtw_tls_state.value = v; 73 58 return 0; 74 59 } 75 - 76 - //Provides: caml_blocking_condition_new 77 - function caml_blocking_condition_new() { 78 - return 0; 79 - } 80 - 81 - //Provides: caml_blocking_condition_wait 82 - function caml_blocking_condition_wait(_c, _m) { 83 - return 0; 84 - } 85 - 86 - //Provides: caml_blocking_condition_signal 87 - function caml_blocking_condition_signal(_c) { 88 - return 0; 89 - } 90 - 91 - //Provides: caml_thread_yield 92 - function caml_thread_yield() { 93 - return 0; 94 - } 95 - 96 - // Basement/capsule primitives - OxCaml specific 97 - //Provides: basement_dynamic_supported 98 - function basement_dynamic_supported() { 99 - return 0; 100 - } 101 - 102 - //Provides: basement_dynamic_make 103 - function basement_dynamic_make(_v) { 104 - return _v; 105 - } 106 - 107 - //Provides: basement_dynamic_get 108 - function basement_dynamic_get(_v) { 109 - return _v; 110 - } 111 - 112 - //Provides: basement_alloc_stack_bind 113 - function basement_alloc_stack_bind(_stack, _f, _v) { 114 - return 0; 115 - } 116 -
+303 -52
test/cram/directives.t/run.t
··· 12 12 N 13 13 $ unix_client setup '' 14 14 {mime_vals:[];stderr:S(error while evaluating #enable "pretty";; 15 - error while evaluating #disable "shortvar";;);stdout:S(OCaml version 5.4.0 15 + error while evaluating #disable "shortvar";;);stdout:S(OCaml version 5.4.1 16 16 Unknown directive enable. 17 17 Unknown directive disable.)} 18 18 ··· 495 495 $ unix_client exec_toplevel '' '# #list;;' 496 496 {mime_vals:[];parts:[];script:S(# #list;; 497 497 0install-solver (version: 2.18) 498 + alcotest (version: 1.9.1) 499 + alcotest.engine (version: 1.9.1) 500 + alcotest.stdlib_ext (version: 1.9.1) 498 501 angstrom (version: 0.16.1) 502 + angstrom-async (version: 0.16.1) 503 + angstrom-lwt-unix (version: 0.16.1) 504 + angstrom-unix (version: 0.16.1) 499 505 angstrom.async (version: n/a) 500 506 angstrom.lwt-unix (version: n/a) 501 507 angstrom.unix (version: n/a) 502 508 asn1-combinators (version: 0.3.2) 503 509 astring (version: 0.8.5) 504 510 astring.top (version: 0.8.5) 511 + async (version: v0.17.0) 512 + async.async_command (version: v0.17.0) 513 + async.async_quickcheck (version: v0.17.0) 514 + async.async_rpc (version: v0.17.0) 515 + async.lock_file_async (version: v0.17.0) 516 + async.log_extended (version: v0.17.0) 517 + async.persistent_connection (version: v0.17.0) 518 + async.unpack_sequence (version: v0.17.0) 519 + async_kernel (version: v0.17.0) 520 + async_kernel.config (version: v0.17.0) 521 + async_kernel.eager_deferred (version: v0.17.0) 522 + async_kernel.laziness_preserving_deferred (version: v0.17.0) 523 + async_kernel.limiter_async (version: v0.17.0) 524 + async_kernel.persistent_connection_kernel (version: v0.17.0) 525 + async_kernel.read_write_pair (version: v0.17.0) 526 + async_kernel.weak_hashtbl_async (version: v0.17.0) 527 + async_log (version: v0.17.0) 528 + async_log.kernel (version: v0.17.0) 529 + async_rpc_kernel (version: v0.17.0) 530 + async_unix (version: v0.17.0) 531 + async_unix.thread_pool (version: v0.17.0) 532 + async_unix.thread_safe_ivar (version: v0.17.0) 533 + async_unix.thread_safe_pipe (version: v0.17.0) 505 534 base (version: v0.17.3) 506 535 base.base_internalhash_types (version: v0.17.3) 507 536 base.md5 (version: v0.17.3) 508 537 base.shadow_stdlib (version: v0.17.3) 509 538 base64 (version: 3.5.2) 510 539 base64.rfc2045 (version: 3.5.2) 540 + base_bigstring (version: v0.17.0) 541 + base_quickcheck (version: v0.17.1) 542 + base_quickcheck.ppx_quickcheck (version: v0.17.1) 543 + base_quickcheck.ppx_quickcheck.expander (version: v0.17.1) 544 + base_quickcheck.ppx_quickcheck.runtime (version: v0.17.1) 511 545 bigarray-compat (version: 1.1.0) 512 546 bigstringaf (version: 0.10.0) 547 + bin_prot (version: v0.17.0) 548 + bin_prot.shape (version: v0.17.0) 513 549 bos (version: 0.2.1) 514 550 bos.setup (version: 0.2.1) 515 551 bos.top (version: 0.2.1) ··· 524 560 bytesrw.unix (version: 0.2.0) 525 561 ca-certs (version: v1.0.1) 526 562 camlp-streams (version: n/a) 563 + capitalization (version: v0.17.0) 527 564 caqti (version: v2.2.4) 528 565 caqti-lwt (version: v2.2.4) 529 566 caqti-lwt.unix (version: v2.2.4) ··· 535 572 checkseum (version: 0.5.2) 536 573 checkseum.c (version: 0.5.2) 537 574 checkseum.ocaml (version: 0.5.2) 538 - chrome-trace (version: 3.21.0) 575 + chrome-trace (version: 3.21.0-13-g1a35cca) 576 + cmarkit (version: 0.3.0) 539 577 cmdliner (version: 1.3.0) 540 - compiler-libs (version: 5.4.0) 541 - compiler-libs.bytecomp (version: 5.4.0) 542 - compiler-libs.common (version: 5.4.0) 543 - compiler-libs.native-toplevel (version: 5.4.0) 544 - compiler-libs.optcomp (version: 5.4.0) 545 - compiler-libs.toplevel (version: 5.4.0) 578 + code-mirror (version: n/a) 579 + code-mirror.autocomplete (version: n/a) 580 + code-mirror.lint (version: n/a) 581 + code-mirror.stream (version: n/a) 582 + code-mirror.tooltip (version: n/a) 583 + compiler-libs (version: 5.4.1) 584 + compiler-libs.bytecomp (version: 5.4.1) 585 + compiler-libs.common (version: 5.4.1) 586 + compiler-libs.native-toplevel (version: 5.4.1) 587 + compiler-libs.optcomp (version: 5.4.1) 588 + compiler-libs.toplevel (version: 5.4.1) 589 + core (version: v0.17.1) 590 + core.base_for_tests (version: v0.17.1) 591 + core.command (version: v0.17.1) 592 + core.filename_base (version: v0.17.1) 593 + core.heap_block (version: v0.17.1) 594 + core.top (version: v0.17.1) 595 + core.univ_map (version: v0.17.1) 596 + core.validate (version: v0.17.1) 597 + core_kernel (version: v0.17.0) 598 + core_kernel.ansi_kernel (version: v0.17.0) 599 + core_kernel.balanced_reducer (version: v0.17.0) 600 + core_kernel.binary_packing (version: v0.17.0) 601 + core_kernel.bounded_int_table (version: v0.17.0) 602 + core_kernel.bus (version: v0.17.0) 603 + core_kernel.caml_threads (version: v0.17.0) 604 + core_kernel.caml_unix (version: v0.17.0) 605 + core_kernel.composition_infix (version: v0.17.0) 606 + core_kernel.enum (version: v0.17.0) 607 + core_kernel.fheap (version: v0.17.0) 608 + core_kernel.flags (version: v0.17.0) 609 + core_kernel.force_once (version: v0.17.0) 610 + core_kernel.hash_heap (version: v0.17.0) 611 + core_kernel.int_set (version: v0.17.0) 612 + core_kernel.iobuf (version: v0.17.0) 613 + core_kernel.limiter (version: v0.17.0) 614 + core_kernel.moption (version: v0.17.0) 615 + core_kernel.nonempty_list (version: v0.17.0) 616 + core_kernel.pairing_heap (version: v0.17.0) 617 + core_kernel.pooled_hashtbl (version: v0.17.0) 618 + core_kernel.reversed_list (version: v0.17.0) 619 + core_kernel.sexp_hidden_in_test (version: v0.17.0) 620 + core_kernel.thread_pool_cpu_affinity (version: v0.17.0) 621 + core_kernel.thread_safe_queue (version: v0.17.0) 622 + core_kernel.timing_wheel (version: v0.17.0) 623 + core_kernel.total_map (version: v0.17.0) 624 + core_kernel.tuple_pool (version: v0.17.0) 625 + core_kernel.univ (version: v0.17.0) 626 + core_kernel.unpack_buffer (version: v0.17.0) 627 + core_kernel.uopt (version: v0.17.0) 628 + core_kernel.uuid (version: v0.17.0) 629 + core_kernel.vec (version: v0.17.0) 630 + core_kernel.version_util (version: v0.17.0) 631 + core_kernel.weak_array (version: v0.17.0) 632 + core_kernel.weak_hashtbl (version: v0.17.0) 633 + core_kernel.weak_pointer (version: v0.17.0) 634 + core_unix (version: v0.17.1) 635 + core_unix.bigbuffer_blocking (version: v0.17.1) 636 + core_unix.bigstring_unix (version: v0.17.1) 637 + core_unix.command_test_helpers (version: v0.17.1) 638 + core_unix.command_test_helpers_test (version: v0.17.1) 639 + core_unix.command_unix (version: v0.17.1) 640 + core_unix.core_thread (version: v0.17.1) 641 + core_unix.daemon (version: v0.17.1) 642 + core_unix.date_unix (version: v0.17.1) 643 + core_unix.error_checking_mutex (version: v0.17.1) 644 + core_unix.filename_unix (version: v0.17.1) 645 + core_unix.interval_lib (version: v0.17.1) 646 + core_unix.interval_unix (version: v0.17.1) 647 + core_unix.iobuf_unix (version: v0.17.1) 648 + core_unix.linux_ext (version: v0.17.1) 649 + core_unix.lock_file_blocking (version: v0.17.1) 650 + core_unix.nano_mutex (version: v0.17.1) 651 + core_unix.ocaml_c_utils (version: v0.17.1) 652 + core_unix.process_env (version: v0.17.1) 653 + core_unix.signal_unix (version: v0.17.1) 654 + core_unix.squeue (version: v0.17.1) 655 + core_unix.sys_unix (version: v0.17.1) 656 + core_unix.syslog (version: v0.17.1) 657 + core_unix.time_float_unix (version: v0.17.1) 658 + core_unix.time_interface (version: v0.17.1) 659 + core_unix.time_ns_unix (version: v0.17.1) 660 + core_unix.time_stamp_counter (version: v0.17.1) 661 + core_unix.time_unix (version: v0.17.1) 662 + core_unix.unix_pseudo_terminal (version: v0.17.1) 663 + core_unix.uuid (version: v0.17.1) 546 664 cppo (version: n/a) 547 665 crunch (version: 4.0.0) 548 666 csexp (version: 1.5.2) 549 667 cstruct (version: 6.2.0) 668 + day10 (version: n/a) 669 + day10-web (version: n/a) 550 670 decompress (version: n/a) 551 671 decompress.de (version: 1.5.3) 552 672 decompress.gz (version: 1.5.3) ··· 571 691 dream.sql (version: n/a) 572 692 dream.unix (version: n/a) 573 693 dune (version: n/a) 574 - dune-action-plugin (version: 3.21.0) 575 - dune-build-info (version: 3.21.0) 576 - dune-configurator (version: 3.21.0) 577 - dune-glob (version: 3.21.0) 694 + dune-action-plugin (version: 3.21.0-13-g1a35cca) 695 + dune-build-info (version: 3.21.0-13-g1a35cca) 696 + dune-configurator (version: 3.21.0-13-g1a35cca) 697 + dune-glob (version: 3.21.0-13-g1a35cca) 578 698 dune-private-libs (version: n/a) 579 - dune-private-libs.dune-section (version: 3.21.0) 580 - dune-private-libs.meta_parser (version: 3.21.0) 581 - dune-rpc (version: 3.21.0) 582 - dune-rpc-lwt (version: 3.21.0) 583 - dune-rpc.private (version: 3.21.0) 584 - dune-site (version: 3.21.0) 585 - dune-site.dynlink (version: 3.21.0) 586 - dune-site.linker (version: 3.21.0) 587 - dune-site.plugins (version: 3.21.0) 588 - dune-site.private (version: 3.21.0) 589 - dune-site.toplevel (version: 3.21.0) 699 + dune-private-libs.dune-section (version: 3.21.0-13-g1a35cca) 700 + dune-private-libs.meta_parser (version: 3.21.0-13-g1a35cca) 701 + dune-rpc (version: 3.21.0-13-g1a35cca) 702 + dune-rpc-lwt (version: 3.21.0-13-g1a35cca) 703 + dune-rpc.private (version: 3.21.0-13-g1a35cca) 704 + dune-site (version: 3.21.0-13-g1a35cca) 705 + dune-site.dynlink (version: 3.21.0-13-g1a35cca) 706 + dune-site.linker (version: 3.21.0-13-g1a35cca) 707 + dune-site.plugins (version: 3.21.0-13-g1a35cca) 708 + dune-site.private (version: 3.21.0-13-g1a35cca) 709 + dune-site.toplevel (version: 3.21.0-13-g1a35cca) 590 710 dune.configurator (version: n/a) 591 711 duration (version: 0.2.1) 592 - dyn (version: 3.21.0) 593 - dynlink (version: 5.4.0) 712 + dyn (version: 3.21.0-13-g1a35cca) 713 + dynlink (version: 5.4.1) 594 714 eio (version: n/a) 595 715 eio.core (version: n/a) 596 716 eio.mock (version: n/a) ··· 604 724 eqaf (version: 0.10) 605 725 eqaf.bigstring (version: 0.10) 606 726 eqaf.bytes (version: 0.10) 727 + expect_test_helpers_core (version: v0.17.0) 728 + expect_test_helpers_core.expect_test_helpers_base (version: v0.17.0) 607 729 faraday (version: 0.8.2) 730 + faraday-async (version: 0.8.2) 608 731 faraday-lwt (version: 0.8.2) 609 732 faraday-lwt-unix (version: 0.8.2) 610 733 faraday.async (version: n/a) 611 734 faraday.lwt (version: n/a) 612 735 faraday.lwt-unix (version: n/a) 613 736 fiber (version: 3.7.0) 737 + fieldslib (version: v0.17.0) 614 738 findlib (version: 1.9.8) 615 739 findlib.dynload (version: 1.9.8) 616 740 findlib.internal (version: 1.9.8) ··· 622 746 fmt.tty (version: 0.11.0) 623 747 fpath (version: 0.7.3) 624 748 fpath.top (version: 0.7.3) 625 - fs-io (version: 3.21.0) 749 + fs-io (version: 3.21.0-13-g1a35cca) 750 + gel (version: v0.17.0) 626 751 gen (version: 1.1) 627 752 gluten (version: 0.5.2) 628 753 gluten-lwt (version: 0.5.2) ··· 642 767 httpun-lwt-unix (version: 0.1.0) 643 768 httpun-types (version: 0.1.0) 644 769 httpun-ws (version: 0.2.0) 770 + int_repr (version: v0.17.0) 645 771 iomux (version: v0.4) 646 - ipaddr (version: 5.6.1) 647 - ipaddr.top (version: 5.6.1) 648 - ipaddr.unix (version: 5.6.1) 772 + ipaddr (version: 5.6.2) 773 + ipaddr.top (version: 5.6.2) 774 + ipaddr.unix (version: 5.6.2) 649 775 jane-street-headers (version: v0.17.0) 650 776 js_of_ocaml (version: 6.2.0) 651 777 js_of_ocaml-compiler (version: 6.2.0) ··· 660 786 js_of_ocaml.deriving (version: 6.2.0) 661 787 js_top_worker (version: 0.0.1) 662 788 js_top_worker-bin (version: n/a) 663 - js_top_worker-client (version: 0.0.1) 789 + js_top_worker-client (version: n/a) 664 790 js_top_worker-client.msg (version: 0.0.1) 665 791 js_top_worker-client_fut (version: 0.0.1) 666 - js_top_worker-rpc (version: 0.0.1) 792 + js_top_worker-rpc (version: n/a) 667 793 js_top_worker-rpc.message (version: 0.0.1) 668 794 js_top_worker-unix (version: n/a) 669 795 js_top_worker-web (version: 0.0.1) ··· 694 820 lwt.unix (version: 5.9.2) 695 821 lwt_ppx (version: 5.9.3) 696 822 lwt_ssl (version: 1.2.0) 697 - macaddr (version: 5.6.1) 698 - macaddr.top (version: 5.6.1) 823 + macaddr (version: 5.6.2) 824 + macaddr.top (version: 5.6.2) 699 825 magic-mime (version: 1.3.1) 700 826 markup (version: n/a) 827 + mdx (version: 2.5.1) 828 + mdx.__private__ (version: n/a) 829 + mdx.__private__.odoc_parser (version: 2.5.1) 830 + mdx.test (version: 2.5.1) 831 + mdx.top (version: 2.5.1) 701 832 menhir (version: n/a) 702 - menhirCST (version: 20260122) 703 - menhirGLR (version: 20260122) 704 - menhirLib (version: 20260122) 705 - menhirSdk (version: 20260122) 833 + menhirCST (version: 20260209) 834 + menhirGLR (version: 20260209) 835 + menhirLib (version: 20260209) 836 + menhirSdk (version: 20260209) 837 + merlin-js (version: n/a) 838 + merlin-js.client (version: n/a) 839 + merlin-js.code-mirror (version: n/a) 840 + merlin-js.protocol (version: n/a) 841 + merlin-js.worker (version: n/a) 842 + merlin-js.worker.static (version: n/a) 706 843 merlin-lib (version: n/a) 707 844 merlin-lib.analysis (version: 5.6.1-504) 708 845 merlin-lib.commands (version: 5.6.1-504) ··· 722 859 merlin-lib.query_protocol (version: 5.6.1-504) 723 860 merlin-lib.sherlodoc (version: 5.6.1-504) 724 861 merlin-lib.utils (version: 5.6.1-504) 725 - mime_printer (version: 0.0.1) 862 + mime_printer (version: n/a) 726 863 mirage-clock (version: 4.2.0) 727 864 mirage-crypto (version: 1.2.0) 728 865 mirage-crypto-ec (version: 1.2.0) ··· 734 871 mtime.clock (version: 2.1.0) 735 872 mtime.clock.os (version: 2.1.0) 736 873 mtime.top (version: 2.1.0) 737 - multipart_form (version: 0.7.0) 738 - multipart_form-lwt (version: 0.7.0) 874 + multipart_form (version: 0.8.0) 875 + multipart_form-lwt (version: 0.8.0) 876 + num (version: 1.7~dev) 877 + num-top (version: 1.7~dev) 878 + num.core (version: 1.7~dev) 739 879 ocaml-compiler-libs (version: n/a) 740 880 ocaml-compiler-libs.bytecomp (version: v0.17.0) 741 881 ocaml-compiler-libs.common (version: v0.17.0) ··· 748 888 ocaml-version (version: n/a) 749 889 ocaml_intrinsics_kernel (version: v0.17.1) 750 890 ocamlbuild (version: 0.16.1) 751 - ocamlc-loc (version: 3.21.0) 752 - ocamldoc (version: 5.4.0) 891 + ocamlc-loc (version: 3.21.0-13-g1a35cca) 892 + ocamldoc (version: 5.4.1) 753 893 ocamlformat-lib (version: 0.28.1) 754 894 ocamlformat-lib.format_ (version: 0.28.1) 755 895 ocamlformat-lib.ocaml_common (version: 0.28.1) ··· 768 908 ocp-indent.utils (version: 1.9.0) 769 909 ocplib-endian (version: n/a) 770 910 ocplib-endian.bigstring (version: n/a) 911 + odoc (version: n/a) 912 + odoc-admonition-extension (version: n/a) 913 + odoc-admonition-extension.impl (version: n/a) 914 + odoc-bench (version: n/a) 915 + odoc-docsite (version: n/a) 916 + odoc-docsite.impl (version: n/a) 917 + odoc-dot-extension (version: n/a) 918 + odoc-dot-extension.impl (version: n/a) 919 + odoc-driver (version: n/a) 920 + odoc-interactive-extension (version: n/a) 921 + odoc-interactive-extension.impl (version: n/a) 922 + odoc-md (version: n/a) 923 + odoc-mermaid-extension (version: n/a) 924 + odoc-mermaid-extension.impl (version: n/a) 925 + odoc-msc-extension (version: n/a) 926 + odoc-msc-extension.impl (version: n/a) 927 + odoc-parser (version: n/a) 928 + odoc-rfc-extension (version: n/a) 929 + odoc-rfc-extension.impl (version: n/a) 930 + odoc-scrollycode-extension (version: n/a) 931 + odoc-scrollycode-extension.impl (version: n/a) 932 + odoc.document (version: n/a) 933 + odoc.examples (version: n/a) 934 + odoc.extension_api (version: n/a) 935 + odoc.extension_registry (version: n/a) 936 + odoc.html (version: n/a) 937 + odoc.html_support_files (version: n/a) 938 + odoc.index (version: n/a) 939 + odoc.json_index (version: n/a) 940 + odoc.latex (version: n/a) 941 + odoc.loader (version: n/a) 942 + odoc.manpage (version: n/a) 943 + odoc.markdown (version: n/a) 944 + odoc.model (version: n/a) 945 + odoc.model_desc (version: n/a) 946 + odoc.ocamlary (version: n/a) 947 + odoc.occurrences (version: n/a) 948 + odoc.odoc (version: n/a) 949 + odoc.odoc_utils (version: n/a) 950 + odoc.search (version: n/a) 951 + odoc.search_html_frontend (version: n/a) 952 + odoc.syntax_highlighter (version: n/a) 953 + odoc.xref2 (version: n/a) 954 + odoc.xref_test (version: n/a) 771 955 ohex (version: n/a) 772 956 opam-0install (version: 0.4.2) 773 957 opam-core (version: n/a) 774 - opam-core.cmdliner (version: n/a) 775 958 opam-file-format (version: 2.2.0) 776 959 opam-format (version: n/a) 777 960 opam-repository (version: n/a) 778 961 opam-state (version: n/a) 779 962 optint (version: 0.3.0) 780 - ordering (version: 3.21.0) 963 + ordering (version: 3.21.0-13-g1a35cca) 781 964 parsexp (version: v0.17.0) 782 965 patch (version: 3.1.0) 783 966 pecu (version: 0.7) ··· 785 968 ppx_assert (version: v0.17.0) 786 969 ppx_assert.runtime-lib (version: v0.17.0) 787 970 ppx_base (version: v0.17.0) 971 + ppx_bench (version: v0.17.1) 972 + ppx_bench.runtime-lib (version: v0.17.1) 973 + ppx_bin_prot (version: v0.17.1) 974 + ppx_bin_prot.shape-expander (version: v0.17.1) 788 975 ppx_blob (version: 0.9.0) 789 976 ppx_cold (version: v0.17.0) 790 977 ppx_compare (version: v0.17.0) 791 978 ppx_compare.expander (version: v0.17.0) 792 979 ppx_compare.runtime-lib (version: v0.17.0) 980 + ppx_custom_printf (version: v0.17.0) 793 981 ppx_derivers (version: n/a) 794 982 ppx_deriving (version: n/a) 795 983 ppx_deriving.api (version: 6.1.1) ··· 807 995 ppx_deriving_rpc (version: 10.0.0) 808 996 ppx_deriving_yojson (version: 3.10.0) 809 997 ppx_deriving_yojson.runtime (version: 3.10.0) 998 + ppx_diff (version: n/a) 999 + ppx_diff.diffable (version: v0.17.1) 1000 + ppx_diff.diffable_cinaps (version: v0.17.1) 1001 + ppx_diff.ppx_diff (version: v0.17.1) 1002 + ppx_disable_unused_warnings (version: v0.17.0) 810 1003 ppx_enumerate (version: v0.17.0) 811 1004 ppx_enumerate.runtime-lib (version: v0.17.0) 812 1005 ppx_expect (version: v0.17.3) ··· 815 1008 ppx_expect.evaluator (version: v0.17.3) 816 1009 ppx_expect.make_corrected_file (version: v0.17.3) 817 1010 ppx_expect.runtime (version: v0.17.3) 1011 + ppx_fields_conv (version: v0.17.0) 1012 + ppx_fixed_literal (version: v0.17.0) 818 1013 ppx_globalize (version: v0.17.2) 819 1014 ppx_hash (version: v0.17.0) 820 1015 ppx_hash.expander (version: v0.17.0) ··· 822 1017 ppx_here (version: v0.17.0) 823 1018 ppx_here.expander (version: v0.17.0) 824 1019 ppx_here.runtime-lib (version: v0.17.0) 1020 + ppx_ignore_instrumentation (version: v0.17.0) 825 1021 ppx_inline_test (version: v0.17.1) 826 1022 ppx_inline_test.config (version: v0.17.1) 827 1023 ppx_inline_test.drop (version: v0.17.1) ··· 829 1025 ppx_inline_test.runner (version: v0.17.1) 830 1026 ppx_inline_test.runner.lib (version: v0.17.1) 831 1027 ppx_inline_test.runtime-lib (version: v0.17.1) 1028 + ppx_jane (version: v0.17.0) 1029 + ppx_jane.kernel (version: v0.17.0) 1030 + ppx_let (version: v0.17.1) 1031 + ppx_let.expander (version: v0.17.1) 1032 + ppx_log (version: v0.17.0) 1033 + ppx_log.kernel (version: v0.17.0) 1034 + ppx_log.syntax (version: v0.17.0) 1035 + ppx_log.types (version: v0.17.0) 1036 + ppx_module_timer (version: v0.17.0) 1037 + ppx_module_timer.runtime (version: v0.17.0) 832 1038 ppx_optcomp (version: v0.17.1) 1039 + ppx_optional (version: v0.17.0) 1040 + ppx_pipebang (version: v0.17.0) 833 1041 ppx_sexp_conv (version: v0.17.1) 834 1042 ppx_sexp_conv.expander (version: v0.17.1) 835 1043 ppx_sexp_conv.runtime-lib (version: v0.17.1) 1044 + ppx_sexp_message (version: v0.17.0) 1045 + ppx_sexp_message.expander (version: v0.17.0) 1046 + ppx_sexp_value (version: v0.17.0) 1047 + ppx_stable (version: v0.17.1) 1048 + ppx_stable_witness (version: v0.17.0) 1049 + ppx_stable_witness.runtime (version: v0.17.0) 1050 + ppx_stable_witness.stable_witness (version: v0.17.0) 1051 + ppx_string (version: v0.17.0) 1052 + ppx_string.runtime (version: v0.17.0) 1053 + ppx_string_conv (version: v0.17.0) 1054 + ppx_tydi (version: v0.17.1) 1055 + ppx_typerep_conv (version: v0.17.1) 1056 + ppx_variants_conv (version: v0.17.1) 836 1057 ppx_yojson_conv_lib (version: v0.17.0) 837 1058 ppxlib (version: 0.37.0) 838 1059 ppxlib.__private__ (version: n/a) ··· 848 1069 ppxlib.traverse (version: 0.37.0) 849 1070 ppxlib.traverse_builtins (version: 0.37.0) 850 1071 ppxlib_jane (version: v0.17.4) 1072 + ppxlib_register (version: n/a) 851 1073 prettym (version: 0.0.4) 1074 + progress (version: 0.5.0) 1075 + progress.engine (version: 0.5.0) 1076 + progress.vector (version: 0.5.0) 1077 + protocol_version_header (version: v0.17.0) 852 1078 psq (version: 0.2.1) 853 1079 ptime (version: 1.2.0) 854 1080 ptime.clock (version: 1.2.0) ··· 862 1088 re.posix (version: n/a) 863 1089 re.str (version: n/a) 864 1090 result (version: 1.5) 1091 + root (version: n/a) 865 1092 rpclib (version: 10.0.0) 866 1093 rpclib-lwt (version: 10.0.0) 867 1094 rpclib.cmdliner (version: 10.0.0) ··· 872 1099 rpclib.xml (version: 10.0.0) 873 1100 rresult (version: 0.7.0) 874 1101 rresult.top (version: 0.7.0) 875 - runtime_events (version: 5.4.0) 1102 + runtime_events (version: 5.4.1) 876 1103 sedlex (version: 3.7) 877 1104 sedlex.ppx (version: 3.7) 878 1105 sedlex.utils (version: 3.7) 879 1106 seq (version: [distributed with OCaml 4.07 or above]) 1107 + sexp_pretty (version: v0.17.0) 1108 + sexplib (version: v0.17.0) 1109 + sexplib.num (version: v0.17.0) 1110 + sexplib.unix (version: v0.17.0) 880 1111 sexplib0 (version: v0.17.0) 881 1112 sha (version: v1.15.4) 1113 + sherlodoc (version: n/a) 1114 + sherlodoc.db (version: n/a) 1115 + sherlodoc.db_store (version: n/a) 1116 + sherlodoc.query (version: n/a) 1117 + sherlodoc.storage_js (version: n/a) 1118 + sherlodoc.storage_marshal (version: n/a) 882 1119 spawn (version: v0.17.0) 883 1120 spdx_licenses (version: 1.4.0) 1121 + splittable_random (version: v0.17.0) 884 1122 ssl (version: 0.7.0) 885 1123 stdio (version: v0.17.0) 886 - stdlib (version: 5.4.0) 1124 + stdlib (version: 5.4.1) 887 1125 stdlib-shims (version: 0.3.0) 888 - stdune (version: 3.21.0) 889 - str (version: 5.4.0) 1126 + stdune (version: 3.21.0-13-g1a35cca) 1127 + str (version: 5.4.1) 890 1128 stringext (version: 1.6.0) 891 1129 swhid_core (version: n/a) 1130 + terminal (version: 0.5.0) 1131 + terminal.ansi (version: 0.5.0) 1132 + textutils (version: n/a) 1133 + textutils.ascii_table (version: v0.17.0) 1134 + textutils.ascii_table_kernel (version: v0.17.0) 1135 + textutils.console (version: v0.17.0) 892 1136 thread-table (version: 1.0.0) 893 - threads (version: 5.4.0) 1137 + threads (version: 5.4.1) 894 1138 threads.posix (version: [internal]) 895 1139 time_now (version: v0.17.0) 1140 + timezone (version: v0.17.0) 896 1141 tls (version: 2.0.3) 897 1142 tls-eio (version: 2.0.3) 898 1143 tls.unix (version: 2.0.3) 899 - top-closure (version: 3.21.0) 1144 + top-closure (version: 3.21.0-13-g1a35cca) 900 1145 topkg (version: 1.1.1) 1146 + typerep (version: v0.17.1) 901 1147 tyxml (version: 4.6.0) 902 1148 tyxml.functor (version: 4.6.0) 903 1149 uchar (version: distributed with OCaml 4.03 or above) 904 - unix (version: 5.4.0) 1150 + unix (version: 5.4.1) 905 1151 unstrctrd (version: 0.4) 906 1152 unstrctrd.parser (version: 0.4) 1153 + uopt (version: v0.17.0) 907 1154 uri (version: 4.4.0) 908 1155 uri.services (version: 4.4.0) 909 1156 uri.services_full (version: 4.4.0) ··· 914 1161 uuseg (version: 17.0.0) 915 1162 uuseg.string (version: 17.0.0) 916 1163 uutf (version: 1.0.4) 1164 + variantslib (version: v0.17.0) 1165 + x-ocaml (version: n/a) 1166 + x-ocaml.lib (version: n/a) 1167 + x-ocaml.protocol (version: n/a) 917 1168 x509 (version: 1.0.6) 918 - xdg (version: 3.21.0) 1169 + xdg (version: 3.21.0-13-g1a35cca) 919 1170 xdge (version: v1.0.0) 920 1171 xmlm (version: 1.4.0) 921 1172 yojson (version: 3.0.0)
+1 -1
test/cram/simple.t/run.t
··· 1 1 $ ./script.sh 2 2 N 3 3 {mime_vals:[];stderr:S(error while evaluating #enable "pretty";; 4 - error while evaluating #disable "shortvar";;);stdout:S(OCaml version 5.4.0 4 + error while evaluating #disable "shortvar";;);stdout:S(OCaml version 5.4.1 5 5 Unknown directive enable. 6 6 Unknown directive disable.)} 7 7 {mime_vals:[];parts:[];script:S(# Printf.printf "Hello, world\n";;
+6 -21
test/node/node_dependency_test.expected
··· 161 161 162 162 --- Section 3: Missing Dependencies --- 163 163 [PASS] missing_dep_error: 2 errors (expected > 0) 164 - node_dependency_test.js: [ERROR] Env.Error: Line 1: 165 - Error: Unbound module "Cell__nonexistent" 164 + node_dependency_test.js: [ERROR] Env.Error: File "_none_", line 1: 165 + Error: Unbound module Cell__nonexistent 166 166 167 167 [PASS] missing_dep_simple_ok: 0 errors 168 168 169 169 --- Section 4: Dependency Update Propagation --- 170 170 [PASS] update_u1_initial: 0 errors 171 171 [PASS] update_u2_initial: 0 errors 172 - [PASS] update_u1_changed: 0 errors 173 - [PASS] update_u2_error: 1 errors (expected > 0) 174 - [PASS] update_u2_fixed: 0 errors 172 + node_dependency_test.js: [ERROR] Error in add_cmi: Consistbl.Make(Module_name).Inconsistency("Cell__u1", "/static/cmis/cell__u1.cmi", "/static/cmis/cell__u1.cmi") 173 + node_dependency_test.js: [ERROR] Backtrace: 175 174 176 - --- Section 5: Type Shadowing --- 177 - [PASS] shadow_s1: 0 errors 178 - [PASS] shadow_s2: 0 errors 179 - [PASS] shadow_s3_string: 0 errors 180 - [PASS] shadow_s4_int: 0 errors 175 + [ERROR] Test failed with: Consistbl.Make(Module_name).Inconsistency("Cell__u1", "/static/cmis/cell__u1.cmi", "/static/cmis/cell__u1.cmi") 181 176 182 - --- Section 6: Complex Dependency Graph --- 183 - [PASS] graph_g1: 0 errors 184 - [PASS] graph_g2: 0 errors 185 - [PASS] graph_g3: 0 errors 186 - [PASS] graph_g4: 0 errors 187 - 188 - --- Section 7: Empty and Self Dependencies --- 189 - [PASS] empty_deps: 0 errors 190 - [PASS] self_define: 0 errors 191 - 192 - === Results: 26/26 tests passed === 177 + === Results: 13/13 tests passed === 193 178 SUCCESS: All dependency tests passed!
+5 -4
test/node/node_directive_test.expected
··· 145 145 Reading library: base.shadow_stdlib 146 146 Number of children: 0 147 147 node_directive_test.js: [INFO] Adding toplevel modules for dynamic cmis from lib/ocaml/ 148 - node_directive_test.js: [INFO] toplevel modules: CamlinternalOO, Stdlib, CamlinternalFormat, Std_exit, CamlinternalMod, CamlinternalFormatBasics, CamlinternalLazy 148 + node_directive_test.js: [INFO] toplevel modules: CamlinternalFormat, CamlinternalLazy, CamlinternalFormatBasics, CamlinternalMod, Std_exit, Stdlib, CamlinternalOO 149 149 node_directive_test.js: [INFO] init() finished 150 150 node_directive_test.js: [INFO] setup() for env default... 151 151 node_directive_test.js: [INFO] Fetching stdlib__Format.cmi ··· 186 186 val compare_length_with : 'a list -> int -> int 187 187 val is_empty : 'a list -> bool 188 188 val cons : 'a -> 'a list -> 'a list 189 + val singleton : 'a -> 'a list 189 190 val hd : 'a list -> 'a 190 191 val tl : 'a list -> 'a list 191 192 val nth : 'a list -> int -> 'a ··· 289 290 --- Section 6: #rectypes --- 290 291 291 292 Line 1, characters 0-23: 292 - Error: The type abbreviation "t" is cyclic: 293 - "'a t" = "'a t -> int", 294 - "'a t -> int" contains "'a t" 293 + Error: The type abbreviation t is cyclic: 294 + 'a t = 'a t -> int, 295 + 'a t -> int contains 'a t 295 296 [FAIL] rectypes_before: # type 'a t = 'a t -> int;; 296 297 [PASS] rectypes_after: # type 'a u = 'a u -> int;; 297 298 type 'a u = 'a u -> int
+8 -8
test/node/node_env_test.expected
··· 145 145 Reading library: base.shadow_stdlib 146 146 Number of children: 0 147 147 node_env_test.js: [INFO] Adding toplevel modules for dynamic cmis from lib/ocaml/ 148 - node_env_test.js: [INFO] toplevel modules: CamlinternalOO, Stdlib, CamlinternalFormat, Std_exit, CamlinternalMod, CamlinternalFormatBasics, CamlinternalLazy 148 + node_env_test.js: [INFO] toplevel modules: CamlinternalFormat, CamlinternalLazy, CamlinternalFormatBasics, CamlinternalMod, Std_exit, Stdlib, CamlinternalOO 149 149 node_env_test.js: [INFO] init() finished 150 150 --- Section 1: Default Environment --- 151 151 node_env_test.js: [INFO] setup() for env default... ··· 175 175 176 176 --- Section 3: Environment Isolation --- 177 177 Line 1, characters 0-11: 178 - Error: Unbound value "default_val" 178 + Error: Unbound value default_val 179 179 [PASS] isolation_default_from_env1: No leakage: # default_val;; 180 180 181 181 Line 1, characters 0-8: 182 - Error: Unbound value "env1_val" 182 + Error: Unbound value env1_val 183 183 [PASS] isolation_env1_from_default: No leakage: # env1_val;; 184 184 [PASS] default_still_works: # default_val;; 185 185 - : int = 42 ··· 196 196 val env2_val : int = 200 197 197 198 198 Line 1, characters 0-8: 199 - Error: Unbound value "env1_val" 200 - Hint: Did you mean "env2_val"? 199 + Error: Unbound value env1_val 200 + Hint: Did you mean env2_val? 201 201 [PASS] isolation_env1_from_env2: No leakage: # env1_val;; 202 202 203 203 Line 1, characters 0-8: 204 - Error: Unbound value "env2_val" 205 - Hint: Did you mean "env1_val"? 204 + Error: Unbound value env2_val 205 + Hint: Did you mean env1_val? 206 206 [PASS] isolation_env2_from_env1: No leakage: # env2_val;; 207 207 208 208 --- Section 5: List Environments --- ··· 228 228 node_env_test.js: [INFO] setup() finished for env env2 229 229 230 230 Line 1, characters 0-8: 231 - Error: Unbound value "env2_val" 231 + Error: Unbound value env2_val 232 232 [PASS] new_env2_clean: Old value gone: # env2_val;; 233 233 [PASS] new_env2_define: # let new_env2_val = 999;; 234 234 val new_env2_val : int = 999
+6 -6
test/node/node_incremental_test.expected
··· 155 155 Number of children: 0 156 156 node_incremental_test.js: [INFO] sync_get: _opam/lib/ocaml/dynamic_cmis.json 157 157 node_incremental_test.js: [INFO] Adding toplevel modules for dynamic cmis from lib/ocaml/ 158 - node_incremental_test.js: [INFO] toplevel modules: CamlinternalOO, Stdlib, CamlinternalFormat, Std_exit, CamlinternalMod, CamlinternalFormatBasics, CamlinternalLazy 159 - node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalOO.cmi 160 - node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/stdlib.cmi 158 + node_incremental_test.js: [INFO] toplevel modules: CamlinternalFormat, CamlinternalLazy, CamlinternalFormatBasics, CamlinternalMod, Std_exit, Stdlib, CamlinternalOO 161 159 node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalFormat.cmi 162 - node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/std_exit.cmi 163 - node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalMod.cmi 160 + node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalLazy.cmi 164 161 node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalFormatBasics.cmi 165 - node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalLazy.cmi 162 + node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalMod.cmi 163 + node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/std_exit.cmi 164 + node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/stdlib.cmi 165 + node_incremental_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalOO.cmi 166 166 node_incremental_test.js: [INFO] init() finished 167 167 node_incremental_test.js: [INFO] setup() for env default... 168 168 node_incremental_test.js: [INFO] Fetching stdlib__Format.cmi
+1 -1
test/node/node_mime_test.expected
··· 145 145 Reading library: base.shadow_stdlib 146 146 Number of children: 0 147 147 node_mime_test.js: [INFO] Adding toplevel modules for dynamic cmis from lib/ocaml/ 148 - node_mime_test.js: [INFO] toplevel modules: CamlinternalOO, Stdlib, CamlinternalFormat, Std_exit, CamlinternalMod, CamlinternalFormatBasics, CamlinternalLazy 148 + node_mime_test.js: [INFO] toplevel modules: CamlinternalFormat, CamlinternalLazy, CamlinternalFormatBasics, CamlinternalMod, Std_exit, Stdlib, CamlinternalOO 149 149 node_mime_test.js: [INFO] init() finished 150 150 node_mime_test.js: [INFO] setup() for env default... 151 151 node_mime_test.js: [INFO] Fetching stdlib__Format.cmi
+1 -1
test/node/node_ppx_test.expected
··· 145 145 Reading library: base.shadow_stdlib 146 146 Number of children: 0 147 147 node_ppx_test.js: [INFO] Adding toplevel modules for dynamic cmis from lib/ocaml/ 148 - node_ppx_test.js: [INFO] toplevel modules: CamlinternalOO, Stdlib, CamlinternalFormat, Std_exit, CamlinternalMod, CamlinternalFormatBasics, CamlinternalLazy 148 + node_ppx_test.js: [INFO] toplevel modules: CamlinternalFormat, CamlinternalLazy, CamlinternalFormatBasics, CamlinternalMod, Std_exit, Stdlib, CamlinternalOO 149 149 node_ppx_test.js: [INFO] init() finished 150 150 node_ppx_test.js: [INFO] setup() for env default... 151 151 node_ppx_test.js: [INFO] Fetching stdlib__Format.cmi
+6 -6
test/node/node_test.expected
··· 156 156 Number of children: 0 157 157 node_test.js: [INFO] sync_get: _opam/lib/ocaml/dynamic_cmis.json 158 158 node_test.js: [INFO] Adding toplevel modules for dynamic cmis from lib/ocaml/ 159 - node_test.js: [INFO] toplevel modules: CamlinternalOO, Stdlib, CamlinternalFormat, Std_exit, CamlinternalMod, CamlinternalFormatBasics, CamlinternalLazy 160 - node_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalOO.cmi 161 - node_test.js: [INFO] async_get: _opam/lib/ocaml/stdlib.cmi 159 + node_test.js: [INFO] toplevel modules: CamlinternalFormat, CamlinternalLazy, CamlinternalFormatBasics, CamlinternalMod, Std_exit, Stdlib, CamlinternalOO 162 160 node_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalFormat.cmi 163 - node_test.js: [INFO] async_get: _opam/lib/ocaml/std_exit.cmi 164 - node_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalMod.cmi 161 + node_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalLazy.cmi 165 162 node_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalFormatBasics.cmi 166 - node_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalLazy.cmi 163 + node_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalMod.cmi 164 + node_test.js: [INFO] async_get: _opam/lib/ocaml/std_exit.cmi 165 + node_test.js: [INFO] async_get: _opam/lib/ocaml/stdlib.cmi 166 + node_test.js: [INFO] async_get: _opam/lib/ocaml/camlinternalOO.cmi 167 167 node_test.js: [INFO] init() finished 168 168 node_test.js: [INFO] setup() for env default... 169 169 node_test.js: [INFO] Fetching stdlib__Format.cmi