(for PR #29563)

2026-03-20 10:16.21: New job: test server-reason-react.0.4.1 with ppxlib.0.38.0, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29563/head (6185871ccd68c72dd8f6902c863f0554508a6764)
                              on debian-13-ocaml-5.4/amd64

To reproduce locally:

cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29563/head" && git reset --hard 6185871c
git fetch origin master
git merge --no-edit 9f189ca4f94fbb5f0045820bf3c4ffafb21145ef
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn ppxlib.0.38.0 0.38.0
RUN opam reinstall ppxlib.0.38.0; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'ppxlib.0.38.0' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN opam reinstall server-reason-react.0.4.1; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'server-reason-react.0.4.1' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN (opam reinstall --with-test server-reason-react.0.4.1) || true
RUN opam reinstall --with-test --verbose server-reason-react.0.4.1; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'server-reason-react.0.4.1' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1

END-OF-DOCKERFILE
docker build -f ../Dockerfile .

2026-03-20 10:16.21: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6-ppxlib.0.38.0-server-reason-react.0.4.1-6185871ccd68c72dd8f6902c863f0554508a6764"
2026-03-20 10:16.21: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
 (run (network host)
      (shell "opam init --reinit --config .opamrc-sandbox -ni"))
 (run (shell "opam option solver=builtin-0install && opam config report"))
 (env OPAMDOWNLOADJOBS 1)
 (env OPAMERRLOGLEN 0)
 (env OPAMPRECISETRACKING 1)
 (env CI true)
 (env OPAM_REPO_CI true)
 (run (shell "rm -rf opam-repository/"))
 (copy (src .) (dst opam-repository/))
 (run (shell "opam repository set-url --strict default opam-repository/"))
 (run (network host)
      (shell "opam update --depexts || true"))
 (run (shell "opam pin add -k version -yn ppxlib.0.38.0 0.38.0"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall ppxlib.0.38.0;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'ppxlib.0.38.0' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall server-reason-react.0.4.1;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'server-reason-react.0.4.1' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (network host)
      (shell "(opam reinstall --with-test server-reason-react.0.4.1) || true"))
 (run (shell  "opam reinstall --with-test --verbose server-reason-react.0.4.1;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'server-reason-react.0.4.1' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2026-03-20 10:16.21: Waiting for resource in pool OCluster
2026-03-20 10:19.10: Waiting for worker…
2026-03-20 10:21.39: Got resource from pool OCluster
Building on phoebe
All commits already cached
Updating files:  86% (16072/18507)
Updating files:  87% (16102/18507)
Updating files:  88% (16287/18507)
Updating files:  89% (16472/18507)
Updating files:  90% (16657/18507)
Updating files:  91% (16842/18507)
Updating files:  92% (17027/18507)
Updating files:  93% (17212/18507)
Updating files:  94% (17397/18507)
Updating files:  95% (17582/18507)
Updating files:  96% (17767/18507)
Updating files:  97% (17952/18507)
Updating files:  98% (18137/18507)
Updating files:  99% (18322/18507)
Updating files: 100% (18507/18507)
Updating files: 100% (18507/18507), done.
HEAD is now at 9f189ca4f9 Merge pull request #29562 from shonfeder/release-dune-3.22.0
Updating 9f189ca4f9..6185871ccd
Fast-forward
 packages/ppxlib-tools/ppxlib-tools.0.38.0/opam | 47 +++++++++++++++++++
 packages/ppxlib/ppxlib.0.38.0/opam             | 64 ++++++++++++++++++++++++++
 2 files changed, 111 insertions(+)
 create mode 100644 packages/ppxlib-tools/ppxlib-tools.0.38.0/opam
 create mode 100644 packages/ppxlib/ppxlib.0.38.0/opam

(from ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6)
2026-03-20 10:21.57 ---> using "41eea30e3f639c18d8cf57c309ec76919ec7b2398036f7e41744cbce59a133d3" from cache

/: (user (uid 1000) (gid 1000))

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-03-20 10:21.57 ---> using "4ad7f430d684c40cedc651267e0edf890c044fe4e624255de377c471b4526bac" from cache

/home/opam: (run (network host)
                 (shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally from built-in defaults.
Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.

This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.

Continue? [Y/n] y
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-03-20 10:21.57 ---> using "71fa58e52457bf6a7eac317c6a6ef1e2bdf53e533a1e4fd04b90c9349347e038" from cache

/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version         2.5.0
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=debian os-version=13
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 71
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       5.4
# invariant            ["ocaml-base-compiler" {= "5.4.0"}]
# compiler-packages    ocaml-base-compiler.5.4.0, ocaml-compiler.5.4.0, ocaml-options-vanilla.1
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /home/opam/.opam/5.4/lib/ocaml/stublibs:/home/opam/.opam/5.4/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       5.4.0
2026-03-20 10:21.57 ---> using "ed86081cb38ca125a920162bfe6a4bb7b1c27c6973c917551687c83cf44dbfdf" from cache

/home/opam: (env OPAMDOWNLOADJOBS 1)

/home/opam: (env OPAMERRLOGLEN 0)

/home/opam: (env OPAMPRECISETRACKING 1)

/home/opam: (env CI true)

/home/opam: (env OPAM_REPO_CI true)

/home/opam: (run (shell "rm -rf opam-repository/"))
2026-03-20 10:21.57 ---> using "04a48515eea40c32b96da0c71328b4bba0edb66eed83d4f78554b39097cf1f25" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-03-20 10:21.59 ---> using "b9bfc01bc62f278eafaeecd4cba248359fbe1b80633e4dfcfdb8b1397899d446" from cache

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-20 10:21.59 ---> using "c2f12173229ec5c0464d19e3d01c733329e6e921188609c50aa19b931151ea3b" from cache

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian trixie/main amd64 Packages [9671 kB]
- Get:5 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [116 kB]
- Fetched 10.0 MB in 1s (6922 kB/s)
- Reading package lists...
- 
2026-03-20 10:21.59 ---> using "1ca9e50729c16835fde90653123b35731a095f0cd27899846d554dded091ece2" from cache

/home/opam: (run (shell "opam pin add -k version -yn ppxlib.0.38.0 0.38.0"))
ppxlib is now pinned to version 0.38.0
2026-03-20 10:21.59 ---> using "a7d81f2b18a884b8610282e584d445f91905f76979db91435db3eff3db093b60" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall ppxlib.0.38.0;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'ppxlib.0.38.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
ppxlib.0.38.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 6 packages
  - install dune                3.22.0          [required by ppxlib]
  - install ocaml-compiler-libs v0.17.0         [required by ppxlib]
  - install ppx_derivers        1.2.1           [required by ppxlib]
  - install ppxlib              0.38.0 (pinned)
  - install sexplib0            v0.17.0         [required by ppxlib]
  - install stdlib-shims        0.3.0           [required by ppxlib]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.22.0  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppxlib.0.38.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> installed dune.3.22.0
-> installed ppx_derivers.1.2.1
-> installed stdlib-shims.0.3.0
-> installed sexplib0.v0.17.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed ppxlib.0.38.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-20 10:21.59 ---> using "d3b908d2aea2b5be4153c81511debffe40fb194226c5ab54b10dc20db93d3a50" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall server-reason-react.0.4.1;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'server-reason-react.0.4.1' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
server-reason-react.0.4.1 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 42 packages
  - install angstrom            0.16.1   [required by uri]
  - install base-bytes          base     [required by ocplib-endian]
  - install bigstringaf         0.10.0   [required by angstrom]
  - install cmdliner            2.1.0    [required by uucp, melange, uutf]
  - install conf-gmp            5        [required by zarith]
  - install conf-pkg-config     4        [required by zarith]
  - install cppo                1.8.0    [required by lwt, melange]
  - install csexp               1.5.2    [required by dune-configurator]
  - install ctypes              0.24.0   [required by quickjs]
  - install dune-build-info     3.22.0   [required by melange]
  - install dune-configurator   3.22.0   [required by lwt]
  - install fix                 20250919 [required by reason]
  - install integers            0.7.0    [required by server-reason-react]
  - install lwt                 6.1.1    [required by server-reason-react]
  - install lwt_ppx             6.1.0    [required by server-reason-react]
  - install melange             6.0.1-54 [required by server-reason-react]
  - install melange-fetch       0.2.0    [required by server-reason-react]
  - install melange-json        2.0.0    [required by server-reason-react]
  - install melange-json-native 2.0.0    [required by server-reason-react]
  - install melange-webapi      0.22.0   [required by server-reason-react]
  - install menhir              20260209 [required by melange]
  - install menhirCST           20260209 [required by menhir]
  - install menhirGLR           20260209 [required by menhir]
  - install menhirLib           20260209 [required by menhir]
  - install menhirSdk           20260209 [required by menhir]
  - install merlin-extend       0.6.2    [required by reason]
  - install ocaml-syntax-shims  1.0.0    [required by angstrom]
  - install ocamlbuild          0.16.1   [required by uucp, uutf]
  - install ocamlfind           1.9.8    [required by uutf, uucp, zarith]
  - install ocplib-endian       1.2      [required by lwt]
  - install quickjs             0.4.2    [required by server-reason-react]
  - install reason              3.17.3   [required by server-reason-react]
  - install reason-react        0.17.0   [required by server-reason-react]
  - install reason-react-ppx    0.17.0   [required by reason-react]
  - install server-reason-react 0.4.1
  - install stringext           1.6.0    [required by uri]
  - install topkg               1.1.1    [required by uucp, uutf]
  - install uri                 4.4.0    [required by server-reason-react]
  - install uucp                17.0.0   [required by server-reason-react]
  - install uutf                1.0.4    [required by server-reason-react]
  - install yojson              3.0.0    [required by server-reason-react]
  - install zarith              1.14     [required by server-reason-react]

The following system packages will first need to be installed:
    libgmp-dev pkg-config

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>

opam believes some required external dependencies are missing. opam can:
> 1. Run apt-get to install them (may need root/sudo access)
  2. Display the recommended apt-get command and wait while you run it manually (e.g. in another terminal)
  3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
  4. Abort the installation

[1/2/3/4] 1

+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libgmp-dev" "pkg-config"
- Selecting previously unselected package libgmpxx4ldbl:amd64.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20654 files and directories currently installed.)
- Preparing to unpack .../0-libgmpxx4ldbl_2%3a6.3.0+dfsg-3_amd64.deb ...
- Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
- Selecting previously unselected package libgmp-dev:amd64.
- Preparing to unpack .../1-libgmp-dev_2%3a6.3.0+dfsg-3_amd64.deb ...
- Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
- Selecting previously unselected package libpkgconf3:amd64.
- Preparing to unpack .../2-libpkgconf3_1.8.1-4_amd64.deb ...
- Unpacking libpkgconf3:amd64 (1.8.1-4) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../3-pkgconf-bin_1.8.1-4_amd64.deb ...
- Unpacking pkgconf-bin (1.8.1-4) ...
- Selecting previously unselected package pkgconf:amd64.
- Preparing to unpack .../4-pkgconf_1.8.1-4_amd64.deb ...
- Unpacking pkgconf:amd64 (1.8.1-4) ...
- Selecting previously unselected package pkg-config:amd64.
- Preparing to unpack .../5-pkg-config_1.8.1-4_amd64.deb ...
- Unpacking pkg-config:amd64 (1.8.1-4) ...
- Setting up libpkgconf3:amd64 (1.8.1-4) ...
- Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
- Setting up pkgconf-bin (1.8.1-4) ...
- Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
- Setting up pkgconf:amd64 (1.8.1-4) ...
- Setting up pkg-config:amd64 (1.8.1-4) ...
- Processing triggers for libc-bin (2.41-12+deb13u1) ...

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved cmdliner.2.1.0  (cached)
-> retrieved conf-gmp.5  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> installed conf-gmp.5
-> installed conf-pkg-config.4
-> retrieved ctypes.0.24.0  (cached)
-> installed csexp.1.5.2
-> retrieved dune-build-info.3.22.0, dune-configurator.3.22.0  (cached)
-> retrieved fix.20250919  (cached)
-> retrieved integers.0.7.0  (cached)
-> retrieved lwt.6.1.1  (cached)
-> retrieved lwt_ppx.6.1.0  (cached)
-> installed cmdliner.2.1.0
-> installed cppo.1.8.0
-> installed dune-build-info.3.22.0
-> installed fix.20250919
-> installed integers.0.7.0
-> installed dune-configurator.3.22.0
-> retrieved melange.6.0.1-54  (cached)
-> retrieved melange-fetch.0.2.0  (cached)
-> retrieved melange-json.2.0.0, melange-json-native.2.0.0  (cached)
-> installed bigstringaf.0.10.0
-> retrieved melange-webapi.0.22.0  (cached)
-> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209  (cached)
-> retrieved merlin-extend.0.6.2  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> installed menhirCST.20260209
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocplib-endian.1.2  (cached)
-> retrieved quickjs.0.4.2  (cached)
-> installed menhirGLR.20260209
-> installed merlin-extend.0.6.2
-> installed menhirLib.20260209
-> retrieved reason.3.17.3  (cached)
-> installed menhirSdk.20260209
-> retrieved reason-react.0.17.0, reason-react-ppx.0.17.0  (cached)
-> retrieved server-reason-react.0.4.1  (cached)
-> retrieved stringext.1.6.0  (cached)
-> retrieved topkg.1.1.1  (cached)
-> installed ocaml-syntax-shims.1.0.0
-> retrieved uri.4.4.0  (cached)
-> installed stringext.1.6.0
-> retrieved uucp.17.0.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved yojson.3.0.0  (cached)
-> retrieved zarith.1.14  (cached)
-> installed angstrom.0.16.1
-> installed ctypes.0.24.0
-> installed yojson.3.0.0
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed uri.4.4.0
-> installed ocplib-endian.1.2
-> installed quickjs.0.4.2
-> installed melange-json-native.2.0.0
-> installed ocamlbuild.0.16.1
-> installed zarith.1.14
-> installed lwt.6.1.1
-> installed menhir.20260209
-> installed lwt_ppx.6.1.0
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed reason.3.17.3
-> installed reason-react-ppx.0.17.0
-> installed uucp.17.0.0
-> installed melange.6.0.1-54
-> installed melange-fetch.0.2.0
-> installed melange-json.2.0.0
-> installed reason-react.0.17.0
-> installed melange-webapi.0.22.0
-> installed server-reason-react.0.4.1
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-20 10:25.46 ---> saved as "ac1f388cafaa828b1f365139a99d34bdc9ffdccf31383017fedb3851ed0b6725"

/home/opam: (run (network host)
                 (shell "(opam reinstall --with-test server-reason-react.0.4.1) || true"))
The following actions will be performed:
=== recompile 1 package
  - recompile server-reason-react     0.4.1
=== install 21 packages
  - install   alcotest                1.9.1     [required by server-reason-react]
  - install   alcotest-lwt            1.9.1     [required by server-reason-react]
  - install   astring                 0.8.5     [required by alcotest]
  - install   base                    v0.17.3   [required by ocamlformat-lib]
  - install   camlp-streams           5.0.1     [required by ocamlformat-lib]
  - install   dot-merlin-reader       5.6.1-504 [required by merlin]
  - install   either                  1.0.0     [required by ocamlformat-lib]
  - install   fmt                     0.11.0    [required by server-reason-react]
  - install   fpath                   0.7.3     [required by ocamlformat-lib]
  - install   logs                    0.10.0    [required by alcotest-lwt]
  - install   merlin                  5.6.1-504 [required by server-reason-react]
  - install   merlin-lib              5.6.1-504 [required by merlin]
  - install   ocaml-index             5.6.1-504
  - install   ocaml-version           4.0.3     [required by ocamlformat-lib]
  - install   ocaml_intrinsics_kernel v0.17.1   [required by base]
  - install   ocamlformat             0.28.1    [required by server-reason-react]
  - install   ocamlformat-lib         0.28.1    [required by ocamlformat]
  - install   ocp-indent              1.9.0     [required by ocamlformat-lib]
  - install   re                      1.14.0    [required by alcotest, ocamlformat]
  - install   stdio                   v0.17.0   [required by ocamlformat-lib]
  - install   uuseg                   17.0.0    [required by ocamlformat-lib]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1, alcotest-lwt.1.9.1  (https://opam.ocaml.org/cache)
-> retrieved astring.0.8.5  (https://opam.ocaml.org/cache)
-> retrieved base.v0.17.3  (https://opam.ocaml.org/cache)
-> retrieved camlp-streams.5.0.1  (https://opam.ocaml.org/cache)
-> installed camlp-streams.5.0.1
-> installed astring.0.8.5
-> retrieved dot-merlin-reader.5.6.1-504, merlin.5.6.1-504, merlin-lib.5.6.1-504, ocaml-index.5.6.1-504  (https://opam.ocaml.org/cache)
-> retrieved either.1.0.0  (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.0  (https://opam.ocaml.org/cache)
-> retrieved fpath.0.7.3  (https://opam.ocaml.org/cache)
-> retrieved logs.0.10.0  (https://opam.ocaml.org/cache)
-> installed either.1.0.0
-> retrieved ocaml-version.4.0.3  (https://opam.ocaml.org/cache)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (https://opam.ocaml.org/cache)
-> installed ocaml-version.4.0.3
-> installed ocaml_intrinsics_kernel.v0.17.1
-> retrieved ocamlformat.0.28.1, ocamlformat-lib.0.28.1  (https://opam.ocaml.org/cache)
-> installed fmt.0.11.0
-> installed fpath.0.7.3
-> retrieved ocp-indent.1.9.0  (https://opam.ocaml.org/cache)
-> retrieved re.1.14.0  (https://opam.ocaml.org/cache)
-> retrieved server-reason-react.0.4.1  (https://opam.ocaml.org/cache)
-> retrieved stdio.v0.17.0  (https://opam.ocaml.org/cache)
-> retrieved uuseg.17.0.0  (https://opam.ocaml.org/cache)
-> installed logs.0.10.0
-> installed ocp-indent.1.9.0
-> installed re.1.14.0
-> installed uuseg.17.0.0
-> installed alcotest.1.9.1
-> installed alcotest-lwt.1.9.1
-> installed base.v0.17.3
-> installed stdio.v0.17.0
-> removed   server-reason-react.0.4.1
-> installed merlin-lib.5.6.1-504
-> installed dot-merlin-reader.5.6.1-504
-> installed ocaml-index.5.6.1-504
-> installed merlin.5.6.1-504
-> installed ocamlformat-lib.0.28.1
-> installed ocamlformat.0.28.1
[ERROR] The compilation of server-reason-react.0.4.1 failed at "dune build -p server-reason-react -j 71 @install @runtest".

#=== ERROR while compiling server-reason-react.0.4.1 ==========================#
# context              2.5.0 | linux/x86_64 | ocaml-base-compiler.5.4.0 | file:///home/opam/opam-repository
# path                 ~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p server-reason-react -j 71 @install @runtest
# exit-code            1
# env-file             ~/.opam/log/server-reason-react-7-66b32d.env
# output-file          ~/.opam/log/server-reason-react-7-66b32d.out
### output ###
# (cd _build/default/packages/melange.ppx/xxhash && ./test_xxh64.exe)
# Testing `XXH64'.
# This run has ID `U8T520A9'.
# 
#   [OK]          hash                   0   "".
#   [OK]          hash                   1   "a".
#   [OK]          hash                   2   "as".
#   [OK]          hash                   3   "asd".
#   [OK]          hash                   4   "asdf".
#   [OK]          hash                   5   "abc".
#   [OK]          hash                   6   "abc".
#   [OK]          hash                   7   "abcd".
#   [OK]          hash                   8   "abcde".
#   [OK]          hash                   9   "abcdef".
#   [OK]          hash                  10   "abcdefg".
#   [OK]          hash                  11   "abcdefgh".
#   [OK]          hash                  12   "abcdefghi".
#   [OK]          hash                  13   "abcdefghij".
#   [OK]          hash                  14   "abcdefghijklmnopqrstuvwxyz012345".
#   [OK]          hash                  15   "abcdefghijklmnopqrstuvwxyz0123456...
#   [OK]          hash                  16   "Call me Ishmael. Some years ago--...
#   [OK]          hash                  17   "Lorem ipsum dolor sit amet, conse...
#   [OK]          hash · to_hex          0   "I want an unsigned 64-bit seed!".
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/melange.ppx/xxhash/_build/_tests/XXH64'.
# Test Successful in 0.002s. 19 tests run.
# (cd _build/default/packages/url/test && ./test_native.exe)
# Testing `URL'.
# This run has ID `9UQXTZF2'.
# 
#   [OK]          URL                       0   make.
#   [OK]          URL                       1   makeWith.
#   [OK]          URL                       2   makeWith and relative base.
#   [OK]          URL                       3   host.
#   [OK]          URL                       4   hostname.
#   [OK]          URL                       5   setHostname.
#   [OK]          URL                       6   pathname.
#   [OK]          URL                       7   origin.
#   [OK]          URL                       8   href.
#   [OK]          URL                       9   port.
#   [OK]          URL                      10   hash.
#   [OK]          URL                      11   setHash.
#   [OK]          URL                      12   search.
#   [OK]          URL                      13   protocol.
#   [OK]          URL                      14   setProtocol.
#   [OK]          URL                      15   username.
#   [OK]          URL                      16   setUsername.
#   [OK]          URL                      17   password.
#   [OK]          URL                      18   setPassword.
#   [OK]          URL                      19   searchParams.
#   [OK]          URL.SearchParams          0   has.
#   [OK]          URL.SearchParams          1   get.
#   [OK]          URL.SearchParams          2   getAll.
#   [OK]          URL.SearchParams          3   keys.
#   [OK]          URL.SearchParams          4   values.
#   [OK]          URL.SearchParams          5   entries.
#   [OK]          URL.SearchParams          6   toString.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/url/test/_build/_tests/URL'.
# Test Successful in 0.005s. 27 tests run.
# (cd _build/default/packages/Belt/test && ./test.exe)
# Testing `Belt'.
# This run has ID `304YHYI1'.
# 
#   [OK]          Records          0   eq.
#   [OK]          Array            0   truncateToLengthUnsafe.
#   [OK]          Array            1   makeUninitializedUnsafe.
#   [OK]          Array            2   length.
#   [OK]          List             0   eq.
#   [OK]          List             1   map.
#   [OK]          List             2   mapU.
#   [OK]          List             3   mapWithIndex.
#   [OK]          List             4   concat.
#   [OK]          Int              0   fromString.
#   [OK]          Int              1   toString.
#   [OK]          Option           0   keep_1.
#   [OK]          Option           1   keep_2.
#   [OK]          Option           2   keep_3.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/Belt/test/_build/_tests/Belt'.
# Test Successful in 0.002s. 14 tests run.
# (cd _build/default/packages/expand-styles-attribute/test && ./test.exe)
# Testing `expand_styles_attribute'.
# This run has ID `YWK9AGQM'.
# 
#   [OK]          expand_styles_prop_on_attributes               0   
#   [OK]          expand_styles_with_previous_className          0   
#   [OK]          expand_styles_with_previous_style              0   
#   [OK]          expand_styles_optional                         0   
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/expand-styles-attribute/test/_build/_tests/expand_styles_attribute'.
# Test Successful in 0.001s. 4 tests run.
# File "packages/browser-ppx/tests/at_browser_only.t", line 1, characters 0-0:
# /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/packages/browser-ppx/tests/at_browser_only.t _build/default/packages/browser-ppx/tests/at_browser_only.t.corrected
# diff --git a/_build/default/packages/browser-ppx/tests/at_browser_only.t b/_build/default/packages/browser-ppx/tests/at_browser_only.t.corrected
# index 3fb8d6e..1af9596 100644
# --- a/_build/default/packages/browser-ppx/tests/at_browser_only.t
# +++ b/_build/default/packages/browser-ppx/tests/at_browser_only.t.corrected
# @@ -230,7 +230,6 @@ Ppat_constraint
#    let foo ~on:((on [@browser_only]) : unit -> string)
#        ?opt:((opt [@browser_only]) = 42) =
#      0
# - 
#    $ ./standalone.exe -impl input_constr.ml | ocamlformat - --enable-outside-detected-project --impl
#    let foo ~on:_ ?opt:(_ = 42) = 0
#  
# (cd _build/default/packages/Js/test && ./test.exe)
# Testing `Js'.
# This run has ID `MYCZDRH3'.
# 
#   [OK]          Js.Global                     0   decodeURI - ascii and spaces.
#   [OK]          Js.Global                     1   decodeURI - reserved charac...
#   [OK]          Js.Global                     2   decodeURI - alphabets.
#   [OK]          Js.Global                     3   decodeURI - unicode charact...
#   [OK]          Js.Global                     4   decodeURI - mixed percent e...
#   [OK]          Js.Global                     5   decodeURI - complete URLs.
#   [OK]          Js.Global                     6   decodeURI - overencoded seq...
#   [OK]          Js.Global                     7   decodeURI - special charact...
#   [OK]          Js.Global                     8   decodeURI - beyond U+10FFFF.
#   [OK]          Js.Global                     9   decodeURI - partial sequences.
#   [OK]          Js.Global                    10   encodeURI - ascii and spaces.
#   [OK]          Js.Global                    11   encodeURI - reserved charac...
#   [OK]          Js.Global                    12   encodeURI - alphabets.
#   [OK]          Js.Global                    13   encodeURI - unicode charact...
#   [OK]          Js.Global                    14   encodeURI - complete URLs.
#   [OK]          Js.Global                    15   encodeURI - special charact...
#   [OK]          Js.Global                    16   encodeURI - combining chara...
#   [OK]          Js.Global                    17   encodeURI - Surrogate pairs.
#   [OK]          Js.Global                    18   encodeURIComponent.
#   [OK]          Js.Promise                    0   resolve.
#   [OK]          Js.Promise                    1   all.
#   [OK]          Js.Promise                    2   all_async.
#   [OK]          Js.Promise                    3   race_async.
#   [OK]          Js.Float                      0   string_of_float.
#   [OK]          Js.Float                      1   toString.
#   [OK]          Js.Float                      2   fromString.
#   [OK]          Js.Float                      3   toFixed.
#   [OK]          Js.String                     0   make.
#   [OK]          Js.String                     1   length.
#   [OK]          Js.String                     2   get.
#   [OK]          Js.String                     3   fromCharCode.
#   [OK]          Js.String                     4   fromCharCodeMany.
#   [OK]          Js.String                     5   fromCodePoint.
#   [OK]          Js.String                     6   fromCodePointMany.
#   [OK]          Js.String                     7   charAt.
#   [OK]          Js.String                     8   charCodeAt.
#   [OK]          Js.String                     9   codePointAt.
#   [OK]          Js.String                    10   concat.
#   [OK]          Js.String                    11   concatMany.
#   [OK]          Js.String                    12   endsWith.
#   [OK]          Js.String                    13   includes.
#   [OK]          Js.String                    14   indexOf.
#   [OK]          Js.String                    15   lastIndexOf.
#   [OK]          Js.String                    16   match.
#   [OK]          Js.String                    17   match 0.
#   [OK]          Js.String                    18   repeat.
#   [OK]          Js.String                    19   replace.
#   [OK]          Js.String                    20   replaceByRe.
#   [OK]          Js.String                    21   replaceByRe with references...
#   [OK]          Js.String                    22   replaceByRe with $1 capturi...
#   [OK]          Js.String                    23   replaceByRe with multiple c...
#   [OK]          Js.String                    24   replaceByRe with $&.
#   [OK]          Js.String                    25   replaceByRe with $$.
#   [OK]          Js.String                    26   replaceByRe with global.
#   [OK]          Js.String                    27   unsafeReplaceBy0.
#   [OK]          Js.String                    28   unsafeReplaceBy1.
#   [OK]          Js.String                    29   unsafeReplaceBy2.
#   [OK]          Js.String                    30   search.
#   [OK]          Js.String                    31   slice.
#   [OK]          Js.String                    32   split.
#   [OK]          Js.String                    33   splitAtMost.
#   [OK]          Js.String                    34   splitByRe.
#   [OK]          Js.String                    35   startsWith.
#   [OK]          Js.String                    36   substr.
#   [OK]          Js.String                    37   substrAtMost.
#   [OK]          Js.String                    38   substring.
#   [OK]          Js.String                    39   toLowerCase.
#   [OK]          Js.String                    40   toUpperCase.
#   [OK]          Js.String                    41   trim.
#   [OK]          Js.String                    42   anchor.
#   [OK]          Js.String                    43   link.
#   [OK]          Js.Re                         0   captures.
#   [OK]          Js.Re                         1   exec.
#   [OK]          Js.Re                         2   exec with global.
#   [OK]          Js.Re                         3   modifier: end ($).
#   [OK]          Js.Re                         4   modifier: more than one (+).
#   [OK]          Js.Re                         5   global (g) and caseless (i).
#   [OK]          Js.Re                         6   modifier: or ([]).
#   [OK]          Js.Re                         7   backreferencing.
#   [OK]          Js.Re                         8   http|s example.
#   [OK]          Js.Re                         9   index.
#   [OK]          Js.Re                        10   lastIndex.
#   [OK]          Js.Re                        11   input.
#   [OK]          Js.Dict                       0   empty.
#   [OK]          Js.Dict                       1   get.
#   [OK]          Js.Dict                       2   get from missing property.
#   [OK]          Js.Dict                       3   unsafe_get.
#   [OK]          Js.Dict                       4   set.
#   [OK]          Js.Dict                       5   keys.
#   [OK]          Js.Dict                       6   keys duplicated.
#   [OK]          Js.Dict                       7   entries.
#   [OK]          Js.Dict                       8   values.
#   [OK]          Js.Dict                       9   values duplicated.
#   [OK]          Js.Dict                      10   fromList - [].
#   [OK]          Js.Dict                      11   fromList.
#   [OK]          Js.Dict                      12   fromArray - [].
#   [OK]          Js.Dict                      13   fromArray.
#   [OK]          Js.Dict                      14   map.
#   [OK]          BigInt.Arithmetic             0   add: positive + positive.
#   [OK]          BigInt.Arithmetic             1   add: negative + negative.
#   [OK]          BigInt.Arithmetic             2   add: positive + negative.
#   [OK]          BigInt.Arithmetic             3   add: with zero.
#   [OK]          BigInt.Arithmetic             4   add: large numbers.
#   [OK]          BigInt.Arithmetic             5   sub: positive result.
#   [OK]          BigInt.Arithmetic             6   sub: negative result.
#   [OK]          BigInt.Arithmetic             7   sub: with zero.
#   [OK]          BigInt.Arithmetic             8   sub: self.
#   [OK]          BigInt.Arithmetic             9   mul: positive * positive.
#   [OK]          BigInt.Arithmetic            10   mul: negative * positive.
#   [OK]          BigInt.Arithmetic            11   mul: negative * negative.
#   [OK]          BigInt.Arithmetic            12   mul: with zero.
#   [OK]          BigInt.Arithmetic            13   mul: with one.
#   [OK]          BigInt.Arithmetic            14   mul: 3^100.
#   [OK]          BigInt.Arithmetic            15   div: exact division.
#   [OK]          BigInt.Arithmetic            16   div: truncate positive.
#   [OK]          BigInt.Arithmetic            17   div: truncate negative (tow...
#   [OK]          BigInt.Arithmetic            18   div: negative divisor.
#   [OK]          BigInt.Arithmetic            19   div: both negative.
#   [OK]          BigInt.Arithmetic            20   div: large numbers.
#   [OK]          BigInt.Arithmetic            21   div: large negative.
#   [OK]          BigInt.Arithmetic            22   div: by zero throws.
#   [OK]          BigInt.Arithmetic            23   rem: positive % positive.
#   [OK]          BigInt.Arithmetic            24   rem: negative dividend.
#   [OK]          BigInt.Arithmetic            25   rem: negative divisor.
#   [OK]          BigInt.Arithmetic            26   rem: both negative.
#   [OK]          BigInt.Arithmetic            27   rem: large numbers.
#   [OK]          BigInt.Arithmetic            28   rem: large positive.
#   [OK]          BigInt.Arithmetic            29   rem: by zero throws.
#   [OK]          BigInt.Arithmetic            30   pow: exponent zero.
#   [OK]          BigInt.Arithmetic            31   pow: exponent one.
#   [OK]          BigInt.Arithmetic            32   pow: 2^10.
#   [OK]          BigInt.Arithmetic            33   pow: (-2)^127.
#   [OK]          BigInt.Arithmetic            34   pow: 2^127.
#   [OK]          BigInt.Arithmetic            35   pow: negative exponent throws.
#   [OK]          BigInt.Arithmetic            36   pow: (-256)^11.
#   [OK]          BigInt.Arithmetic            37   pow: 7^20.
#   [OK]          BigInt.Arithmetic            38   neg: positive.
#   [OK]          BigInt.Arithmetic            39   neg: negative.
#   [OK]          BigInt.Arithmetic            40   neg: zero.
#   [OK]          BigInt.Arithmetic            41   abs: positive.
#   [OK]          BigInt.Arithmetic            42   abs: negative.
#   [OK]          BigInt.Arithmetic            43   abs: zero.
#   [OK]          BigInt.Bitwise                0   and: basic.
#   [OK]          BigInt.Bitwise                1   and: with zero.
#   [OK]          BigInt.Bitwise                2   and: with all ones.
#   [OK]          BigInt.Bitwise                3   and: negative (two's comple...
#   [OK]          BigInt.Bitwise                4   or: basic.
#   [OK]          BigInt.Bitwise                5   or: with zero.
#   [OK]          BigInt.Bitwise                6   or: disjoint bits.
#   [OK]          BigInt.Bitwise                7   xor: basic.
#   [OK]          BigInt.Bitwise                8   xor: same value.
#   [OK]          BigInt.Bitwise                9   xor: with zero.
#   [OK]          BigInt.Bitwise               10   not: basic.
#   [OK]          BigInt.Bitwise               11   not: zero.
#   [OK]          BigInt.Bitwise               12   not: -1.
#   [OK]          BigInt.Bitwise               13   not: positive.
#   [OK]          BigInt.Bitwise               14   not: negative.
#   [OK]          BigInt.Bitwise               15   shift_left: basic.
#   [OK]          BigInt.Bitwise               16   shift_left: 1 << 31.
#   [OK]          BigInt.Bitwise               17   shift_left: 1 << 32.
#   [OK]          BigInt.Bitwise               18   shift_left: 1 << 100.
#   [OK]          BigInt.Bitwise               19   shift_left: large number.
#   [OK]          BigInt.Bitwise               20   shift_left: negative number.
#   [OK]          BigInt.Bitwise               21   shift_left: by zero.
#   [OK]          BigInt.Bitwise               22   shift_right: basic.
#   [OK]          BigInt.Bitwise               23   shift_right: large number.
#   [OK]          BigInt.Bitwise               24   shift_right: negative (arit...
#   [OK]          BigInt.Bitwise               25   shift_right: by zero.
#   [OK]          BigInt.Bitwise               26   shift_right: small negative.
#   [OK]          BigInt.Comparison             0   equal: same value.
#   [OK]          BigInt.Comparison             1   equal: different values.
#   [OK]          BigInt.Comparison             2   equal: negative values.
#   [OK]          BigInt.Comparison             3   equal: opposite signs.
#   [OK]          BigInt.Comparison             4   equal: zeros.
#   [OK]          BigInt.Comparison             5   equal: large same.
#   [OK]          BigInt.Comparison             6   equal: large different.
#   [OK]          BigInt.Comparison             7   compare: less.
#   [OK]          BigInt.Comparison             8   compare: greater.
#   [OK]          BigInt.Comparison             9   compare: equal.
#   [OK]          BigInt.Comparison            10   compare: negative.
#   [OK]          BigInt.Comparison            11   compare: mixed sign.
#   [OK]          BigInt.Comparison            12   lt: true.
#   [OK]          BigInt.Comparison            13   lt: false (greater).
#   [OK]          BigInt.Comparison            14   lt: false (equal).
#   [OK]          BigInt.Comparison            15   lt: negative.
#   [OK]          BigInt.Comparison            16   le: true (less).
#   [OK]          BigInt.Comparison            17   le: true (equal).
#   [OK]          BigInt.Comparison            18   le: false.
#   [OK]          BigInt.Comparison            19   gt: true.
#   [OK]          BigInt.Comparison            20   gt: false (less).
#   [OK]          BigInt.Comparison            21   gt: false (equal).
#   [OK]          BigInt.Comparison            22   ge: true (greater).
#   [OK]          BigInt.Comparison            23   ge: true (equal).
#   [OK]          BigInt.Comparison            24   ge: false.
#   [OK]          BigInt.Constructor            0   from_string: empty string r...
#   [OK]          BigInt.Constructor            1   from_string: zero.
#   [OK]          BigInt.Constructor            2   from_string: positive decimal.
#   [OK]          BigInt.Constructor            3   from_string: negative decimal.
#   [OK]          BigInt.Constructor            4   from_string: positive sign.
#   [OK]          BigInt.Constructor            5   from_string: large number.
#   [OK]          BigInt.Constructor            6   from_string: very large num...
#   [OK]          BigInt.Constructor            7   from_string: leading whites...
#   [OK]          BigInt.Constructor            8   from_string: trailing white...
#   [OK]          BigInt.Constructor            9   from_string: both whitespace.
#   [OK]          BigInt.Constructor           10   from_string: tabs.
#   [OK]          BigInt.Constructor           11   from_string: newlines.
#   [OK]          BigInt.Constructor           12   from_string: hex lowercase.
#   [OK]          BigInt.Constructor           13   from_string: hex uppercase.
#   [OK]          BigInt.Constructor           14   from_string: hex large.
#   [OK]          BigInt.Constructor           15   from_string: hex negative.
#   [OK]          BigInt.Constructor           16   from_string: binary lowercase.
#   [OK]          BigInt.Constructor           17   from_string: binary uppercase.
#   [OK]          BigInt.Constructor           18   from_string: octal lowercase.
#   [OK]          BigInt.Constructor           19   from_string: octal uppercase.
#   [OK]          BigInt.Constructor           20   from_string: sign only throws.
#   [OK]          BigInt.Constructor           21   from_string: trailing chars...
#   [OK]          BigInt.Constructor           22   from_string: null char throws.
#   [OK]          BigInt.Constructor           23   from_string: decimal point ...
#   [OK]          BigInt.Constructor           24   from_string: float notation...
#   [OK]          BigInt.Constructor           25   from_int: zero.
#   [OK]          BigInt.Constructor           26   from_int: positive.
#   [OK]          BigInt.Constructor           27   from_int: negative.
#   [OK]          BigInt.Constructor           28   from_int: max_int.
#   [OK]          BigInt.Constructor           29   from_int: min_int.
#   [OK]          BigInt.Constructor           30   from_int64: large positive.
#   [OK]          BigInt.Constructor           31   from_int64: large negative.
#   [OK]          BigInt.Conversion             0   toString: zero.
#   [OK]          BigInt.Conversion             1   toString: positive.
#   [OK]          BigInt.Conversion             2   toString: negative.
#   [OK]          BigInt.Conversion             3   toString: large (1 << 100).
#   [OK]          BigInt.Conversion             4   toString: radix 2.
#   [OK]          BigInt.Conversion             5   toString: radix 8.
#   [OK]          BigInt.Conversion             6   toString: radix 16.
#   [OK]          BigInt.Conversion             7   toString: radix 36.
#   [OK]          BigInt.Conversion             8   toString: radix 16 large.
#   [OK]          BigInt.Conversion             9   toFloat: small.
#   [OK]          BigInt.Conversion            10   toFloat: negative.
#   [OK]          BigInt.Conversion            11   toFloat: zero.
#   [OK]          BigInt.Conversion            12   toFloat: MAX_SAFE_INTEGER.
#   [OK]          BigInt.Conversion            13   toFloat: large (0xfffffffff...
#   [OK]          BigInt.Conversion            14   toFloat: large negative.
#   [OK]          BigInt.Conversion            15   asIntN: positive fits.
#   [OK]          BigInt.Conversion            16   asIntN: positive wraps.
#   [OK]          BigInt.Conversion            17   asIntN: 255 -> -1.
#   [OK]          BigInt.Conversion            18   asIntN: negative fits.
#   [OK]          BigInt.Conversion            19   asIntN: negative wraps.
#   [OK]          BigInt.Conversion            20   asIntN: 64 bits.
#   [OK]          BigInt.Conversion            21   asUintN: fits.
#   [OK]          BigInt.Conversion            22   asUintN: wraps to 0.
#   [OK]          BigInt.Conversion            23   asUintN: wraps to 1.
#   [OK]          BigInt.Conversion            24   asUintN: negative wraps.
#   [OK]          BigInt.Conversion            25   asUintN: 64 bits.
#   [OK]          BigInt.AsIntN                 0   asIntN 0 bits.
#   [OK]          BigInt.AsIntN                 1   asIntN 1 bit.
#   [OK]          BigInt.AsIntN                 2   asIntN 8 bit.
#   [OK]          BigInt.AsIntN                 3   asIntN 16 bit.
#   [OK]          BigInt.AsIntN                 4   asIntN 32 bit.
#   [OK]          BigInt.AsIntN                 5   asIntN 64 bit.
#   [OK]          BigInt.AsIntN                 6   asIntN preserves small posi...
#   [OK]          BigInt.AsIntN                 7   asIntN preserves small nega...
#   [OK]          BigInt.AsIntN                 8   asIntN wrapping.
#   [OK]          BigInt.AsIntN                 9   asIntN large bits.
#   [OK]          BigInt.AsIntN                10   asIntN negative input.
#   [OK]          BigInt.AsIntN                11   asIntN 2-bit boundary.
#   [OK]          BigInt.AsIntN                12   asIntN 3-bit boundary.
#   [OK]          BigInt.AsIntN                13   asIntN 4-bit boundary.
#   [OK]          BigInt.AsIntN                14   asIntN identity for zero.
#   [OK]          BigInt.AsIntN                15   asIntN minus one.
#   [OK]          BigInt.AsUintN                0   asUintN 0 bits.
#   [OK]          BigInt.AsUintN                1   asUintN 1 bit.
#   [OK]          BigInt.AsUintN                2   asUintN 8 bit.
#   [OK]          BigInt.AsUintN                3   asUintN 16 bit.
#   [OK]          BigInt.AsUintN                4   asUintN 32 bit.
#   [OK]          BigInt.AsUintN                5   asUintN 64 bit.
#   [OK]          BigInt.AsUintN                6   asUintN preserves small val...
#   [OK]          BigInt.AsUintN                7   asUintN wrapping.
#   [OK]          BigInt.AsUintN                8   asUintN large bits.
#   [OK]          BigInt.AsUintN                9   asUintN negative becomes po...
#   [OK]          BigInt.AsUintN               10   asUintN 2-bit boundary.
#   [OK]          BigInt.AsUintN               11   asUintN 3-bit boundary.
#   [OK]          BigInt.AsUintN               12   asUintN 4-bit boundary.
#   [OK]          BigInt.AsUintN               13   asUintN identity for zero.
#   [OK]          BigInt.AsUintN               14   asUintN one.
#   [OK]          BigInt.AsUintN               15   asUintN power of two.
#   [OK]          BigInt.AsUintN               16   asUintN power of two minus ...
#   [OK]          BigInt.Prototype              0   toString default radix.
#   [OK]          BigInt.Prototype              1   toString radix 2 (binary).
#   [OK]          BigInt.Prototype              2   toString radix 8 (octal).
#   [OK]          BigInt.Prototype              3   toString radix 10 (decimal).
#   [OK]          BigInt.Prototype              4   toString radix 16 (hex).
#   [OK]          BigInt.Prototype              5   toString radix 36 (max).
#   [OK]          BigInt.Prototype              6   toString various radixes.
#   [OK]          BigInt.Prototype              7   toString large numbers.
#   [OK]          BigInt.Prototype              8   toString negative large.
#   [OK]          BigInt.Prototype              9   toString zero all radixes.
#   [OK]          BigInt.Prototype             10   to_float small.
#   [OK]          BigInt.Prototype             11   to_float large.
#   [OK]          BigInt.Prototype             12   to_float very large.
#   [OK]          BigInt.Prototype             13   of_string edge cases.
#   [OK]          BigInt.Prototype             14   of_string hex.
#   [OK]          BigInt.Prototype             15   of_string binary.
#   [OK]          BigInt.Prototype             16   of_string octal.
#   [OK]          BigInt.Prototype             17   compare equal.
#   [OK]          BigInt.Prototype             18   compare less.
#   [OK]          BigInt.Prototype             19   compare greater.
#   [OK]          BigInt.Prototype             20   compare negative.
#   [OK]          BigInt.Prototype             21   compare large.
#   [OK]          Date.Getters                  0   getTime returns epoch ms.
#   [OK]          Date.Getters                  1   getTime NaN for invalid date.
#   [OK]          Date.Getters                  2   getUTCFullYear.
#   [OK]          Date.Getters                  3   getUTCMonth.
#   [OK]          Date.Getters                  4   getUTCDate.
#   [OK]          Date.Getters                  5   getUTCDay.
#   [OK]          Date.Getters                  6   getUTCHours.
#   [OK]          Date.Getters                  7   getUTCMinutes.
#   [OK]          Date.Getters                  8   getUTCSeconds.
#   [OK]          Date.Getters                  9   getUTCMilliseconds.
#   [OK]          Date.Getters                 10   UTC getters at epoch.
#   [OK]          Date.Getters                 11   UTC getters before epoch.
#   [OK]          Date.Getters                 12   UTC getters at Y2K.
#   [OK]          Date.Getters                 13   UTC getters on leap day.
#   [OK]          Date.Getters                 14   getUTCFullYear NaN.
#   [OK]          Date.Getters                 15   getUTCMonth NaN.
#   [OK]          Date.Getters                 16   getUTCDate NaN.
#   [OK]          Date.Getters                 17   getUTCDay NaN.
#   [OK]          Date.Getters                 18   getUTCHours NaN.
#   [OK]          Date.Getters                 19   getUTCMinutes NaN.
#   [OK]          Date.Getters                 20   getUTCSeconds NaN.
#   [OK]          Date.Getters                 21   getUTCMilliseconds NaN.
#   [OK]          Date.Getters                 22   new year transition.
#   [OK]          Date.Getters                 23   month lengths.
#   [OK]          Date.LocalGetters             0   getTime basic.
#   [OK]          Date.LocalGetters             1   getTime epoch.
#   [OK]          Date.LocalGetters             2   getTime negative.
#   [OK]          Date.LocalGetters             3   getTime NaN.
#   [OK]          Date.LocalGetters             4   valueOf basic.
#   [OK]          Date.LocalGetters             5   valueOf epoch.
#   [OK]          Date.LocalGetters             6   valueOf NaN.
#   [OK]          Date.LocalGetters             7   valueOf equals getTime.
#   [OK]          Date.LocalGetters             8   getUTCFullYear 2017.
#   [OK]          Date.LocalGetters             9   getUTCFullYear 1970 (epoch).
#   [OK]          Date.LocalGetters            10   getUTCFullYear 1969.
#   [OK]          Date.LocalGetters            11   getUTCFullYear NaN.
#   [OK]          Date.LocalGetters            12   getUTCFullYear Y2K.
#   [OK]          Date.LocalGetters            13   getUTCFullYear leap year.
#   [OK]          Date.LocalGetters            14   getUTCMonth January (0).
#   [OK]          Date.LocalGetters            15   getUTCMonth December (11).
#   [OK]          Date.LocalGetters            16   getUTCMonth NaN.
#   [OK]          Date.LocalGetters            17   getUTCMonth epoch.
#   [OK]          Date.LocalGetters            18   getUTCDate first.
#   [OK]          Date.LocalGetters            19   getUTCDate 31st.
#   [OK]          Date.LocalGetters            20   getUTCDate NaN.
#   [OK]          Date.LocalGetters            21   getUTCDate epoch.
#   [OK]          Date.LocalGetters            22   getUTCDay Thursday (epoch).
#   [OK]          Date.LocalGetters            23   getUTCDay Sunday.
#   [OK]          Date.LocalGetters            24   getUTCDay Saturday.
#   [OK]          Date.LocalGetters            25   getUTCDay NaN.
#   [OK]          Date.LocalGetters            26   getUTCHours zero.
#   [OK]          Date.LocalGetters            27   getUTCHours 23.
#   [OK]          Date.LocalGetters            28   getUTCHours NaN.
#   [OK]          Date.LocalGetters            29   getUTCHours epoch.
#   [OK]          Date.LocalGetters            30   getUTCMinutes zero.
#   [OK]          Date.LocalGetters            31   getUTCMinutes 59.
#   [OK]          Date.LocalGetters            32   getUTCMinutes NaN.
#   [OK]          Date.LocalGetters            33   getUTCSeconds zero.
#   [OK]          Date.LocalGetters            34   getUTCSeconds 59.
#   [OK]          Date.LocalGetters            35   getUTCSeconds NaN.
#   [OK]          Date.LocalGetters            36   getUTCMilliseconds zero.
#   [OK]          Date.LocalGetters            37   getUTCMilliseconds 999.
#   [OK]          Date.LocalGetters            38   getUTCMilliseconds NaN.
#   [OK]          Date.LocalGetters            39   getUTCMilliseconds middle.
#   [OK]          Date.LocalGetters            40   getTimezoneOffset returns n...
#   [OK]          Date.LocalGetters            41   getTimezoneOffset NaN.
#   [OK]          Date.LocalGetters            42   getTimezoneOffset in valid ...
#   [OK]          Date.LocalGetters            43   local getters consistent.
#   [OK]          Date.LocalGetters            44   local getters NaN.
#   [OK]          Date.LocalGetters            45   getDay range 0-6.
#   [OK]          Date.LocalGetters            46   getters large positive date.
#   [OK]          Date.LocalGetters            47   getters large negative date.
#   [OK]          Date.LocalGetters            48   getters boundary milliseconds.
#   [OK]          Date.Setters                  0   setTime basic.
#   [OK]          Date.Setters                  1   setTime epoch.
#   [OK]          Date.Setters                  2   setTime negative.
#   [OK]          Date.Setters                  3   setTime NaN value.
#   [OK]          Date.Setters                  4   setTime on NaN date.
#   [OK]          Date.Setters                  5   setUTCMilliseconds basic.
#   [OK]          Date.Setters                  6   setUTCMilliseconds overflow.
#   [OK]          Date.Setters                  7   setUTCMilliseconds negative.
#   [OK]          Date.Setters                  8   setUTCMilliseconds NaN.
#   [OK]          Date.Setters                  9   setUTCSeconds basic.
#   [OK]          Date.Setters                 10   setUTCSeconds overflow.
#   [OK]          Date.Setters                 11   setUTCSeconds with ms.
#   [OK]          Date.Setters                 12   setUTCSeconds NaN.
#   [OK]          Date.Setters                 13   setUTCMinutes basic.
#   [OK]          Date.Setters                 14   setUTCMinutes overflow.
#   [OK]          Date.Setters                 15   setUTCMinutes with seconds.
#   [OK]          Date.Setters                 16   setUTCMinutes with seconds ...
#   [OK]          Date.Setters                 17   setUTCMinutes NaN.
#   [OK]          Date.Setters                 18   setUTCHours basic.
#   [OK]          Date.Setters                 19   setUTCHours overflow.
#   [OK]          Date.Setters                 20   setUTCHours with minutes.
#   [OK]          Date.Setters                 21   setUTCHours with minutes an...
#   [OK]          Date.Setters                 22   setUTCHours all components.
#   [OK]          Date.Setters                 23   setUTCHours NaN.
#   [OK]          Date.Setters                 24   setUTCDate basic.
#   [OK]          Date.Setters                 25   setUTCDate overflow.
#   [OK]          Date.Setters                 26   setUTCDate zero.
#   [OK]          Date.Setters                 27   setUTCDate negative.
#   [OK]          Date.Setters                 28   setUTCDate NaN.
#   [OK]          Date.Setters                 29   setUTCMonth basic.
#   [OK]          Date.Setters                 30   setUTCMonth overflow.
#   [OK]          Date.Setters                 31   setUTCMonth negative.
#   [OK]          Date.Setters                 32   setUTCMonth with date.
#   [OK]          Date.Setters                 33   setUTCMonth NaN.
#   [OK]          Date.Setters                 34   setUTCFullYear basic.
#   [OK]          Date.Setters                 35   setUTCFullYear with month.
#   [OK]          Date.Setters                 36   setUTCFullYear with month a...
#   [OK]          Date.Setters                 37   setUTCFullYear leap to non-...
#   [OK]          Date.Setters                 38   setUTCFullYear NaN.
#   [OK]          Date.Setters                 39   setMilliseconds basic.
#   [OK]          Date.Setters                 40   setSeconds basic.
#   [OK]          Date.Setters                 41   setMinutes basic.
#   [OK]          Date.Setters                 42   setHours basic.
#   [OK]          Date.Setters                 43   setDate basic.
#   [OK]          Date.Setters                 44   setMonth basic.
#   [OK]          Date.Setters                 45   setFullYear basic.
#   [OK]          Date.Setters                 46   setSeconds with ms.
#   [OK]          Date.Setters                 47   setMinutes with seconds.
#   [OK]          Date.Setters                 48   setMinutes with seconds and...
#   [OK]          Date.Setters                 49   setHours with minutes.
#   [OK]          Date.Setters                 50   setHours with minutes and s...
#   [OK]          Date.Setters                 51   setHours all components.
#   [OK]          Date.Setters                 52   setMonth with date.
#   [OK]          Date.Setters                 53   setFullYear with month.
#   [OK]          Date.Setters                 54   setFullYear with month and ...
#   [OK]          Date.Setters                 55   setMilliseconds NaN.
#   [OK]          Date.Setters                 56   setSeconds NaN.
#   [OK]          Date.Setters                 57   setMinutes NaN.
#   [OK]          Date.Setters                 58   setHours NaN.
#   [OK]          Date.Setters                 59   setDate NaN.
#   [OK]          Date.Setters                 60   setMonth NaN.
#   [OK]          Date.Setters                 61   setFullYear NaN.
#   [OK]          Date.ToString                 0   toUTCString basic.
#   [OK]          Date.ToString                 1   toUTCString epoch.
#   [OK]          Date.ToString                 2   toUTCString format.
#   [OK]          Date.ToString                 3   toUTCString NaN.
#   [OK]          Date.ToString                 4   toUTCString negative year.
#   [OK]          Date.ToString                 5   toUTCString all months.
#   [OK]          Date.ToString                 6   toUTCString day names.
#   [OK]          Date.ToString                 7   toDateString basic.
#   [OK]          Date.ToString                 8   toDateString epoch.
#   [OK]          Date.ToString                 9   toDateString NaN.
#   [OK]          Date.ToString                10   toDateString no time.
#   [OK]          Date.ToString                11   toTimeString basic.
#   [OK]          Date.ToString                12   toTimeString epoch.
#   [OK]          Date.ToString                13   toTimeString NaN.
#   [OK]          Date.ToString                14   toTimeString contains time.
#   [OK]          Date.ToString                15   toString basic.
#   [OK]          Date.ToString                16   toString epoch.
#   [OK]          Date.ToString                17   toString NaN.
#   [OK]          Date.ToString                18   toString contains date and ...
#   [OK]          Date.ToString                19   toString contains year.
#   [OK]          Date.ToString                20   toJSON basic.
#   [OK]          Date.ToString                21   toJSON NaN.
#   [OK]          Date.ToString                22   toJSONUnsafe basic.
#   [OK]          Date.ToString                23   toLocaleString basic.
#   [OK]          Date.ToString                24   toLocaleString NaN.
#   [OK]          Date.ToString                25   toLocaleDateString basic.
#   [OK]          Date.ToString                26   toLocaleDateString NaN.
#   [OK]          Date.ToString                27   toLocaleTimeString basic.
#   [OK]          Date.ToString                28   toLocaleTimeString NaN.
#   [OK]          Date.ToString                29   toString large year.
#   [OK]          Date.ToString                30   toString negative year.
#   [OK]          Date.ToString                31   toUTCString Y2K.
#   [OK]          Date.Now                      0   now returns finite number.
#   [OK]          Date.Now                      1   now returns positive.
#   [OK]          Date.Now                      2   now is recent (after 2020).
#   [OK]          Date.Now                      3   now is monotonic.
#   [OK]          Date.Now                      4   now returns integer ms.
#   [OK]          Date.Parse                    0   empty string returns NaN.
#   [OK]          Date.Parse                    1   year only: 2000.
#   [OK]          Date.Parse                    2   year-month: 2000-01.
#   [OK]          Date.Parse                    3   full date: 2000-01-01.
#   [OK]          Date.Parse                    4   date with time UTC: 2000-01...
#   [OK]          Date.Parse                    5   date with seconds: 2000-01-...
#   [OK]          Date.Parse                    6   milliseconds .1Z = 100ms.
#   [OK]          Date.Parse                    7   milliseconds .10Z = 100ms.
#   [OK]          Date.Parse                    8   milliseconds .100Z = 100ms.
#   [OK]          Date.Parse                    9   milliseconds .1000Z = 100ms.
#   [OK]          Date.Parse                   10   timezone offset +00:00.
#   [OK]          Date.Parse                   11   known ISO timestamp.
#   [OK]          Date.Parse                   12   roundtrip parsing.
#   [OK]          Date.Parse                   13   millis: single digit .1.
#   [OK]          Date.Parse                   14   millis: two digits .12.
#   [OK]          Date.Parse                   15   millis: four digits .1234 t...
#   [OK]          Date.Parse                   16   millis: many digits .9999 t...
#   [OK]          Date.Parse                   17   expanded year +002000.
#   [OK]          Date.Parse                   18   expanded year -000001.
#   [OK]          Date.Parse                   19   expanded year -000000 is in...
#   [OK]          Date.Parse                   20   month name format: Jan 1 2000.
#   [OK]          Date.Parse                   21   with weekday: Sat Jan 1 2000.
#   [OK]          Date.Parse                   22   timezone GMT+0100.
#   [OK]          Date.Parse                   23   timezone GMT+0200.
#   [OK]          Date.Parse                   24   invalid: gibberish.
#   [OK]          Date.Parse                   25   invalid: partial 2000-.
#   [OK]          Date.Parse                   26   invalid: month 13.
#   [OK]          Date.Parse                   27   invalid: day 32.
#   [OK]          Date.Parse                   28   invalid: hour 25.
#   [OK]          Date.Parse                   29   invalid: minute 60.
#   [OK]          Date.Parse                   30   invalid: second 60.
#   [OK]          Date.ToISOString              0   known timestamp.
#   [OK]          Date.ToISOString              1   epoch.
#   [OK]          Date.ToISOString              2   Y2K.
#   [OK]          Date.ToISOString              3   with milliseconds.
#   [OK]          Date.ToISOString              4   millis: 000.
#   [OK]          Date.ToISOString              5   millis: 001.
#   [OK]          Date.ToISOString              6   millis: 010.
#   [OK]          Date.ToISOString              7   millis: 100.
#   [OK]          Date.ToISOString              8   millis: 999.
#   [OK]          Date.ToISOString              9   single digit month padded.
#   [OK]          Date.ToISOString             10   single digit day padded.
#   [OK]          Date.ToISOString             11   single digit hour padded.
#   [OK]          Date.ToISOString             12   before epoch -1ms.
#   [OK]          Date.ToISOString             13   1969 Jan.
#   [OK]          Date.ToISOString             14   year 0.
#   [OK]          Date.ToISOString             15   negative year.
#   [OK]          Date.ToISOString             16   year 10000.
#   [OK]          Date.ToISOString             17   roundtrip known timestamp.
#   [OK]          Date.ToISOString             18   roundtrip epoch.
#   [OK]          Date.ToISOString             19   roundtrip before epoch.
#   [OK]          Date.ToISOString             20   QJS: 2020-01-01T01:01:01.123Z.
#   [OK]          Date.ToISOString             21   QJS: .1Z -> .100Z.
#   [OK]          Date.ToISOString             22   QJS: .12Z -> .120Z.
#   [OK]          Date.UTC                      0   UTC year only.
#   [OK]          Date.UTC                      1   UTC year and month.
#   [OK]          Date.UTC                      2   UTC year, month, day.
#   [OK]          Date.UTC                      3   UTC with hours.
#   [OK]          Date.UTC                      4   UTC with minutes.
#   [OK]          Date.UTC                      5   UTC with seconds.
#   [OK]          Date.UTC                      6   UTC with milliseconds.
#   [OK]          Date.UTC                      7   UTC NaN year.
#   [OK]          Date.UTC                      8   UTC NaN month.
#   [OK]          Date.UTC                      9   UTC NaN day.
#   [OK]          Date.UTC                     10   UTC NaN hours.
#   [OK]          Date.UTC                     11   UTC NaN minutes.
#   [OK]          Date.UTC                     12   UTC NaN seconds.
#   [OK]          Date.UTC                     13   UTC NaN ms.
#   [OK]          Date.UTC                     14   UTC Unix epoch.
#   [OK]          Date.UTC                     15   UTC before epoch.
#   [OK]          Date.UTC                     16   UTC Y2K.
#   [OK]          Date.UTC                     17   UTC year 0 -> 1900.
#   [OK]          Date.UTC                     18   UTC year 99 -> 1999.
#   [OK]          Date.UTC                     19   UTC year 100 stays 100.
#   [OK]          Date.UTC                     20   UTC month 12 = January next...
#   [OK]          Date.UTC                     21   UTC month -1 = December pre...
#   [OK]          Date.UTC                     22   UTC day 32 Jan = Feb 1.
#   [OK]          Date.UTC                     23   UTC day 0 = last day prev m...
#   [OK]          Date.UTC                     24   UTC day -1 = second-to-last...
#   [OK]          Date.UTC                     25   UTC leap year Feb 29 valid.
#   [OK]          Date.UTC                     26   UTC non-leap Feb 29 = Mar 1.
#   [OK]          Date.UTC                     27   UTC 2000 is leap year.
#   [OK]          Date.UTC                     28   UTC 1900 is NOT leap year.
#   [OK]          Date.UTC                     29   UTC large day offset.
#   [OK]          Date.UTC                     30   UTC large minute offset.
#   [OK]          Date.UTC                     31   UTC large second offset.
#   [OK]          Date.UTC                     32   UTC large ms offset.
#   [OK]          Number.IsFinite               0   infinity: positive Infinity...
#   [OK]          Number.IsFinite               1   negative_infinity: negative...
#   [OK]          Number.IsFinite               2   nan: NaN returns false.
#   [OK]          Number.IsFinite               3   nan_from_operations: NaN fr...
#   [OK]          Number.IsFinite               4   finite_numbers: zeros.
#   [OK]          Number.IsFinite               5   finite_numbers: positive in...
#   [OK]          Number.IsFinite               6   finite_numbers: negative in...
#   [OK]          Number.IsFinite               7   finite_numbers: decimals.
#   [OK]          Number.IsFinite               8   finite_numbers: MAX/MIN_VALUE.
#   [OK]          Number.IsFinite               9   finite_numbers: safe intege...
#   [OK]          Number.IsFinite              10   finite_numbers: epsilon.
#   [OK]          Number.IsFinite              11   finite_numbers: very small.
#   [OK]          Number.IsFinite              12   finite_numbers: very large.
#   [OK]          Number.IsInteger              0   integers: zeros.
#   [OK]          Number.IsInteger              1   integers: positive.
#   [OK]          Number.IsInteger              2   integers: negative.
#   [OK]          Number.IsInteger              3   integers: large.
#   [OK]          Number.IsInteger              4   integers: decimal zero frac...
#   [OK]          Number.IsInteger              5   non_integers: decimals.
#   [OK]          Number.IsInteger              6   non_integers: small fractions.
#   [OK]          Number.IsInteger              7   special: NaN.
#   [OK]          Number.IsInteger              8   special: Infinity.
#   [OK]          Number.IsInteger              9   edge: MAX_VALUE is integer.
#   [OK]          Number.IsInteger             10   edge: MIN_VALUE is not inte...
#   [OK]          Number.IsInteger             11   edge: epsilon is not integer.
#   [OK]          Number.IsInteger             12   edge: powers of two.
#   [OK]          Number.IsInteger             13   edge: scientific notation.
#   [OK]          Number.IsNaN                  0   nan_value: NaN returns true.
#   [OK]          Number.IsNaN                  1   nan_from_operation: NaN fro...
#   [OK]          Number.IsNaN                  2   nan_from_parseInt: NaN from...
#   [OK]          Number.IsNaN                  3   nan_from_parseFloat: NaN fr...
#   [OK]          Number.IsNaN                  4   finite_numbers: finite numb...
#   [OK]          Number.IsNaN                  5   zero_values: zeros return f...
#   [OK]          Number.IsNaN                  6   infinity_values: Infinity r...
#   [OK]          Number.IsNaN                  7   max_min_values: extreme val...
#   [OK]          Number.IsNaN                  8   epsilon_value: epsilon retu...
#   [OK]          Number.ParseFloat             0   S15.1.2.3_A1_T1: empty stri...
#   [OK]          Number.ParseFloat             1   S15.1.2.3_A1_T2: simple int...
#   [OK]          Number.ParseFloat             2   S15.1.2.3_A1_T3: non-numeri...
#   [OK]          Number.ParseFloat             3   S15.1.2.3_A1_T4: decimal nu...
#   [OK]          Number.ParseFloat             4   S15.1.2.3_A1_T5: stops at i...
#   [OK]          Number.ParseFloat             5   S15.1.2.3_A1_T6: whitespace...
#   [OK]          Number.ParseFloat             6   S15.1.2.3_A1_T7: invalid st...
#   [OK]          Number.ParseFloat             7   S15.1.2.3_A2_T1: leading sp...
#   [OK]          Number.ParseFloat             8   S15.1.2.3_A2_T2: leading tabs.
#   [OK]          Number.ParseFloat             9   S15.1.2.3_A2_T3: leading ne...
#   [OK]          Number.ParseFloat            10   S15.1.2.3_A2_T4: leading ca...
#   [OK]          Number.ParseFloat            11   S15.1.2.3_A2_T5: leading fo...
#   [OK]          Number.ParseFloat            12   S15.1.2.3_A2_T6: leading ve...
#   [OK]          Number.ParseFloat            13   S15.1.2.3_A2_T7: mixed whit...
#   [OK]          Number.ParseFloat            14   S15.1.2.3_A2_T8: non-breaki...
#   [OK]          Number.ParseFloat            15   S15.1.2.3_A2_T9: trailing c...
#   [OK]          Number.ParseFloat            16   S15.1.2.3_A2_T10: whitespac...
#   [OK]          Number.ParseFloat            17   S15.1.2.3_A3_T1: positive s...
#   [OK]          Number.ParseFloat            18   S15.1.2.3_A3_T2: negative s...
#   [OK]          Number.ParseFloat            19   S15.1.2.3_A3_T3: sign with ...
#   [OK]          Number.ParseFloat            20   S15.1.2.3_A4_T1: basic expo...
#   [OK]          Number.ParseFloat            21   S15.1.2.3_A4_T2: uppercase E.
#   [OK]          Number.ParseFloat            22   S15.1.2.3_A4_T3: negative e...
#   [OK]          Number.ParseFloat            23   S15.1.2.3_A4_T4: positive e...
#   [OK]          Number.ParseFloat            24   S15.1.2.3_A4_T5: decimal wi...
#   [OK]          Number.ParseFloat            25   S15.1.2.3_A4_T6: incomplete...
#   [OK]          Number.ParseFloat            26   S15.1.2.3_A4_T7: very large...
#   [OK]          Number.ParseFloat            27   S15.1.2.3_A5_T1: Infinity s...
#   [OK]          Number.ParseFloat            28   S15.1.2.3_A5_T2: signed Inf...
#   [OK]          Number.ParseFloat            29   S15.1.2.3_A5_T3: Infinity w...
#   [OK]          Number.ParseFloat            30   S15.1.2.3_A5_T4: Infinity w...
#   [OK]          Number.ParseFloat            31   S15.1.2.3_A6: multiple deci...
#   [OK]          Number.ParseFloat            32   S15.1.2.3_A7.5: leading dec...
#   [OK]          Number.ParseFloat            33   S15.1.2.3_A7.6: trailing de...
#   [OK]          Number.ParseFloat            34   S15.1.2.3_A7.7: decimal wit...
#   [OK]          Number.ParseFloat            35   misc_t1: hex not supported.
#   [OK]          Number.ParseFloat            36   misc_t2: binary/octal not s...
#   [OK]          Number.ParseFloat            37   misc_t3: leading zeros.
#   [OK]          Number.ParseFloat            38   misc_t4: NaN string.
#   [OK]          Number.ParseFloat            39   misc_t5: sign edge cases.
#   [OK]          Number.ParseFloat            40   misc_t6: very small numbers.
#   [OK]          Number.ParseFloat            41   misc_t7: negative zero.
#   [OK]          Number.ParseFloat            42   misc_t8: precision loss.
#   [OK]          Number.ParseFloat            43   misc_t9: exponent without m...
#   [OK]          Number.ParseFloat            44   misc_t10: comprehensive whi...
#   [OK]          Number.ParseFloat            45   misc_t11: Infinity case sen...
#   [OK]          Number.ParseFloat            46   misc_t12: sign with decimal...
#   [OK]          Number.ParseFloat            47   misc_t13: multiple e.
#   [OK]          Number.ParseFloat            48   misc_t14: exponent with dec...
#   [OK]          Number.ParseInt               0   S15.1.2.2_A1_T1: empty stri...
#   [OK]          Number.ParseInt               1   S15.1.2.2_A1_T2: whitespace...
#   [OK]          Number.ParseInt               2   S15.1.2.2_A1_T3: non-numeri...
#   [OK]          Number.ParseInt               3   S15.1.2.2_A1_T4: invalid st...
#   [OK]          Number.ParseInt               4   S15.1.2.2_A1_T5: sign only ...
#   [OK]          Number.ParseInt               5   S15.1.2.2_A1_T6: stops at i...
#   [OK]          Number.ParseInt               6   S15.1.2.2_A1_T7: NaN/Infini...
#   [OK]          Number.ParseInt               7   S15.1.2.2_A2_T1: leading sp...
#   [OK]          Number.ParseInt               8   S15.1.2.2_A2_T2: leading tabs.
#   [OK]          Number.ParseInt               9   S15.1.2.2_A2_T3: leading ne...
#   [OK]          Number.ParseInt              10   S15.1.2.2_A2_T4: leading ca...
#   [OK]          Number.ParseInt              11   S15.1.2.2_A2_T5: leading fo...
#   [OK]          Number.ParseInt              12   S15.1.2.2_A2_T6: leading ve...
#   [OK]          Number.ParseInt              13   S15.1.2.2_A2_T7: mixed whit...
#   [OK]          Number.ParseInt              14   S15.1.2.2_A2_T8: non-breaki...
#   [OK]          Number.ParseInt              15   S15.1.2.2_A2_T9: trailing w...
#   [OK]          Number.ParseInt              16   S15.1.2.2_A2_T10: whitespac...
#   [OK]          Number.ParseInt              17   S15.1.2.2_A3.1_T1: positive...
#   [OK]          Number.ParseInt              18   S15.1.2.2_A3.1_T2: negative...
#   [OK]          Number.ParseInt              19   S15.1.2.2_A3.1_T3: sign wit...
#   [OK]          Number.ParseInt              20   S15.1.2.2_A3.1_T4: multiple...
#   [OK]          Number.ParseInt              21   S15.1.2.2_A3.1_T5: sign wit...
#   [OK]          Number.ParseInt              22   S15.1.2.2_A3.1_T6: sign wit...
#   [OK]          Number.ParseInt              23   S15.1.2.2_A3.1_T7: sign alone.
#   [OK]          Number.ParseInt              24   S15.1.2.2_A3.2_T1: negative...
#   [OK]          Number.ParseInt              25   S15.1.2.2_A3.2_T2: negative...
#   [OK]          Number.ParseInt              26   S15.1.2.2_A3.2_T3: negative...
#   [OK]          Number.ParseInt              27   S15.1.2.2_A4.1_T1: radix 2.
#   [OK]          Number.ParseInt              28   S15.1.2.2_A4.1_T2: radix 8.
#   [OK]          Number.ParseInt              29   S15.1.2.2_A4.2_T1: radix 16.
#   [OK]          Number.ParseInt              30   S15.1.2.2_A4.2_T2: radix 36.
#   [OK]          Number.ParseInt              31   S15.1.2.2_A5.1_T1: 0x prefi...
#   [OK]          Number.ParseInt              32   S15.1.2.2_A5.2_T1: 0x with ...
#   [OK]          Number.ParseInt              33   S15.1.2.2_A5.2_T2: 0x with ...
#   [OK]          Number.ParseInt              34   S15.1.2.2_A6.1_T1: radix 0 ...
#   [OK]          Number.ParseInt              35   S15.1.2.2_A6.1_T2: radix 1 ...
#   [OK]          Number.ParseInt              36   S15.1.2.2_A6.1_T3: radix 37...
#   [OK]          Number.ParseInt              37   S15.1.2.2_A6.1_T4: large ra...
#   [OK]          Number.ParseInt              38   S15.1.2.2_A6.1_T5: negative...
#   [OK]          Number.ParseInt              39   S15.1.2.2_A6.1_T6: boundary...
#   [OK]          Number.ParseInt              40   S15.1.2.2_A7.1_T1: digits b...
#   [OK]          Number.ParseInt              41   S15.1.2.2_A7.1_T2: all digi...
#   [OK]          Number.ParseInt              42   S15.1.2.2_A7.2_T1: large nu...
#   [OK]          Number.ParseInt              43   S15.1.2.2_A7.2_T2: large he...
#   [OK]          Number.ParseInt              44   S15.1.2.2_A7.2_T3: many dig...
#   [OK]          Number.ParseInt              45   S15.1.2.2_A7.3_T1: leading ...
#   [OK]          Number.ParseInt              46   S15.1.2.2_A7.3_T2: leading ...
#   [OK]          Number.ParseInt              47   S15.1.2.2_A7.3_T3: only zeros.
#   [OK]          Number.ParseInt              48   S15.1.2.2_A8: decimal point.
#   [OK]          Number.ParseInt              49   misc_t1: scientific notatio...
#   [OK]          Number.ParseInt              50   misc_t2: unicode digits not...
#   [OK]          Number.ParseInt              51   misc_t3: 0o octal prefix no...
#   [OK]          Number.ParseInt              52   misc_t4: 0b binary prefix n...
#   [OK]          Number.ParseInt              53   misc_t5: single digits.
#   [OK]          Number.ParseInt              54   misc_t6: radix boundaries.
#   [OK]          Number.ParseInt              55   misc_t7: case insensitivity.
#   [OK]          Number.ParseInt              56   misc_t8: comprehensive whit...
#   [OK]          Number.ToString               0   basic: integers.
#   [OK]          Number.ToString               1   basic: decimals.
#   [OK]          Number.ToString               2   basic: special values.
#   [OK]          Number.ToString               3   basic: scientific notation.
#   [OK]          Number.ToString               4   basic: negative zero.
#   [OK]          Number.ToString               5   radix 2: binary.
#   [OK]          Number.ToString               6   radix 8: octal.
#   [OK]          Number.ToString               7   radix 16: hex.
#   [OK]          Number.ToString               8   radix 36: max.
#   [OK]          Number.ToString               9   radix 10: explicit.
#   [OK]          Number.ToString              10   negative with radix.
#   [OK]          Number.ToString              11   special values with radix.
#   [OK]          Number.ToString              12   large numbers.
#   [OK]          Number.ToExponential          0   basic: no digits.
#   [OK]          Number.ToExponential          1   digits: 0.
#   [OK]          Number.ToExponential          2   digits: 1.
#   [OK]          Number.ToExponential          3   digits: multiple.
#   [OK]          Number.ToExponential          4   digits: large.
#   [OK]          Number.ToExponential          5   special values.
#   [OK]          Number.ToExponential          6   special values with digits.
#   [OK]          Number.ToExponential          7   negative numbers.
#   [OK]          Number.ToExponential          8   rounding.
#   [OK]          Number.ToExponential          9   very small numbers.
#   [OK]          Number.ToExponential         10   very large numbers.
#   [OK]          Number.ToExponential         11   negative zero.
#   [OK]          Number.ToPrecision            0   basic: no precision.
#   [OK]          Number.ToPrecision            1   precision: 1.
#   [OK]          Number.ToPrecision            2   precision: 2.
#   [OK]          Number.ToPrecision            3   precision: multiple.
#   [OK]          Number.ToPrecision            4   precision: large.
#   [OK]          Number.ToPrecision            5   special values.
#   [OK]          Number.ToPrecision            6   special values with precision.
#   [OK]          Number.ToPrecision            7   negative numbers.
#   [OK]          Number.ToPrecision            8   rounding.
#   [OK]          Number.ToPrecision            9   zero handling.
#   [OK]          Number.ToPrecision           10   negative zero.
#   [OK]          Number.ToPrecision           11   very small numbers.
#   [OK]          Number.ToPrecision           12   very large numbers.
#   [OK]          String.Normalize              0   default form (NFC).
#   [OK]          String.Normalize              1   empty string.
#   [OK]          String.Normalize              2   ASCII unchanged.
#   [OK]          String.Normalize              3   NFC: basic.
#   [OK]          String.Normalize              4   NFC: multiple accents.
#   [OK]          String.Normalize              5   NFD: basic.
#   [OK]          String.Normalize              6   NFD: already decomposed.
#   [OK]          String.Normalize              7   NFKC: ligature.
#   [OK]          String.Normalize              8   NFKC: superscript.
#   [OK]          String.Normalize              9   NFKD: ligature.
#   [OK]          String.Normalize             10   NFKD: with accents.
#   [OK]          String.Normalize             11   Hangul syllable.
#   [OK]          String.Normalize             12   combining sequences.
#   [OK]          String.Search                 0   basic: match.
#   [OK]          String.Search                 1   basic: no match.
#   [OK]          String.Search                 2   basic: match at start.
#   [OK]          String.Search                 3   basic: match at end.
#   [OK]          String.Search                 4   basic: empty string.
#   [OK]          String.Search                 5   basic: empty pattern.
#   [OK]          String.Search                 6   case: sensitive.
#   [OK]          String.Search                 7   case: insensitive.
#   [OK]          String.Search                 8   pattern: digit class.
#   [OK]          String.Search                 9   pattern: word boundary.
#   [OK]          String.Search                10   pattern: any character.
#   [OK]          String.Search                11   pattern: alternation.
#   [OK]          String.Search                12   pattern: optional.
#   [OK]          String.Search                13   multiple: finds first.
#   [OK]          String.Search                14   multiple: global flag ignored.
#   [OK]          String.Search                15   unicode: characters.
#   [OK]          String.Search                16   unicode: emoji.
#   [OK]          String.Search                17   edge: special regex chars.
#   [OK]          String.Search                18   edge: newline.
#   [OK]          RegExp.NamedGroups            0   basic: date pattern.
#   [OK]          RegExp.NamedGroups            1   basic: single group.
#   [OK]          RegExp.NamedGroups            2   basic: multiple groups.
#   [OK]          RegExp.NamedGroups            3   access: by name.
#   [OK]          RegExp.NamedGroups            4   access: nonexistent.
#   [OK]          RegExp.NamedGroups            5   access: all groups list.
#   [OK]          RegExp.NamedGroups            6   pattern: with quantifiers.
#   [OK]          RegExp.NamedGroups            7   pattern: with alternation.
#   [OK]          RegExp.NamedGroups            8   edge: no named groups.
#   [OK]          RegExp.NamedGroups            9   edge: mixed named and unnamed.
#   [OK]          RegExp.DotAll                 0   basic: dot without flag.
#   [OK]          RegExp.DotAll                 1   basic: dot with flag.
#   [OK]          RegExp.DotAll                 2   basic: flag accessor.
#   [OK]          RegExp.DotAll                 3   line: matches LF.
#   [OK]          RegExp.DotAll                 4   line: matches CR.
#   [OK]          RegExp.DotAll                 5   line: matches CRLF.
#   [OK]          RegExp.DotAll                 6   flags: with global.
#   [OK]          RegExp.DotAll                 7   flags: with ignorecase.
#   [OK]          RegExp.DotAll                 8   flags: with multiline.
#   [OK]          RegExp.DotAll                 9   accessor: includes s.
#   [OK]          RegExp.DotAll                10   accessor: order.
#   [OK]          RegExp.DotAll                11   practical: multiline content.
#   [OK]          RegExp.DotAll                12   practical: without flag fails.
#   [OK]          RegExp.Unicode                0   flag: accessor.
#   [OK]          RegExp.Unicode                1   flag: in flags string.
#   [OK]          RegExp.Unicode                2   match: basic unicode.
#   [OK]          RegExp.Unicode                3   match: emoji.
#   [OK]          RegExp.Unicode                4   match: no match.
#   [OK]          RegExp.Unicode                5   combined: with global.
#   [OK]          RegExp.Unicode                6   combined: with ignorecase.
#   [OK]          RegExp.Unicode                7   combined: with multiline.
#   [OK]          RegExp.Unicode                8   property: letter category.
#   [OK]          RegExp.Unicode                9   astral: basic.
#   [OK]          RegExp.Unicode               10   astral: surrogate pairs.
#   [OK]          RegExp.Unicode               11   practical: international.
#   [OK]          RegExp.Unicode               12   practical: mixed scripts.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/Js/test/_build/_tests/Js'.
# Test Successful in 0.909s. 814 tests run.
# (cd _build/default/packages/react/test && ./test.exe)
# Testing `React'.
# This run has ID `2C4Y5RNQ'.
# 
#   [OK]          cloneElement          0   empty component.
#   [OK]          cloneElement          1   attributes component.
#   [OK]          cloneElement          2   ordered attributes component.
#   [OK]          React                 0   useState.
#   [OK]          React                 1   useSyncExternalStoreWithServer.
#   [OK]          React                 2   useEffect.
#   [OK]          React                 3   Children.map.
#   [OK]          React                 4   Children.map.
#   [OK]          React                 5   useRef.
#   [OK]          React                 6   invalid_children.
#   [OK]          React                 7   invalid_dangerouslySetInnerHtml.
#   [OK]          React                 8   raw_element.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/react/test/_build/_tests/React'.
# Test Successful in 0.002s. 12 tests run.
# (cd _build/default/packages/reactDom/test && ./test.exe)
# Testing `ReactDOM'.
# This run has ID `NQF0EHRI'.
# 
#   [OK]          ReactServerDOM.render_html / client_with_element_props                            0   ...
#   [OK]          ReactServerDOM.render_html / null_element                                         0   ...
#   [OK]          ReactServerDOM.render_html / element_with_dangerously_set_inner_html              0   ...
#   [OK]          ReactServerDOM.render_html / inner_html_element                                   0   ...
#   [OK]          ReactServerDOM.render_html / input_element_with_value                             0   ...
#   [OK]          ReactServerDOM.render_html / upper_case_component                                 0   ...
#   [OK]          ReactServerDOM.render_html / async_component_without_promise                      0   ...
#   [OK]          ReactServerDOM.render_html / suspense_without_promise                             0   ...
#   [OK]          ReactServerDOM.render_html / with_sleepy_promise                                  0   ...
#   [OK]          ReactServerDOM.render_html / client_with_promise_props                            0   ...
#   [OK]          ReactServerDOM.render_html / client_component_with_async_component                0   ...
#   [OK]          ReactServerDOM.render_html / async_component_with_promise                         0   ...
#   [OK]          ReactServerDOM.render_html / suspense_with_error                                  0   ...
#   [OK]          ReactServerDOM.render_html / suspense_with_error_in_async                         0   ...
#   [OK]          ReactServerDOM.render_html / suspense_with_error_under_lowercase                  0   ...
#   [OK]          ReactServerDOM.render_html / error_without_suspense                               0   ...
#   [OK]          ReactServerDOM.render_html / error_in_toplevel_in_async                           0   ...
#   [OK]          ReactServerDOM.render_html / suspense_in_a_list_with_error                        0   ...
#   [OK]          ReactServerDOM.render_html / server_function_as_action                            0   ...
#   [OK]          ReactServerDOM.render_html / nested_context                                       0   ...
#   [OK]          ReactServerDOM.render_html / doctype                                              0   ...
#   [OK]          ReactServerDOM.render_html / just_an_html_node                                    0   ...
#   [OK]          ReactServerDOM.render_html / no_head_no_body_nothing_just_an_html_node            0   ...
#   [OK]          ReactServerDOM.render_html / html_with_no_srr_html_body                           0   ...
#   [OK]          ReactServerDOM.render_html / html_with_a_node                                     0   ...
#   [OK]          ReactServerDOM.render_html / html_inside_a_div                                    0   ...
#   [OK]          ReactServerDOM.render_html / html_inside_a_fragment                               0   ...
#   [OK]          ReactServerDOM.render_html / head_with_content                                    0   ...
#   [OK]          ReactServerDOM.render_html / html_with_only_a_body                                0   ...
#   [OK]          ReactServerDOM.render_html / html_with_head_like_elements_not_in_head             0   ...
#   [OK]          ReactServerDOM.render_html / html_without_body_and_bootstrap_scripts              0   ...
#   [OK]          ReactServerDOM.render_html / html_with_body_and_bootstrap_scripts                 0   ...
#   [OK]          ReactServerDOM.render_html / input_and_bootstrap_scripts                          0   ...
#   [OK]          ReactServerDOM.render_html / title_and_meta_populates_to_the_head                 0   ...
#   [OK]          ReactServerDOM.render_html / async_scripts_to_head                                0   ...
#   [OK]          ReactServerDOM.render_html / no_async_scripts_to_remain                           0   ...
#   [OK]          ReactServerDOM.render_html / async_scripts_gets_deduplicated                      0   ...
#   [OK]          ReactServerDOM.render_html / async_scripts_gets_deduplicated_2                    0   ...
#   [OK]          ReactServerDOM.render_html / link_with_rel_and_precedence                         0   ...
#   [OK]          ReactServerDOM.render_html / links_gets_pushed_to_the_head                        0   ...
#   [OK]          ReactServerDOM.render_html / self_closing_with_dangerously                        0   ...
#   [OK]          ReactServerDOM.render_html / self_closing_with_dangerously_in_head                0   ...
#   [OK]          ReactServerDOM.render_html / upper_case_component_with_resources                  0   ...
#   [OK]          ReactServerDOM.render_html / hoisted_elements_order_issue                         0   ...
#   [OK]          ReactServerDOM.render_html / head_preserves_children_order                        0   ...
#   [OK]          ReactServerDOM.render_html / html_attributes_are_preserved                        0   ...
#   [OK]          ReactDOM.renderToStream / silly_stream                                            0   ...
#   [OK]          ReactDOM.renderToStream / render_inner_html                                       0   ...
#   [OK]          ReactDOM.renderToStream / react_use_without_suspense                              0   ...
#   [OK]          ReactDOM.renderToStream / uppercase_component_always_throwing                     0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_react_use                                 0   ...
#   [OK]          ReactDOM.renderToStream / async component                                         0   ...
#   [OK]          ReactDOM.renderToStream / async_component_without_suspense                        0   ...
#   [OK]          ReactDOM.renderToStream / suspense_without_promise                                0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_async_component                           0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_always_throwing                           0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_nested_suspense                           0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_nested_suspenses                          0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_nested_suspense_with_error                0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_multiple_children                         0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_multiple_children_reordered               0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_concurrent_suspenses                      0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_comments                                  0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / html_doctype                                      0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / single_empty_tag                                  0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / empty_string_attribute                            0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / bool_attributes                                   0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / truthy_attributes                                 0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / ignore_nulls                                      0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / string_attributes                                 0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / self_closing_tag                                  0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / dom_element_innerHtml                             0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / children                                          0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / className                                         0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / className_2                                       0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / className_3                                       0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / fragment                                          0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / fragments_and_texts                               0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / ignored_attributes_on_jsx                         0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / inline_styles                                     0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / encode_attributes                                 0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / dom_props_should_work                             0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / dangerouslySetInnerHtml                           0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / context                                           0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / use_state                                         0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / use_memo                                          0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / use_callback                                      0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / inner_html                                        0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / event                                             0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / render_with_doc_type                              0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / render_svg                                        0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / ref_as_prop_works                                 0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / ref_as_callback_prop_works                        0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / async                                             0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / lists_and_arrays                                  0   ...
#   [OK]          ReactDOM.renderToString / react_root_one_element                                  0   ...
#   [OK]          ReactDOM.renderToString / react_root_two_elements                                 0   ...
#   [OK]          ReactDOM.renderToString / text_single_node should not add <!-- -->                0   ...
#   [OK]          ReactDOM.renderToString / consecutives_text_nodes should add <!-- -->             0   ...
#   [OK]          ReactDOM.renderToString / separated_text_nodes_by_other_parents                   0   ...
#   [OK]          ReactDOM.Style.make / generate empty style                                        0   ...
#   [OK]          ReactDOM.Style.make / generate one style                                          0   ...
#   [OK]          ReactDOM.Style.make / generate more than one style                                0   ...
#   [OK]          ReactDOM.Style.make / unsafeAddProp should be kebab-case                          0   ...
#   [OK]          ReactDOM.Style.make / order matters                                               0   ...
#   [OK]          ReactDOM.Style.make / order matters II                                            0   ...
#   [OK]          ReactServerDOM.render_model / null_element                                        0   ...
#   [OK]          ReactServerDOM.render_model / string_element                                      0   ...
#   [OK]          ReactServerDOM.render_model / key_renders_outside_of_props                        0   ...
#   [OK]          ReactServerDOM.render_model / style_as_json                                       0   ...
#   [OK]          ReactServerDOM.render_model / lower_case_component                                0   ...
#   [OK]          ReactServerDOM.render_model / lower_case_component_nested                         0   ...
#   [OK]          ReactServerDOM.render_model / lower_case_with_children                            0   ...
#   [OK]          ReactServerDOM.render_model / dangerouslySetInnerHtml                             0   ...
#   [OK]          ReactServerDOM.render_model / upper_case_component                                0   ...
#   [OK]          ReactServerDOM.render_model / upper_case_with_list                                0   ...
#   [OK]          ReactServerDOM.render_model / upper_case_with_children                            0   ...
#   [OK]          ReactServerDOM.render_model / suspense_without_promise                            0   ...
#   [OK]          ReactServerDOM.render_model / suspense_with_promise                               0   ...
#   [OK]          ReactServerDOM.render_model / suspense_with_error                                 0   ...
#   [OK]          ReactServerDOM.render_model / suspense_with_error_in_async                        0   ...
#   [OK]          ReactServerDOM.render_model / suspense_with_immediate_promise                     0   ...
#   [OK]          ReactServerDOM.render_model / suspense                                            0   ...
#   [OK]          ReactServerDOM.render_model / async_component_without_suspense                    0   ...
#   [OK]          ReactServerDOM.render_model / suspense_in_a_list                                  0   ...
#   [OK]          ReactServerDOM.render_model / client_with_promise_props                           0   ...
#   [OK]          ReactServerDOM.render_model / async_component_without_suspense_immediate          0   ...
#   [OK]          ReactServerDOM.render_model / mixed_server_and_client                             0   ...
#   [OK]          ReactServerDOM.render_model / client_with_json_props                              0   ...
#   [OK]          ReactServerDOM.render_model / client_without_props                                0   ...
#   [OK]          ReactServerDOM.render_model / client_with_element_props                           0   ...
#   [OK]          ReactServerDOM.render_model / client_with_server_children                         0   ...
#   [OK]          ReactServerDOM.render_model / client_component_with_async_component               0   ...
#   [OK]          ReactServerDOM.render_model / act_with_simple_response                            0   ...
#   [OK]          ReactServerDOM.render_model / env_development_adds_debug_info                     0   ...
#   [OK]          ReactServerDOM.render_model / act_with_error                                      0   ...
#   [OK]          ReactServerDOM.render_model / error_without_suspense                              0   ...
#   [OK]          ReactServerDOM.render_model / error_in_toplevel                                   0   ...
#   [OK]          ReactServerDOM.render_model / error_in_toplevel_in_async                          0   ...
#   [OK]          ReactServerDOM.render_model / suspense_in_a_list_with_error                       0   ...
#   [OK]          ReactServerDOM.render_model / suspense_with_error_under_lowercase                 0   ...
#   [OK]          ReactServerDOM.render_model / client_component_with_resources_metadata            0   ...
#   [OK]          ReactServerDOM.render_model / page_with_hoisted_resources                         0   ...
#   [OK]          ReactServerDOM.render_model / nested_context                                      0   ...
#   [OK]          ReactServerDOM.render_model / model_list_value                                    0   ...
#   [OK]          ReactServerDOM.render_model / model_value_assoc                                   0   ...
#   [OK]          Decoders / decodeReply                                                            0   ...
#   [OK]          Decoders / decodeFormDataReply                                                    0   ...
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/reactDom/test/_build/_tests/ReactDOM'.
# Test Successful in 0.751s. 148 tests run.
# (cd _build/default/packages/server-reason-react-ppx/test && ./test.exe)
# Testing `server-reason-react.ppx'.
# This run has ID `LERN1EWG'.
# 
#   [OK]          tag                                                          0   ...
#   [OK]          empty_attribute                                              0   ...
#   [OK]          bool_attribute                                               0   ...
#   [OK]          bool_attributes                                              0   ...
#   [OK]          innerhtml                                                    0   ...
#   [OK]          int_attribute                                                0   ...
#   [OK]          svg_1                                                        0   ...
#   [OK]          svg_2                                                        0   ...
#   [OK]          booleanish_props_with_ppx                                    0   ...
#   [OK]          booleanish_props_without_ppx                                 0   ...
#   [OK]          style_attribute                                              0   ...
#   [OK]          ref_attribute                                                0   ...
#   [OK]          link_as_attribute                                            0   ...
#   [OK]          inner_html_attribute                                         0   ...
#   [OK]          inner_html_attribute_complex                                 0   ...
#   [OK]          int_opt_attr_some                                            0   ...
#   [OK]          int_opt_attribute_none                                       0   ...
#   [OK]          string_opt_attribute_some                                    0   ...
#   [OK]          string_opt_attribute_none                                    0   ...
#   [OK]          bool_opt_attribute_some                                      0   ...
#   [OK]          bool_opt_attribute_none                                      0   ...
#   [OK]          style_opt_attribute_some                                     0   ...
#   [OK]          style_opt_attribute_none                                     0   ...
#   [OK]          ref_opt_attribute_some                                       0   ...
#   [OK]          ref_opt_attribute_none                                       0   ...
#   [OK]          fragment                                                     0   ...
#   [OK]          fragment_with_key                                            0   ...
#   [OK]          children_uppercase                                           0   ...
#   [OK]          children_lowercase                                           0   ...
#   [OK]          event_onClick                                                0   ...
#   [OK]          children_one_element                                         0   ...
#   [OK]          children_multiple_elements                                   0   ...
#   [OK]          create_element_variadic                                      0   ...
#   [OK]          aria_props                                                   0   ...
#   [OK]          optional_prop                                                0   ...
#   [OK]          context                                                      0   ...
#   [OK]          context_2                                                    0   ...
#   [OK]          multiple_contexts                                            0   ...
#   [OK]          styles_attribute                                             0   ...
#   [OK]          styles_attribute_optional                                    0   ...
#   [OK]          styles_attribute_optional_some                               0   ...
#   [OK]          styles_attribute_optional_some_with_class                    0   ...
#   [OK]          styles_attribute_optional_some_with_style                    0   ...
#   [OK]          styles_attribute_optional_some_with_class_and_style          0   ...
#   [OK]          server_function                                              0   ...
#   [OK]          server_function_reference                                    0   ...
#   [OK]          server_function_reference_args_error                         0   ...
#   [OK]          server_function_reference_form_data                          0   ...
#   [OK]          server_function_reference_form_data_and_args                 0   ...
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/server-reason-react-ppx/test/_build/_tests/server-reason-react.ppx'.
# Test Successful in 0.008s. 49 tests run.



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build server-reason-react 0.4.1
+- 
+- The following changes have been performed
| - remove  server-reason-react     0.4.1
| - install alcotest                1.9.1
| - install alcotest-lwt            1.9.1
| - install astring                 0.8.5
| - install base                    v0.17.3
| - install camlp-streams           5.0.1
| - install dot-merlin-reader       5.6.1-504
| - install either                  1.0.0
| - install fmt                     0.11.0
| - install fpath                   0.7.3
| - install logs                    0.10.0
| - install merlin                  5.6.1-504
| - install merlin-lib              5.6.1-504
| - install ocaml-index             5.6.1-504
| - install ocaml-version           4.0.3
| - install ocaml_intrinsics_kernel v0.17.1
| - install ocamlformat             0.28.1
| - install ocamlformat-lib         0.28.1
| - install ocp-indent              1.9.0
| - install re                      1.14.0
| - install stdio                   v0.17.0
| - install uuseg                   17.0.0
+- 

<><> ocp-indent.1.9.0 installed successfully ><><><><><><><><><><><><><><><><><>
=> This package requires additional configuration for use in editors. Install package 'user-setup', or manually:

   * for Emacs, add these lines to ~/.emacs:
     (add-to-list 'load-path "/home/opam/.opam/5.4/share/emacs/site-lisp")
     (require 'ocp-indent)

   * for Vim, add this line to ~/.vimrc:
     set rtp^="/home/opam/.opam/5.4/share/ocp-indent/vim"

<><> merlin.5.6.1-504 installed successfully ><><><><><><><><><><><><><><><><><>
=> merlin installed.

   Quick setup for VIM
   -------------------
   Append this to your .vimrc to add merlin to vim's runtime-path:
     let g:opamshare = substitute(system('opam var share'),'\n$','','''')
     execute "set rtp+=" . g:opamshare . "/merlin/vim"

   Also run the following line in vim to index the documentation:
     :execute "helptags " . g:opamshare . "/merlin/vim/doc"

   Quick setup for EMACS
   -------------------
   Add opam emacs directory to your load-path by appending this to your .emacs:
     (let ((opam-share (ignore-errors (car (process-lines "opam" "var" "share")))))
      (when (and opam-share (file-directory-p opam-share))
       ;; Register Merlin
       (add-to-list 'load-path (expand-file-name "emacs/site-lisp" opam-share))
       (autoload 'merlin-mode "merlin" nil t nil)
       ;; Automatically start it in OCaml buffers
       (add-hook 'tuareg-mode-hook 'merlin-mode t)
       (add-hook 'caml-mode-hook 'merlin-mode t)
       ;; Use opam switch to lookup ocamlmerlin binary
       (setq merlin-command 'opam)
       ;; To easily change opam switches within a given Emacs session, you can
       ;; install the minor mode https://github.com/ProofGeneral/opam-switch-mode
       ;; and use one of its "OPSW" menus.
       ))
   Take a look at https://github.com/ocaml/merlin for more information

   Quick setup with opam-user-setup
   --------------------------------

   Opam-user-setup support Merlin.

     $ opam user-setup install

   should take care of basic setup.
   See https://github.com/OCamlPro/opam-user-setup
# To update the current shell environment, run: eval $(opam env)

The former state can be restored with:
    /usr/bin/opam switch import "/home/opam/.opam/5.4/.opam-switch/backup/state-20260320102547.export"
Or you can retry to install your package selection with:
    /usr/bin/opam install --restore
2026-03-20 10:27.23 ---> saved as "a5a05daf005c9008d3f8922e9f6df72225e431531bc4651052978946210d28fe"

/home/opam: (run (shell  "opam reinstall --with-test --verbose server-reason-react.0.4.1;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'server-reason-react.0.4.1' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
server-reason-react.0.4.1 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
  - install server-reason-react 0.4.1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/3: [server-reason-react.0.4.1: extract]
-> retrieved server-reason-react.0.4.1  (cached)
Processing  2/3: [server-reason-react: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "server-reason-react" "-j" "71" "@install" "@runtest" (CWD=/home/opam/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1)
- (cd _build/default/packages/melange.ppx/xxhash && ./test_xxh64.exe)
- Testing `XXH64'.
- This run has ID `LHLRP45B'.
- 
-   [OK]          hash                   0   "".
-   [OK]          hash                   1   "a".
-   [OK]          hash                   2   "as".
-   [OK]          hash                   3   "asd".
-   [OK]          hash                   4   "asdf".
-   [OK]          hash                   5   "abc".
-   [OK]          hash                   6   "abc".
-   [OK]          hash                   7   "abcd".
-   [OK]          hash                   8   "abcde".
-   [OK]          hash                   9   "abcdef".
-   [OK]          hash                  10   "abcdefg".
-   [OK]          hash                  11   "abcdefgh".
-   [OK]          hash                  12   "abcdefghi".
-   [OK]          hash                  13   "abcdefghij".
-   [OK]          hash                  14   "abcdefghijklmnopqrstuvwxyz012345".
-   [OK]          hash                  15   "abcdefghijklmnopqrstuvwxyz0123456...
-   [OK]          hash                  16   "Call me Ishmael. Some years ago--...
-   [OK]          hash                  17   "Lorem ipsum dolor sit amet, conse...
-   [OK]          hash · to_hex          0   "I want an unsigned 64-bit seed!".
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/melange.ppx/xxhash/_build/_tests/XXH64'.
- Test Successful in 0.003s. 19 tests run.
- (cd _build/default/packages/url/test && ./test_native.exe)
- Testing `URL'.
- This run has ID `7GOX32GR'.
- 
-   [OK]          URL                       0   make.
-   [OK]          URL                       1   makeWith.
-   [OK]          URL                       2   makeWith and relative base.
-   [OK]          URL                       3   host.
-   [OK]          URL                       4   hostname.
-   [OK]          URL                       5   setHostname.
-   [OK]          URL                       6   pathname.
-   [OK]          URL                       7   origin.
-   [OK]          URL                       8   href.
-   [OK]          URL                       9   port.
-   [OK]          URL                      10   hash.
-   [OK]          URL                      11   setHash.
-   [OK]          URL                      12   search.
-   [OK]          URL                      13   protocol.
-   [OK]          URL                      14   setProtocol.
-   [OK]          URL                      15   username.
-   [OK]          URL                      16   setUsername.
-   [OK]          URL                      17   password.
-   [OK]          URL                      18   setPassword.
-   [OK]          URL                      19   searchParams.
-   [OK]          URL.SearchParams          0   has.
-   [OK]          URL.SearchParams          1   get.
-   [OK]          URL.SearchParams          2   getAll.
-   [OK]          URL.SearchParams          3   keys.
-   [OK]          URL.SearchParams          4   values.
-   [OK]          URL.SearchParams          5   entries.
-   [OK]          URL.SearchParams          6   toString.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/url/test/_build/_tests/URL'.
- Test Successful in 0.014s. 27 tests run.
- (cd _build/default/packages/Belt/test && ./test.exe)
- Testing `Belt'.
- This run has ID `DFK9I3MU'.
- 
-   [OK]          Records          0   eq.
-   [OK]          Array            0   truncateToLengthUnsafe.
-   [OK]          Array            1   makeUninitializedUnsafe.
-   [OK]          Array            2   length.
-   [OK]          List             0   eq.
-   [OK]          List             1   map.
-   [OK]          List             2   mapU.
-   [OK]          List             3   mapWithIndex.
-   [OK]          List             4   concat.
-   [OK]          Int              0   fromString.
-   [OK]          Int              1   toString.
-   [OK]          Option           0   keep_1.
-   [OK]          Option           1   keep_2.
-   [OK]          Option           2   keep_3.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/Belt/test/_build/_tests/Belt'.
- Test Successful in 0.002s. 14 tests run.
- (cd _build/default/packages/expand-styles-attribute/test && ./test.exe)
- Testing `expand_styles_attribute'.
- This run has ID `6DC7K672'.
- 
-   [OK]          expand_styles_prop_on_attributes               0   
-   [OK]          expand_styles_with_previous_className          0   
-   [OK]          expand_styles_with_previous_style              0   
-   [OK]          expand_styles_optional                         0   
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/expand-styles-attribute/test/_build/_tests/expand_styles_attribute'.
- Test Successful in 0.001s. 4 tests run.
- File "packages/browser-ppx/tests/at_browser_only.t", line 1, characters 0-0:
- /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/packages/browser-ppx/tests/at_browser_only.t _build/default/packages/browser-ppx/tests/at_browser_only.t.corrected
- diff --git a/_build/default/packages/browser-ppx/tests/at_browser_only.t b/_build/default/packages/browser-ppx/tests/at_browser_only.t.corrected
- index 3fb8d6e..1af9596 100644
- --- a/_build/default/packages/browser-ppx/tests/at_browser_only.t
- +++ b/_build/default/packages/browser-ppx/tests/at_browser_only.t.corrected
- @@ -230,7 +230,6 @@ Ppat_constraint
-    let foo ~on:((on [@browser_only]) : unit -> string)
-        ?opt:((opt [@browser_only]) = 42) =
-      0
- - 
-    $ ./standalone.exe -impl input_constr.ml | ocamlformat - --enable-outside-detected-project --impl
-    let foo ~on:_ ?opt:(_ = 42) = 0
-  
- (cd _build/default/packages/Js/test && ./test.exe)
- Testing `Js'.
- This run has ID `65S12KDR'.
- 
-   [OK]          Js.Global                     0   decodeURI - ascii and spaces.
-   [OK]          Js.Global                     1   decodeURI - reserved charac...
-   [OK]          Js.Global                     2   decodeURI - alphabets.
-   [OK]          Js.Global                     3   decodeURI - unicode charact...
-   [OK]          Js.Global                     4   decodeURI - mixed percent e...
-   [OK]          Js.Global                     5   decodeURI - complete URLs.
-   [OK]          Js.Global                     6   decodeURI - overencoded seq...
-   [OK]          Js.Global                     7   decodeURI - special charact...
-   [OK]          Js.Global                     8   decodeURI - beyond U+10FFFF.
-   [OK]          Js.Global                     9   decodeURI - partial sequences.
-   [OK]          Js.Global                    10   encodeURI - ascii and spaces.
-   [OK]          Js.Global                    11   encodeURI - reserved charac...
-   [OK]          Js.Global                    12   encodeURI - alphabets.
-   [OK]          Js.Global                    13   encodeURI - unicode charact...
-   [OK]          Js.Global                    14   encodeURI - complete URLs.
-   [OK]          Js.Global                    15   encodeURI - special charact...
-   [OK]          Js.Global                    16   encodeURI - combining chara...
-   [OK]          Js.Global                    17   encodeURI - Surrogate pairs.
-   [OK]          Js.Global                    18   encodeURIComponent.
-   [OK]          Js.Promise                    0   resolve.
-   [OK]          Js.Promise                    1   all.
-   [OK]          Js.Promise                    2   all_async.
-   [OK]          Js.Promise                    3   race_async.
-   [OK]          Js.Float                      0   string_of_float.
-   [OK]          Js.Float                      1   toString.
-   [OK]          Js.Float                      2   fromString.
-   [OK]          Js.Float                      3   toFixed.
-   [OK]          Js.String                     0   make.
-   [OK]          Js.String                     1   length.
-   [OK]          Js.String                     2   get.
-   [OK]          Js.String                     3   fromCharCode.
-   [OK]          Js.String                     4   fromCharCodeMany.
-   [OK]          Js.String                     5   fromCodePoint.
-   [OK]          Js.String                     6   fromCodePointMany.
-   [OK]          Js.String                     7   charAt.
-   [OK]          Js.String                     8   charCodeAt.
-   [OK]          Js.String                     9   codePointAt.
-   [OK]          Js.String                    10   concat.
-   [OK]          Js.String                    11   concatMany.
-   [OK]          Js.String                    12   endsWith.
-   [OK]          Js.String                    13   includes.
-   [OK]          Js.String                    14   indexOf.
-   [OK]          Js.String                    15   lastIndexOf.
-   [OK]          Js.String                    16   match.
-   [OK]          Js.String                    17   match 0.
-   [OK]          Js.String                    18   repeat.
-   [OK]          Js.String                    19   replace.
-   [OK]          Js.String                    20   replaceByRe.
-   [OK]          Js.String                    21   replaceByRe with references...
-   [OK]          Js.String                    22   replaceByRe with $1 capturi...
-   [OK]          Js.String                    23   replaceByRe with multiple c...
-   [OK]          Js.String                    24   replaceByRe with $&.
-   [OK]          Js.String                    25   replaceByRe with $$.
-   [OK]          Js.String                    26   replaceByRe with global.
-   [OK]          Js.String                    27   unsafeReplaceBy0.
-   [OK]          Js.String                    28   unsafeReplaceBy1.
-   [OK]          Js.String                    29   unsafeReplaceBy2.
-   [OK]          Js.String                    30   search.
-   [OK]          Js.String                    31   slice.
-   [OK]          Js.String                    32   split.
-   [OK]          Js.String                    33   splitAtMost.
-   [OK]          Js.String                    34   splitByRe.
-   [OK]          Js.String                    35   startsWith.
-   [OK]          Js.String                    36   substr.
-   [OK]          Js.String                    37   substrAtMost.
-   [OK]          Js.String                    38   substring.
-   [OK]          Js.String                    39   toLowerCase.
-   [OK]          Js.String                    40   toUpperCase.
-   [OK]          Js.String                    41   trim.
-   [OK]          Js.String                    42   anchor.
-   [OK]          Js.String                    43   link.
-   [OK]          Js.Re                         0   captures.
-   [OK]          Js.Re                         1   exec.
-   [OK]          Js.Re                         2   exec with global.
-   [OK]          Js.Re                         3   modifier: end ($).
-   [OK]          Js.Re                         4   modifier: more than one (+).
-   [OK]          Js.Re                         5   global (g) and caseless (i).
-   [OK]          Js.Re                         6   modifier: or ([]).
-   [OK]          Js.Re                         7   backreferencing.
-   [OK]          Js.Re                         8   http|s example.
-   [OK]          Js.Re                         9   index.
-   [OK]          Js.Re                        10   lastIndex.
-   [OK]          Js.Re                        11   input.
-   [OK]          Js.Dict                       0   empty.
-   [OK]          Js.Dict                       1   get.
-   [OK]          Js.Dict                       2   get from missing property.
-   [OK]          Js.Dict                       3   unsafe_get.
-   [OK]          Js.Dict                       4   set.
-   [OK]          Js.Dict                       5   keys.
-   [OK]          Js.Dict                       6   keys duplicated.
-   [OK]          Js.Dict                       7   entries.
-   [OK]          Js.Dict                       8   values.
-   [OK]          Js.Dict                       9   values duplicated.
-   [OK]          Js.Dict                      10   fromList - [].
-   [OK]          Js.Dict                      11   fromList.
-   [OK]          Js.Dict                      12   fromArray - [].
-   [OK]          Js.Dict                      13   fromArray.
-   [OK]          Js.Dict                      14   map.
-   [OK]          BigInt.Arithmetic             0   add: positive + positive.
-   [OK]          BigInt.Arithmetic             1   add: negative + negative.
-   [OK]          BigInt.Arithmetic             2   add: positive + negative.
-   [OK]          BigInt.Arithmetic             3   add: with zero.
-   [OK]          BigInt.Arithmetic             4   add: large numbers.
-   [OK]          BigInt.Arithmetic             5   sub: positive result.
-   [OK]          BigInt.Arithmetic             6   sub: negative result.
-   [OK]          BigInt.Arithmetic             7   sub: with zero.
-   [OK]          BigInt.Arithmetic             8   sub: self.
-   [OK]          BigInt.Arithmetic             9   mul: positive * positive.
-   [OK]          BigInt.Arithmetic            10   mul: negative * positive.
-   [OK]          BigInt.Arithmetic            11   mul: negative * negative.
-   [OK]          BigInt.Arithmetic            12   mul: with zero.
-   [OK]          BigInt.Arithmetic            13   mul: with one.
-   [OK]          BigInt.Arithmetic            14   mul: 3^100.
-   [OK]          BigInt.Arithmetic            15   div: exact division.
-   [OK]          BigInt.Arithmetic            16   div: truncate positive.
-   [OK]          BigInt.Arithmetic            17   div: truncate negative (tow...
-   [OK]          BigInt.Arithmetic            18   div: negative divisor.
-   [OK]          BigInt.Arithmetic            19   div: both negative.
-   [OK]          BigInt.Arithmetic            20   div: large numbers.
-   [OK]          BigInt.Arithmetic            21   div: large negative.
-   [OK]          BigInt.Arithmetic            22   div: by zero throws.
-   [OK]          BigInt.Arithmetic            23   rem: positive % positive.
-   [OK]          BigInt.Arithmetic            24   rem: negative dividend.
-   [OK]          BigInt.Arithmetic            25   rem: negative divisor.
-   [OK]          BigInt.Arithmetic            26   rem: both negative.
-   [OK]          BigInt.Arithmetic            27   rem: large numbers.
-   [OK]          BigInt.Arithmetic            28   rem: large positive.
-   [OK]          BigInt.Arithmetic            29   rem: by zero throws.
-   [OK]          BigInt.Arithmetic            30   pow: exponent zero.
-   [OK]          BigInt.Arithmetic            31   pow: exponent one.
-   [OK]          BigInt.Arithmetic            32   pow: 2^10.
-   [OK]          BigInt.Arithmetic            33   pow: (-2)^127.
-   [OK]          BigInt.Arithmetic            34   pow: 2^127.
-   [OK]          BigInt.Arithmetic            35   pow: negative exponent throws.
-   [OK]          BigInt.Arithmetic            36   pow: (-256)^11.
-   [OK]          BigInt.Arithmetic            37   pow: 7^20.
-   [OK]          BigInt.Arithmetic            38   neg: positive.
-   [OK]          BigInt.Arithmetic            39   neg: negative.
-   [OK]          BigInt.Arithmetic            40   neg: zero.
-   [OK]          BigInt.Arithmetic            41   abs: positive.
-   [OK]          BigInt.Arithmetic            42   abs: negative.
-   [OK]          BigInt.Arithmetic            43   abs: zero.
-   [OK]          BigInt.Bitwise                0   and: basic.
-   [OK]          BigInt.Bitwise                1   and: with zero.
-   [OK]          BigInt.Bitwise                2   and: with all ones.
-   [OK]          BigInt.Bitwise                3   and: negative (two's comple...
-   [OK]          BigInt.Bitwise                4   or: basic.
-   [OK]          BigInt.Bitwise                5   or: with zero.
-   [OK]          BigInt.Bitwise                6   or: disjoint bits.
-   [OK]          BigInt.Bitwise                7   xor: basic.
-   [OK]          BigInt.Bitwise                8   xor: same value.
-   [OK]          BigInt.Bitwise                9   xor: with zero.
-   [OK]          BigInt.Bitwise               10   not: basic.
-   [OK]          BigInt.Bitwise               11   not: zero.
-   [OK]          BigInt.Bitwise               12   not: -1.
-   [OK]          BigInt.Bitwise               13   not: positive.
-   [OK]          BigInt.Bitwise               14   not: negative.
-   [OK]          BigInt.Bitwise               15   shift_left: basic.
-   [OK]          BigInt.Bitwise               16   shift_left: 1 << 31.
-   [OK]          BigInt.Bitwise               17   shift_left: 1 << 32.
-   [OK]          BigInt.Bitwise               18   shift_left: 1 << 100.
-   [OK]          BigInt.Bitwise               19   shift_left: large number.
-   [OK]          BigInt.Bitwise               20   shift_left: negative number.
-   [OK]          BigInt.Bitwise               21   shift_left: by zero.
-   [OK]          BigInt.Bitwise               22   shift_right: basic.
-   [OK]          BigInt.Bitwise               23   shift_right: large number.
-   [OK]          BigInt.Bitwise               24   shift_right: negative (arit...
-   [OK]          BigInt.Bitwise               25   shift_right: by zero.
-   [OK]          BigInt.Bitwise               26   shift_right: small negative.
-   [OK]          BigInt.Comparison             0   equal: same value.
-   [OK]          BigInt.Comparison             1   equal: different values.
-   [OK]          BigInt.Comparison             2   equal: negative values.
-   [OK]          BigInt.Comparison             3   equal: opposite signs.
-   [OK]          BigInt.Comparison             4   equal: zeros.
-   [OK]          BigInt.Comparison             5   equal: large same.
-   [OK]          BigInt.Comparison             6   equal: large different.
-   [OK]          BigInt.Comparison             7   compare: less.
-   [OK]          BigInt.Comparison             8   compare: greater.
-   [OK]          BigInt.Comparison             9   compare: equal.
-   [OK]          BigInt.Comparison            10   compare: negative.
-   [OK]          BigInt.Comparison            11   compare: mixed sign.
-   [OK]          BigInt.Comparison            12   lt: true.
-   [OK]          BigInt.Comparison            13   lt: false (greater).
-   [OK]          BigInt.Comparison            14   lt: false (equal).
-   [OK]          BigInt.Comparison            15   lt: negative.
-   [OK]          BigInt.Comparison            16   le: true (less).
-   [OK]          BigInt.Comparison            17   le: true (equal).
-   [OK]          BigInt.Comparison            18   le: false.
-   [OK]          BigInt.Comparison            19   gt: true.
-   [OK]          BigInt.Comparison            20   gt: false (less).
-   [OK]          BigInt.Comparison            21   gt: false (equal).
-   [OK]          BigInt.Comparison            22   ge: true (greater).
-   [OK]          BigInt.Comparison            23   ge: true (equal).
-   [OK]          BigInt.Comparison            24   ge: false.
-   [OK]          BigInt.Constructor            0   from_string: empty string r...
-   [OK]          BigInt.Constructor            1   from_string: zero.
-   [OK]          BigInt.Constructor            2   from_string: positive decimal.
-   [OK]          BigInt.Constructor            3   from_string: negative decimal.
-   [OK]          BigInt.Constructor            4   from_string: positive sign.
-   [OK]          BigInt.Constructor            5   from_string: large number.
-   [OK]          BigInt.Constructor            6   from_string: very large num...
-   [OK]          BigInt.Constructor            7   from_string: leading whites...
-   [OK]          BigInt.Constructor            8   from_string: trailing white...
-   [OK]          BigInt.Constructor            9   from_string: both whitespace.
-   [OK]          BigInt.Constructor           10   from_string: tabs.
-   [OK]          BigInt.Constructor           11   from_string: newlines.
-   [OK]          BigInt.Constructor           12   from_string: hex lowercase.
-   [OK]          BigInt.Constructor           13   from_string: hex uppercase.
-   [OK]          BigInt.Constructor           14   from_string: hex large.
-   [OK]          BigInt.Constructor           15   from_string: hex negative.
-   [OK]          BigInt.Constructor           16   from_string: binary lowercase.
-   [OK]          BigInt.Constructor           17   from_string: binary uppercase.
-   [OK]          BigInt.Constructor           18   from_string: octal lowercase.
-   [OK]          BigInt.Constructor           19   from_string: octal uppercase.
-   [OK]          BigInt.Constructor           20   from_string: sign only throws.
-   [OK]          BigInt.Constructor           21   from_string: trailing chars...
-   [OK]          BigInt.Constructor           22   from_string: null char throws.
-   [OK]          BigInt.Constructor           23   from_string: decimal point ...
-   [OK]          BigInt.Constructor           24   from_string: float notation...
-   [OK]          BigInt.Constructor           25   from_int: zero.
-   [OK]          BigInt.Constructor           26   from_int: positive.
-   [OK]          BigInt.Constructor           27   from_int: negative.
-   [OK]          BigInt.Constructor           28   from_int: max_int.
-   [OK]          BigInt.Constructor           29   from_int: min_int.
-   [OK]          BigInt.Constructor           30   from_int64: large positive.
-   [OK]          BigInt.Constructor           31   from_int64: large negative.
-   [OK]          BigInt.Conversion             0   toString: zero.
-   [OK]          BigInt.Conversion             1   toString: positive.
-   [OK]          BigInt.Conversion             2   toString: negative.
-   [OK]          BigInt.Conversion             3   toString: large (1 << 100).
-   [OK]          BigInt.Conversion             4   toString: radix 2.
-   [OK]          BigInt.Conversion             5   toString: radix 8.
-   [OK]          BigInt.Conversion             6   toString: radix 16.
-   [OK]          BigInt.Conversion             7   toString: radix 36.
-   [OK]          BigInt.Conversion             8   toString: radix 16 large.
-   [OK]          BigInt.Conversion             9   toFloat: small.
-   [OK]          BigInt.Conversion            10   toFloat: negative.
-   [OK]          BigInt.Conversion            11   toFloat: zero.
-   [OK]          BigInt.Conversion            12   toFloat: MAX_SAFE_INTEGER.
-   [OK]          BigInt.Conversion            13   toFloat: large (0xfffffffff...
-   [OK]          BigInt.Conversion            14   toFloat: large negative.
-   [OK]          BigInt.Conversion            15   asIntN: positive fits.
-   [OK]          BigInt.Conversion            16   asIntN: positive wraps.
-   [OK]          BigInt.Conversion            17   asIntN: 255 -> -1.
-   [OK]          BigInt.Conversion            18   asIntN: negative fits.
-   [OK]          BigInt.Conversion            19   asIntN: negative wraps.
-   [OK]          BigInt.Conversion            20   asIntN: 64 bits.
-   [OK]          BigInt.Conversion            21   asUintN: fits.
-   [OK]          BigInt.Conversion            22   asUintN: wraps to 0.
-   [OK]          BigInt.Conversion            23   asUintN: wraps to 1.
-   [OK]          BigInt.Conversion            24   asUintN: negative wraps.
-   [OK]          BigInt.Conversion            25   asUintN: 64 bits.
-   [OK]          BigInt.AsIntN                 0   asIntN 0 bits.
-   [OK]          BigInt.AsIntN                 1   asIntN 1 bit.
-   [OK]          BigInt.AsIntN                 2   asIntN 8 bit.
-   [OK]          BigInt.AsIntN                 3   asIntN 16 bit.
-   [OK]          BigInt.AsIntN                 4   asIntN 32 bit.
-   [OK]          BigInt.AsIntN                 5   asIntN 64 bit.
-   [OK]          BigInt.AsIntN                 6   asIntN preserves small posi...
-   [OK]          BigInt.AsIntN                 7   asIntN preserves small nega...
-   [OK]          BigInt.AsIntN                 8   asIntN wrapping.
-   [OK]          BigInt.AsIntN                 9   asIntN large bits.
-   [OK]          BigInt.AsIntN                10   asIntN negative input.
-   [OK]          BigInt.AsIntN                11   asIntN 2-bit boundary.
-   [OK]          BigInt.AsIntN                12   asIntN 3-bit boundary.
-   [OK]          BigInt.AsIntN                13   asIntN 4-bit boundary.
-   [OK]          BigInt.AsIntN                14   asIntN identity for zero.
-   [OK]          BigInt.AsIntN                15   asIntN minus one.
-   [OK]          BigInt.AsUintN                0   asUintN 0 bits.
-   [OK]          BigInt.AsUintN                1   asUintN 1 bit.
-   [OK]          BigInt.AsUintN                2   asUintN 8 bit.
-   [OK]          BigInt.AsUintN                3   asUintN 16 bit.
-   [OK]          BigInt.AsUintN                4   asUintN 32 bit.
-   [OK]          BigInt.AsUintN                5   asUintN 64 bit.
-   [OK]          BigInt.AsUintN                6   asUintN preserves small val...
-   [OK]          BigInt.AsUintN                7   asUintN wrapping.
-   [OK]          BigInt.AsUintN                8   asUintN large bits.
-   [OK]          BigInt.AsUintN                9   asUintN negative becomes po...
-   [OK]          BigInt.AsUintN               10   asUintN 2-bit boundary.
-   [OK]          BigInt.AsUintN               11   asUintN 3-bit boundary.
-   [OK]          BigInt.AsUintN               12   asUintN 4-bit boundary.
-   [OK]          BigInt.AsUintN               13   asUintN identity for zero.
-   [OK]          BigInt.AsUintN               14   asUintN one.
-   [OK]          BigInt.AsUintN               15   asUintN power of two.
-   [OK]          BigInt.AsUintN               16   asUintN power of two minus ...
-   [OK]          BigInt.Prototype              0   toString default radix.
-   [OK]          BigInt.Prototype              1   toString radix 2 (binary).
-   [OK]          BigInt.Prototype              2   toString radix 8 (octal).
-   [OK]          BigInt.Prototype              3   toString radix 10 (decimal).
-   [OK]          BigInt.Prototype              4   toString radix 16 (hex).
-   [OK]          BigInt.Prototype              5   toString radix 36 (max).
-   [OK]          BigInt.Prototype              6   toString various radixes.
-   [OK]          BigInt.Prototype              7   toString large numbers.
-   [OK]          BigInt.Prototype              8   toString negative large.
-   [OK]          BigInt.Prototype              9   toString zero all radixes.
-   [OK]          BigInt.Prototype             10   to_float small.
-   [OK]          BigInt.Prototype             11   to_float large.
-   [OK]          BigInt.Prototype             12   to_float very large.
-   [OK]          BigInt.Prototype             13   of_string edge cases.
-   [OK]          BigInt.Prototype             14   of_string hex.
-   [OK]          BigInt.Prototype             15   of_string binary.
-   [OK]          BigInt.Prototype             16   of_string octal.
-   [OK]          BigInt.Prototype             17   compare equal.
-   [OK]          BigInt.Prototype             18   compare less.
-   [OK]          BigInt.Prototype             19   compare greater.
-   [OK]          BigInt.Prototype             20   compare negative.
-   [OK]          BigInt.Prototype             21   compare large.
-   [OK]          Date.Getters                  0   getTime returns epoch ms.
-   [OK]          Date.Getters                  1   getTime NaN for invalid date.
-   [OK]          Date.Getters                  2   getUTCFullYear.
-   [OK]          Date.Getters                  3   getUTCMonth.
-   [OK]          Date.Getters                  4   getUTCDate.
-   [OK]          Date.Getters                  5   getUTCDay.
-   [OK]          Date.Getters                  6   getUTCHours.
-   [OK]          Date.Getters                  7   getUTCMinutes.
-   [OK]          Date.Getters                  8   getUTCSeconds.
-   [OK]          Date.Getters                  9   getUTCMilliseconds.
-   [OK]          Date.Getters                 10   UTC getters at epoch.
-   [OK]          Date.Getters                 11   UTC getters before epoch.
-   [OK]          Date.Getters                 12   UTC getters at Y2K.
-   [OK]          Date.Getters                 13   UTC getters on leap day.
-   [OK]          Date.Getters                 14   getUTCFullYear NaN.
-   [OK]          Date.Getters                 15   getUTCMonth NaN.
-   [OK]          Date.Getters                 16   getUTCDate NaN.
-   [OK]          Date.Getters                 17   getUTCDay NaN.
-   [OK]          Date.Getters                 18   getUTCHours NaN.
-   [OK]          Date.Getters                 19   getUTCMinutes NaN.
-   [OK]          Date.Getters                 20   getUTCSeconds NaN.
-   [OK]          Date.Getters                 21   getUTCMilliseconds NaN.
-   [OK]          Date.Getters                 22   new year transition.
-   [OK]          Date.Getters                 23   month lengths.
-   [OK]          Date.LocalGetters             0   getTime basic.
-   [OK]          Date.LocalGetters             1   getTime epoch.
-   [OK]          Date.LocalGetters             2   getTime negative.
-   [OK]          Date.LocalGetters             3   getTime NaN.
-   [OK]          Date.LocalGetters             4   valueOf basic.
-   [OK]          Date.LocalGetters             5   valueOf epoch.
-   [OK]          Date.LocalGetters             6   valueOf NaN.
-   [OK]          Date.LocalGetters             7   valueOf equals getTime.
-   [OK]          Date.LocalGetters             8   getUTCFullYear 2017.
-   [OK]          Date.LocalGetters             9   getUTCFullYear 1970 (epoch).
-   [OK]          Date.LocalGetters            10   getUTCFullYear 1969.
-   [OK]          Date.LocalGetters            11   getUTCFullYear NaN.
-   [OK]          Date.LocalGetters            12   getUTCFullYear Y2K.
-   [OK]          Date.LocalGetters            13   getUTCFullYear leap year.
-   [OK]          Date.LocalGetters            14   getUTCMonth January (0).
-   [OK]          Date.LocalGetters            15   getUTCMonth December (11).
-   [OK]          Date.LocalGetters            16   getUTCMonth NaN.
-   [OK]          Date.LocalGetters            17   getUTCMonth epoch.
-   [OK]          Date.LocalGetters            18   getUTCDate first.
-   [OK]          Date.LocalGetters            19   getUTCDate 31st.
-   [OK]          Date.LocalGetters            20   getUTCDate NaN.
-   [OK]          Date.LocalGetters            21   getUTCDate epoch.
-   [OK]          Date.LocalGetters            22   getUTCDay Thursday (epoch).
-   [OK]          Date.LocalGetters            23   getUTCDay Sunday.
-   [OK]          Date.LocalGetters            24   getUTCDay Saturday.
-   [OK]          Date.LocalGetters            25   getUTCDay NaN.
-   [OK]          Date.LocalGetters            26   getUTCHours zero.
-   [OK]          Date.LocalGetters            27   getUTCHours 23.
-   [OK]          Date.LocalGetters            28   getUTCHours NaN.
-   [OK]          Date.LocalGetters            29   getUTCHours epoch.
-   [OK]          Date.LocalGetters            30   getUTCMinutes zero.
-   [OK]          Date.LocalGetters            31   getUTCMinutes 59.
-   [OK]          Date.LocalGetters            32   getUTCMinutes NaN.
-   [OK]          Date.LocalGetters            33   getUTCSeconds zero.
-   [OK]          Date.LocalGetters            34   getUTCSeconds 59.
-   [OK]          Date.LocalGetters            35   getUTCSeconds NaN.
-   [OK]          Date.LocalGetters            36   getUTCMilliseconds zero.
-   [OK]          Date.LocalGetters            37   getUTCMilliseconds 999.
-   [OK]          Date.LocalGetters            38   getUTCMilliseconds NaN.
-   [OK]          Date.LocalGetters            39   getUTCMilliseconds middle.
-   [OK]          Date.LocalGetters            40   getTimezoneOffset returns n...
-   [OK]          Date.LocalGetters            41   getTimezoneOffset NaN.
-   [OK]          Date.LocalGetters            42   getTimezoneOffset in valid ...
-   [OK]          Date.LocalGetters            43   local getters consistent.
-   [OK]          Date.LocalGetters            44   local getters NaN.
-   [OK]          Date.LocalGetters            45   getDay range 0-6.
-   [OK]          Date.LocalGetters            46   getters large positive date.
-   [OK]          Date.LocalGetters            47   getters large negative date.
-   [OK]          Date.LocalGetters            48   getters boundary milliseconds.
-   [OK]          Date.Setters                  0   setTime basic.
-   [OK]          Date.Setters                  1   setTime epoch.
-   [OK]          Date.Setters                  2   setTime negative.
-   [OK]          Date.Setters                  3   setTime NaN value.
-   [OK]          Date.Setters                  4   setTime on NaN date.
-   [OK]          Date.Setters                  5   setUTCMilliseconds basic.
-   [OK]          Date.Setters                  6   setUTCMilliseconds overflow.
-   [OK]          Date.Setters                  7   setUTCMilliseconds negative.
-   [OK]          Date.Setters                  8   setUTCMilliseconds NaN.
-   [OK]          Date.Setters                  9   setUTCSeconds basic.
-   [OK]          Date.Setters                 10   setUTCSeconds overflow.
-   [OK]          Date.Setters                 11   setUTCSeconds with ms.
-   [OK]          Date.Setters                 12   setUTCSeconds NaN.
-   [OK]          Date.Setters                 13   setUTCMinutes basic.
-   [OK]          Date.Setters                 14   setUTCMinutes overflow.
-   [OK]          Date.Setters                 15   setUTCMinutes with seconds.
-   [OK]          Date.Setters                 16   setUTCMinutes with seconds ...
-   [OK]          Date.Setters                 17   setUTCMinutes NaN.
-   [OK]          Date.Setters                 18   setUTCHours basic.
-   [OK]          Date.Setters                 19   setUTCHours overflow.
-   [OK]          Date.Setters                 20   setUTCHours with minutes.
-   [OK]          Date.Setters                 21   setUTCHours with minutes an...
-   [OK]          Date.Setters                 22   setUTCHours all components.
-   [OK]          Date.Setters                 23   setUTCHours NaN.
-   [OK]          Date.Setters                 24   setUTCDate basic.
-   [OK]          Date.Setters                 25   setUTCDate overflow.
-   [OK]          Date.Setters                 26   setUTCDate zero.
-   [OK]          Date.Setters                 27   setUTCDate negative.
-   [OK]          Date.Setters                 28   setUTCDate NaN.
-   [OK]          Date.Setters                 29   setUTCMonth basic.
-   [OK]          Date.Setters                 30   setUTCMonth overflow.
-   [OK]          Date.Setters                 31   setUTCMonth negative.
-   [OK]          Date.Setters                 32   setUTCMonth with date.
-   [OK]          Date.Setters                 33   setUTCMonth NaN.
-   [OK]          Date.Setters                 34   setUTCFullYear basic.
-   [OK]          Date.Setters                 35   setUTCFullYear with month.
-   [OK]          Date.Setters                 36   setUTCFullYear with month a...
-   [OK]          Date.Setters                 37   setUTCFullYear leap to non-...
-   [OK]          Date.Setters                 38   setUTCFullYear NaN.
-   [OK]          Date.Setters                 39   setMilliseconds basic.
-   [OK]          Date.Setters                 40   setSeconds basic.
-   [OK]          Date.Setters                 41   setMinutes basic.
-   [OK]          Date.Setters                 42   setHours basic.
-   [OK]          Date.Setters                 43   setDate basic.
-   [OK]          Date.Setters                 44   setMonth basic.
-   [OK]          Date.Setters                 45   setFullYear basic.
-   [OK]          Date.Setters                 46   setSeconds with ms.
-   [OK]          Date.Setters                 47   setMinutes with seconds.
-   [OK]          Date.Setters                 48   setMinutes with seconds and...
-   [OK]          Date.Setters                 49   setHours with minutes.
-   [OK]          Date.Setters                 50   setHours with minutes and s...
-   [OK]          Date.Setters                 51   setHours all components.
-   [OK]          Date.Setters                 52   setMonth with date.
-   [OK]          Date.Setters                 53   setFullYear with month.
-   [OK]          Date.Setters                 54   setFullYear with month and ...
-   [OK]          Date.Setters                 55   setMilliseconds NaN.
-   [OK]          Date.Setters                 56   setSeconds NaN.
-   [OK]          Date.Setters                 57   setMinutes NaN.
-   [OK]          Date.Setters                 58   setHours NaN.
-   [OK]          Date.Setters                 59   setDate NaN.
-   [OK]          Date.Setters                 60   setMonth NaN.
-   [OK]          Date.Setters                 61   setFullYear NaN.
-   [OK]          Date.ToString                 0   toUTCString basic.
-   [OK]          Date.ToString                 1   toUTCString epoch.
-   [OK]          Date.ToString                 2   toUTCString format.
-   [OK]          Date.ToString                 3   toUTCString NaN.
-   [OK]          Date.ToString                 4   toUTCString negative year.
-   [OK]          Date.ToString                 5   toUTCString all months.
-   [OK]          Date.ToString                 6   toUTCString day names.
-   [OK]          Date.ToString                 7   toDateString basic.
-   [OK]          Date.ToString                 8   toDateString epoch.
-   [OK]          Date.ToString                 9   toDateString NaN.
-   [OK]          Date.ToString                10   toDateString no time.
-   [OK]          Date.ToString                11   toTimeString basic.
-   [OK]          Date.ToString                12   toTimeString epoch.
-   [OK]          Date.ToString                13   toTimeString NaN.
-   [OK]          Date.ToString                14   toTimeString contains time.
-   [OK]          Date.ToString                15   toString basic.
-   [OK]          Date.ToString                16   toString epoch.
-   [OK]          Date.ToString                17   toString NaN.
-   [OK]          Date.ToString                18   toString contains date and ...
-   [OK]          Date.ToString                19   toString contains year.
-   [OK]          Date.ToString                20   toJSON basic.
-   [OK]          Date.ToString                21   toJSON NaN.
-   [OK]          Date.ToString                22   toJSONUnsafe basic.
-   [OK]          Date.ToString                23   toLocaleString basic.
-   [OK]          Date.ToString                24   toLocaleString NaN.
-   [OK]          Date.ToString                25   toLocaleDateString basic.
-   [OK]          Date.ToString                26   toLocaleDateString NaN.
-   [OK]          Date.ToString                27   toLocaleTimeString basic.
-   [OK]          Date.ToString                28   toLocaleTimeString NaN.
-   [OK]          Date.ToString                29   toString large year.
-   [OK]          Date.ToString                30   toString negative year.
-   [OK]          Date.ToString                31   toUTCString Y2K.
-   [OK]          Date.Now                      0   now returns finite number.
-   [OK]          Date.Now                      1   now returns positive.
-   [OK]          Date.Now                      2   now is recent (after 2020).
-   [OK]          Date.Now                      3   now is monotonic.
-   [OK]          Date.Now                      4   now returns integer ms.
-   [OK]          Date.Parse                    0   empty string returns NaN.
-   [OK]          Date.Parse                    1   year only: 2000.
-   [OK]          Date.Parse                    2   year-month: 2000-01.
-   [OK]          Date.Parse                    3   full date: 2000-01-01.
-   [OK]          Date.Parse                    4   date with time UTC: 2000-01...
-   [OK]          Date.Parse                    5   date with seconds: 2000-01-...
-   [OK]          Date.Parse                    6   milliseconds .1Z = 100ms.
-   [OK]          Date.Parse                    7   milliseconds .10Z = 100ms.
-   [OK]          Date.Parse                    8   milliseconds .100Z = 100ms.
-   [OK]          Date.Parse                    9   milliseconds .1000Z = 100ms.
-   [OK]          Date.Parse                   10   timezone offset +00:00.
-   [OK]          Date.Parse                   11   known ISO timestamp.
-   [OK]          Date.Parse                   12   roundtrip parsing.
-   [OK]          Date.Parse                   13   millis: single digit .1.
-   [OK]          Date.Parse                   14   millis: two digits .12.
-   [OK]          Date.Parse                   15   millis: four digits .1234 t...
-   [OK]          Date.Parse                   16   millis: many digits .9999 t...
-   [OK]          Date.Parse                   17   expanded year +002000.
-   [OK]          Date.Parse                   18   expanded year -000001.
-   [OK]          Date.Parse                   19   expanded year -000000 is in...
-   [OK]          Date.Parse                   20   month name format: Jan 1 2000.
-   [OK]          Date.Parse                   21   with weekday: Sat Jan 1 2000.
-   [OK]          Date.Parse                   22   timezone GMT+0100.
-   [OK]          Date.Parse                   23   timezone GMT+0200.
-   [OK]          Date.Parse                   24   invalid: gibberish.
-   [OK]          Date.Parse                   25   invalid: partial 2000-.
-   [OK]          Date.Parse                   26   invalid: month 13.
-   [OK]          Date.Parse                   27   invalid: day 32.
-   [OK]          Date.Parse                   28   invalid: hour 25.
-   [OK]          Date.Parse                   29   invalid: minute 60.
-   [OK]          Date.Parse                   30   invalid: second 60.
-   [OK]          Date.ToISOString              0   known timestamp.
-   [OK]          Date.ToISOString              1   epoch.
-   [OK]          Date.ToISOString              2   Y2K.
-   [OK]          Date.ToISOString              3   with milliseconds.
-   [OK]          Date.ToISOString              4   millis: 000.
-   [OK]          Date.ToISOString              5   millis: 001.
-   [OK]          Date.ToISOString              6   millis: 010.
-   [OK]          Date.ToISOString              7   millis: 100.
-   [OK]          Date.ToISOString              8   millis: 999.
-   [OK]          Date.ToISOString              9   single digit month padded.
-   [OK]          Date.ToISOString             10   single digit day padded.
-   [OK]          Date.ToISOString             11   single digit hour padded.
-   [OK]          Date.ToISOString             12   before epoch -1ms.
-   [OK]          Date.ToISOString             13   1969 Jan.
-   [OK]          Date.ToISOString             14   year 0.
-   [OK]          Date.ToISOString             15   negative year.
-   [OK]          Date.ToISOString             16   year 10000.
-   [OK]          Date.ToISOString             17   roundtrip known timestamp.
-   [OK]          Date.ToISOString             18   roundtrip epoch.
-   [OK]          Date.ToISOString             19   roundtrip before epoch.
-   [OK]          Date.ToISOString             20   QJS: 2020-01-01T01:01:01.123Z.
-   [OK]          Date.ToISOString             21   QJS: .1Z -> .100Z.
-   [OK]          Date.ToISOString             22   QJS: .12Z -> .120Z.
-   [OK]          Date.UTC                      0   UTC year only.
-   [OK]          Date.UTC                      1   UTC year and month.
-   [OK]          Date.UTC                      2   UTC year, month, day.
-   [OK]          Date.UTC                      3   UTC with hours.
-   [OK]          Date.UTC                      4   UTC with minutes.
-   [OK]          Date.UTC                      5   UTC with seconds.
-   [OK]          Date.UTC                      6   UTC with milliseconds.
-   [OK]          Date.UTC                      7   UTC NaN year.
-   [OK]          Date.UTC                      8   UTC NaN month.
-   [OK]          Date.UTC                      9   UTC NaN day.
-   [OK]          Date.UTC                     10   UTC NaN hours.
-   [OK]          Date.UTC                     11   UTC NaN minutes.
-   [OK]          Date.UTC                     12   UTC NaN seconds.
-   [OK]          Date.UTC                     13   UTC NaN ms.
-   [OK]          Date.UTC                     14   UTC Unix epoch.
-   [OK]          Date.UTC                     15   UTC before epoch.
-   [OK]          Date.UTC                     16   UTC Y2K.
-   [OK]          Date.UTC                     17   UTC year 0 -> 1900.
-   [OK]          Date.UTC                     18   UTC year 99 -> 1999.
-   [OK]          Date.UTC                     19   UTC year 100 stays 100.
-   [OK]          Date.UTC                     20   UTC month 12 = January next...
-   [OK]          Date.UTC                     21   UTC month -1 = December pre...
-   [OK]          Date.UTC                     22   UTC day 32 Jan = Feb 1.
-   [OK]          Date.UTC                     23   UTC day 0 = last day prev m...
-   [OK]          Date.UTC                     24   UTC day -1 = second-to-last...
-   [OK]          Date.UTC                     25   UTC leap year Feb 29 valid.
-   [OK]          Date.UTC                     26   UTC non-leap Feb 29 = Mar 1.
-   [OK]          Date.UTC                     27   UTC 2000 is leap year.
-   [OK]          Date.UTC                     28   UTC 1900 is NOT leap year.
-   [OK]          Date.UTC                     29   UTC large day offset.
-   [OK]          Date.UTC                     30   UTC large minute offset.
-   [OK]          Date.UTC                     31   UTC large second offset.
-   [OK]          Date.UTC                     32   UTC large ms offset.
-   [OK]          Number.IsFinite               0   infinity: positive Infinity...
-   [OK]          Number.IsFinite               1   negative_infinity: negative...
-   [OK]          Number.IsFinite               2   nan: NaN returns false.
-   [OK]          Number.IsFinite               3   nan_from_operations: NaN fr...
-   [OK]          Number.IsFinite               4   finite_numbers: zeros.
-   [OK]          Number.IsFinite               5   finite_numbers: positive in...
-   [OK]          Number.IsFinite               6   finite_numbers: negative in...
-   [OK]          Number.IsFinite               7   finite_numbers: decimals.
-   [OK]          Number.IsFinite               8   finite_numbers: MAX/MIN_VALUE.
-   [OK]          Number.IsFinite               9   finite_numbers: safe intege...
-   [OK]          Number.IsFinite              10   finite_numbers: epsilon.
-   [OK]          Number.IsFinite              11   finite_numbers: very small.
-   [OK]          Number.IsFinite              12   finite_numbers: very large.
-   [OK]          Number.IsInteger              0   integers: zeros.
-   [OK]          Number.IsInteger              1   integers: positive.
-   [OK]          Number.IsInteger              2   integers: negative.
-   [OK]          Number.IsInteger              3   integers: large.
-   [OK]          Number.IsInteger              4   integers: decimal zero frac...
-   [OK]          Number.IsInteger              5   non_integers: decimals.
-   [OK]          Number.IsInteger              6   non_integers: small fractions.
-   [OK]          Number.IsInteger              7   special: NaN.
-   [OK]          Number.IsInteger              8   special: Infinity.
-   [OK]          Number.IsInteger              9   edge: MAX_VALUE is integer.
-   [OK]          Number.IsInteger             10   edge: MIN_VALUE is not inte...
-   [OK]          Number.IsInteger             11   edge: epsilon is not integer.
-   [OK]          Number.IsInteger             12   edge: powers of two.
-   [OK]          Number.IsInteger             13   edge: scientific notation.
-   [OK]          Number.IsNaN                  0   nan_value: NaN returns true.
-   [OK]          Number.IsNaN                  1   nan_from_operation: NaN fro...
-   [OK]          Number.IsNaN                  2   nan_from_parseInt: NaN from...
-   [OK]          Number.IsNaN                  3   nan_from_parseFloat: NaN fr...
-   [OK]          Number.IsNaN                  4   finite_numbers: finite numb...
-   [OK]          Number.IsNaN                  5   zero_values: zeros return f...
-   [OK]          Number.IsNaN                  6   infinity_values: Infinity r...
-   [OK]          Number.IsNaN                  7   max_min_values: extreme val...
-   [OK]          Number.IsNaN                  8   epsilon_value: epsilon retu...
-   [OK]          Number.ParseFloat             0   S15.1.2.3_A1_T1: empty stri...
-   [OK]          Number.ParseFloat             1   S15.1.2.3_A1_T2: simple int...
-   [OK]          Number.ParseFloat             2   S15.1.2.3_A1_T3: non-numeri...
-   [OK]          Number.ParseFloat             3   S15.1.2.3_A1_T4: decimal nu...
-   [OK]          Number.ParseFloat             4   S15.1.2.3_A1_T5: stops at i...
-   [OK]          Number.ParseFloat             5   S15.1.2.3_A1_T6: whitespace...
-   [OK]          Number.ParseFloat             6   S15.1.2.3_A1_T7: invalid st...
-   [OK]          Number.ParseFloat             7   S15.1.2.3_A2_T1: leading sp...
-   [OK]          Number.ParseFloat             8   S15.1.2.3_A2_T2: leading tabs.
-   [OK]          Number.ParseFloat             9   S15.1.2.3_A2_T3: leading ne...
-   [OK]          Number.ParseFloat            10   S15.1.2.3_A2_T4: leading ca...
-   [OK]          Number.ParseFloat            11   S15.1.2.3_A2_T5: leading fo...
-   [OK]          Number.ParseFloat            12   S15.1.2.3_A2_T6: leading ve...
-   [OK]          Number.ParseFloat            13   S15.1.2.3_A2_T7: mixed whit...
-   [OK]          Number.ParseFloat            14   S15.1.2.3_A2_T8: non-breaki...
-   [OK]          Number.ParseFloat            15   S15.1.2.3_A2_T9: trailing c...
-   [OK]          Number.ParseFloat            16   S15.1.2.3_A2_T10: whitespac...
-   [OK]          Number.ParseFloat            17   S15.1.2.3_A3_T1: positive s...
-   [OK]          Number.ParseFloat            18   S15.1.2.3_A3_T2: negative s...
-   [OK]          Number.ParseFloat            19   S15.1.2.3_A3_T3: sign with ...
-   [OK]          Number.ParseFloat            20   S15.1.2.3_A4_T1: basic expo...
-   [OK]          Number.ParseFloat            21   S15.1.2.3_A4_T2: uppercase E.
-   [OK]          Number.ParseFloat            22   S15.1.2.3_A4_T3: negative e...
-   [OK]          Number.ParseFloat            23   S15.1.2.3_A4_T4: positive e...
-   [OK]          Number.ParseFloat            24   S15.1.2.3_A4_T5: decimal wi...
-   [OK]          Number.ParseFloat            25   S15.1.2.3_A4_T6: incomplete...
-   [OK]          Number.ParseFloat            26   S15.1.2.3_A4_T7: very large...
-   [OK]          Number.ParseFloat            27   S15.1.2.3_A5_T1: Infinity s...
-   [OK]          Number.ParseFloat            28   S15.1.2.3_A5_T2: signed Inf...
-   [OK]          Number.ParseFloat            29   S15.1.2.3_A5_T3: Infinity w...
-   [OK]          Number.ParseFloat            30   S15.1.2.3_A5_T4: Infinity w...
-   [OK]          Number.ParseFloat            31   S15.1.2.3_A6: multiple deci...
-   [OK]          Number.ParseFloat            32   S15.1.2.3_A7.5: leading dec...
-   [OK]          Number.ParseFloat            33   S15.1.2.3_A7.6: trailing de...
-   [OK]          Number.ParseFloat            34   S15.1.2.3_A7.7: decimal wit...
-   [OK]          Number.ParseFloat            35   misc_t1: hex not supported.
-   [OK]          Number.ParseFloat            36   misc_t2: binary/octal not s...
-   [OK]          Number.ParseFloat            37   misc_t3: leading zeros.
-   [OK]          Number.ParseFloat            38   misc_t4: NaN string.
-   [OK]          Number.ParseFloat            39   misc_t5: sign edge cases.
-   [OK]          Number.ParseFloat            40   misc_t6: very small numbers.
-   [OK]          Number.ParseFloat            41   misc_t7: negative zero.
-   [OK]          Number.ParseFloat            42   misc_t8: precision loss.
-   [OK]          Number.ParseFloat            43   misc_t9: exponent without m...
-   [OK]          Number.ParseFloat            44   misc_t10: comprehensive whi...
-   [OK]          Number.ParseFloat            45   misc_t11: Infinity case sen...
-   [OK]          Number.ParseFloat            46   misc_t12: sign with decimal...
-   [OK]          Number.ParseFloat            47   misc_t13: multiple e.
-   [OK]          Number.ParseFloat            48   misc_t14: exponent with dec...
-   [OK]          Number.ParseInt               0   S15.1.2.2_A1_T1: empty stri...
-   [OK]          Number.ParseInt               1   S15.1.2.2_A1_T2: whitespace...
-   [OK]          Number.ParseInt               2   S15.1.2.2_A1_T3: non-numeri...
-   [OK]          Number.ParseInt               3   S15.1.2.2_A1_T4: invalid st...
-   [OK]          Number.ParseInt               4   S15.1.2.2_A1_T5: sign only ...
-   [OK]          Number.ParseInt               5   S15.1.2.2_A1_T6: stops at i...
-   [OK]          Number.ParseInt               6   S15.1.2.2_A1_T7: NaN/Infini...
-   [OK]          Number.ParseInt               7   S15.1.2.2_A2_T1: leading sp...
-   [OK]          Number.ParseInt               8   S15.1.2.2_A2_T2: leading tabs.
-   [OK]          Number.ParseInt               9   S15.1.2.2_A2_T3: leading ne...
-   [OK]          Number.ParseInt              10   S15.1.2.2_A2_T4: leading ca...
-   [OK]          Number.ParseInt              11   S15.1.2.2_A2_T5: leading fo...
-   [OK]          Number.ParseInt              12   S15.1.2.2_A2_T6: leading ve...
-   [OK]          Number.ParseInt              13   S15.1.2.2_A2_T7: mixed whit...
-   [OK]          Number.ParseInt              14   S15.1.2.2_A2_T8: non-breaki...
-   [OK]          Number.ParseInt              15   S15.1.2.2_A2_T9: trailing w...
-   [OK]          Number.ParseInt              16   S15.1.2.2_A2_T10: whitespac...
-   [OK]          Number.ParseInt              17   S15.1.2.2_A3.1_T1: positive...
-   [OK]          Number.ParseInt              18   S15.1.2.2_A3.1_T2: negative...
-   [OK]          Number.ParseInt              19   S15.1.2.2_A3.1_T3: sign wit...
-   [OK]          Number.ParseInt              20   S15.1.2.2_A3.1_T4: multiple...
-   [OK]          Number.ParseInt              21   S15.1.2.2_A3.1_T5: sign wit...
-   [OK]          Number.ParseInt              22   S15.1.2.2_A3.1_T6: sign wit...
-   [OK]          Number.ParseInt              23   S15.1.2.2_A3.1_T7: sign alone.
-   [OK]          Number.ParseInt              24   S15.1.2.2_A3.2_T1: negative...
-   [OK]          Number.ParseInt              25   S15.1.2.2_A3.2_T2: negative...
-   [OK]          Number.ParseInt              26   S15.1.2.2_A3.2_T3: negative...
-   [OK]          Number.ParseInt              27   S15.1.2.2_A4.1_T1: radix 2.
-   [OK]          Number.ParseInt              28   S15.1.2.2_A4.1_T2: radix 8.
-   [OK]          Number.ParseInt              29   S15.1.2.2_A4.2_T1: radix 16.
-   [OK]          Number.ParseInt              30   S15.1.2.2_A4.2_T2: radix 36.
-   [OK]          Number.ParseInt              31   S15.1.2.2_A5.1_T1: 0x prefi...
-   [OK]          Number.ParseInt              32   S15.1.2.2_A5.2_T1: 0x with ...
-   [OK]          Number.ParseInt              33   S15.1.2.2_A5.2_T2: 0x with ...
-   [OK]          Number.ParseInt              34   S15.1.2.2_A6.1_T1: radix 0 ...
-   [OK]          Number.ParseInt              35   S15.1.2.2_A6.1_T2: radix 1 ...
-   [OK]          Number.ParseInt              36   S15.1.2.2_A6.1_T3: radix 37...
-   [OK]          Number.ParseInt              37   S15.1.2.2_A6.1_T4: large ra...
-   [OK]          Number.ParseInt              38   S15.1.2.2_A6.1_T5: negative...
-   [OK]          Number.ParseInt              39   S15.1.2.2_A6.1_T6: boundary...
-   [OK]          Number.ParseInt              40   S15.1.2.2_A7.1_T1: digits b...
-   [OK]          Number.ParseInt              41   S15.1.2.2_A7.1_T2: all digi...
-   [OK]          Number.ParseInt              42   S15.1.2.2_A7.2_T1: large nu...
-   [OK]          Number.ParseInt              43   S15.1.2.2_A7.2_T2: large he...
-   [OK]          Number.ParseInt              44   S15.1.2.2_A7.2_T3: many dig...
-   [OK]          Number.ParseInt              45   S15.1.2.2_A7.3_T1: leading ...
-   [OK]          Number.ParseInt              46   S15.1.2.2_A7.3_T2: leading ...
-   [OK]          Number.ParseInt              47   S15.1.2.2_A7.3_T3: only zeros.
-   [OK]          Number.ParseInt              48   S15.1.2.2_A8: decimal point.
-   [OK]          Number.ParseInt              49   misc_t1: scientific notatio...
-   [OK]          Number.ParseInt              50   misc_t2: unicode digits not...
-   [OK]          Number.ParseInt              51   misc_t3: 0o octal prefix no...
-   [OK]          Number.ParseInt              52   misc_t4: 0b binary prefix n...
-   [OK]          Number.ParseInt              53   misc_t5: single digits.
-   [OK]          Number.ParseInt              54   misc_t6: radix boundaries.
-   [OK]          Number.ParseInt              55   misc_t7: case insensitivity.
-   [OK]          Number.ParseInt              56   misc_t8: comprehensive whit...
-   [OK]          Number.ToString               0   basic: integers.
-   [OK]          Number.ToString               1   basic: decimals.
-   [OK]          Number.ToString               2   basic: special values.
-   [OK]          Number.ToString               3   basic: scientific notation.
-   [OK]          Number.ToString               4   basic: negative zero.
-   [OK]          Number.ToString               5   radix 2: binary.
-   [OK]          Number.ToString               6   radix 8: octal.
-   [OK]          Number.ToString               7   radix 16: hex.
-   [OK]          Number.ToString               8   radix 36: max.
-   [OK]          Number.ToString               9   radix 10: explicit.
-   [OK]          Number.ToString              10   negative with radix.
-   [OK]          Number.ToString              11   special values with radix.
-   [OK]          Number.ToString              12   large numbers.
-   [OK]          Number.ToExponential          0   basic: no digits.
-   [OK]          Number.ToExponential          1   digits: 0.
-   [OK]          Number.ToExponential          2   digits: 1.
-   [OK]          Number.ToExponential          3   digits: multiple.
-   [OK]          Number.ToExponential          4   digits: large.
-   [OK]          Number.ToExponential          5   special values.
-   [OK]          Number.ToExponential          6   special values with digits.
-   [OK]          Number.ToExponential          7   negative numbers.
-   [OK]          Number.ToExponential          8   rounding.
-   [OK]          Number.ToExponential          9   very small numbers.
-   [OK]          Number.ToExponential         10   very large numbers.
-   [OK]          Number.ToExponential         11   negative zero.
-   [OK]          Number.ToPrecision            0   basic: no precision.
-   [OK]          Number.ToPrecision            1   precision: 1.
-   [OK]          Number.ToPrecision            2   precision: 2.
-   [OK]          Number.ToPrecision            3   precision: multiple.
-   [OK]          Number.ToPrecision            4   precision: large.
-   [OK]          Number.ToPrecision            5   special values.
-   [OK]          Number.ToPrecision            6   special values with precision.
-   [OK]          Number.ToPrecision            7   negative numbers.
-   [OK]          Number.ToPrecision            8   rounding.
-   [OK]          Number.ToPrecision            9   zero handling.
-   [OK]          Number.ToPrecision           10   negative zero.
-   [OK]          Number.ToPrecision           11   very small numbers.
-   [OK]          Number.ToPrecision           12   very large numbers.
-   [OK]          String.Normalize              0   default form (NFC).
-   [OK]          String.Normalize              1   empty string.
-   [OK]          String.Normalize              2   ASCII unchanged.
-   [OK]          String.Normalize              3   NFC: basic.
-   [OK]          String.Normalize              4   NFC: multiple accents.
-   [OK]          String.Normalize              5   NFD: basic.
-   [OK]          String.Normalize              6   NFD: already decomposed.
-   [OK]          String.Normalize              7   NFKC: ligature.
-   [OK]          String.Normalize              8   NFKC: superscript.
-   [OK]          String.Normalize              9   NFKD: ligature.
-   [OK]          String.Normalize             10   NFKD: with accents.
-   [OK]          String.Normalize             11   Hangul syllable.
-   [OK]          String.Normalize             12   combining sequences.
-   [OK]          String.Search                 0   basic: match.
-   [OK]          String.Search                 1   basic: no match.
-   [OK]          String.Search                 2   basic: match at start.
-   [OK]          String.Search                 3   basic: match at end.
-   [OK]          String.Search                 4   basic: empty string.
-   [OK]          String.Search                 5   basic: empty pattern.
-   [OK]          String.Search                 6   case: sensitive.
-   [OK]          String.Search                 7   case: insensitive.
-   [OK]          String.Search                 8   pattern: digit class.
-   [OK]          String.Search                 9   pattern: word boundary.
-   [OK]          String.Search                10   pattern: any character.
-   [OK]          String.Search                11   pattern: alternation.
-   [OK]          String.Search                12   pattern: optional.
-   [OK]          String.Search                13   multiple: finds first.
-   [OK]          String.Search                14   multiple: global flag ignored.
-   [OK]          String.Search                15   unicode: characters.
-   [OK]          String.Search                16   unicode: emoji.
-   [OK]          String.Search                17   edge: special regex chars.
-   [OK]          String.Search                18   edge: newline.
-   [OK]          RegExp.NamedGroups            0   basic: date pattern.
-   [OK]          RegExp.NamedGroups            1   basic: single group.
-   [OK]          RegExp.NamedGroups            2   basic: multiple groups.
-   [OK]          RegExp.NamedGroups            3   access: by name.
-   [OK]          RegExp.NamedGroups            4   access: nonexistent.
-   [OK]          RegExp.NamedGroups            5   access: all groups list.
-   [OK]          RegExp.NamedGroups            6   pattern: with quantifiers.
-   [OK]          RegExp.NamedGroups            7   pattern: with alternation.
-   [OK]          RegExp.NamedGroups            8   edge: no named groups.
-   [OK]          RegExp.NamedGroups            9   edge: mixed named and unnamed.
-   [OK]          RegExp.DotAll                 0   basic: dot without flag.
-   [OK]          RegExp.DotAll                 1   basic: dot with flag.
-   [OK]          RegExp.DotAll                 2   basic: flag accessor.
-   [OK]          RegExp.DotAll                 3   line: matches LF.
-   [OK]          RegExp.DotAll                 4   line: matches CR.
-   [OK]          RegExp.DotAll                 5   line: matches CRLF.
-   [OK]          RegExp.DotAll                 6   flags: with global.
-   [OK]          RegExp.DotAll                 7   flags: with ignorecase.
-   [OK]          RegExp.DotAll                 8   flags: with multiline.
-   [OK]          RegExp.DotAll                 9   accessor: includes s.
-   [OK]          RegExp.DotAll                10   accessor: order.
-   [OK]          RegExp.DotAll                11   practical: multiline content.
-   [OK]          RegExp.DotAll                12   practical: without flag fails.
-   [OK]          RegExp.Unicode                0   flag: accessor.
-   [OK]          RegExp.Unicode                1   flag: in flags string.
-   [OK]          RegExp.Unicode                2   match: basic unicode.
-   [OK]          RegExp.Unicode                3   match: emoji.
-   [OK]          RegExp.Unicode                4   match: no match.
-   [OK]          RegExp.Unicode                5   combined: with global.
-   [OK]          RegExp.Unicode                6   combined: with ignorecase.
-   [OK]          RegExp.Unicode                7   combined: with multiline.
-   [OK]          RegExp.Unicode                8   property: letter category.
-   [OK]          RegExp.Unicode                9   astral: basic.
-   [OK]          RegExp.Unicode               10   astral: surrogate pairs.
-   [OK]          RegExp.Unicode               11   practical: international.
-   [OK]          RegExp.Unicode               12   practical: mixed scripts.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/Js/test/_build/_tests/Js'.
- Test Successful in 0.978s. 814 tests run.
- (cd _build/default/packages/react/test && ./test.exe)
- Testing `React'.
- This run has ID `HJRVR05D'.
- 
-   [OK]          cloneElement          0   empty component.
-   [OK]          cloneElement          1   attributes component.
-   [OK]          cloneElement          2   ordered attributes component.
-   [OK]          React                 0   useState.
-   [OK]          React                 1   useSyncExternalStoreWithServer.
-   [OK]          React                 2   useEffect.
-   [OK]          React                 3   Children.map.
-   [OK]          React                 4   Children.map.
-   [OK]          React                 5   useRef.
-   [OK]          React                 6   invalid_children.
-   [OK]          React                 7   invalid_dangerouslySetInnerHtml.
-   [OK]          React                 8   raw_element.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/react/test/_build/_tests/React'.
- Test Successful in 0.020s. 12 tests run.
- (cd _build/default/packages/reactDom/test && ./test.exe)
- Testing `ReactDOM'.
- This run has ID `7XZM9ZJF'.
- 
-   [OK]          ReactServerDOM.render_html / client_with_element_props                            0   ...
-   [OK]          ReactServerDOM.render_html / null_element                                         0   ...
-   [OK]          ReactServerDOM.render_html / element_with_dangerously_set_inner_html              0   ...
-   [OK]          ReactServerDOM.render_html / inner_html_element                                   0   ...
-   [OK]          ReactServerDOM.render_html / input_element_with_value                             0   ...
-   [OK]          ReactServerDOM.render_html / upper_case_component                                 0   ...
-   [OK]          ReactServerDOM.render_html / async_component_without_promise                      0   ...
-   [OK]          ReactServerDOM.render_html / suspense_without_promise                             0   ...
-   [OK]          ReactServerDOM.render_html / with_sleepy_promise                                  0   ...
-   [OK]          ReactServerDOM.render_html / client_with_promise_props                            0   ...
-   [OK]          ReactServerDOM.render_html / client_component_with_async_component                0   ...
-   [OK]          ReactServerDOM.render_html / async_component_with_promise                         0   ...
-   [OK]          ReactServerDOM.render_html / suspense_with_error                                  0   ...
-   [OK]          ReactServerDOM.render_html / suspense_with_error_in_async                         0   ...
-   [OK]          ReactServerDOM.render_html / suspense_with_error_under_lowercase                  0   ...
-   [OK]          ReactServerDOM.render_html / error_without_suspense                               0   ...
-   [OK]          ReactServerDOM.render_html / error_in_toplevel_in_async                           0   ...
-   [OK]          ReactServerDOM.render_html / suspense_in_a_list_with_error                        0   ...
-   [OK]          ReactServerDOM.render_html / server_function_as_action                            0   ...
-   [OK]          ReactServerDOM.render_html / nested_context                                       0   ...
-   [OK]          ReactServerDOM.render_html / doctype                                              0   ...
-   [OK]          ReactServerDOM.render_html / just_an_html_node                                    0   ...
-   [OK]          ReactServerDOM.render_html / no_head_no_body_nothing_just_an_html_node            0   ...
-   [OK]          ReactServerDOM.render_html / html_with_no_srr_html_body                           0   ...
-   [OK]          ReactServerDOM.render_html / html_with_a_node                                     0   ...
-   [OK]          ReactServerDOM.render_html / html_inside_a_div                                    0   ...
-   [OK]          ReactServerDOM.render_html / html_inside_a_fragment                               0   ...
-   [OK]          ReactServerDOM.render_html / head_with_content                                    0   ...
-   [OK]          ReactServerDOM.render_html / html_with_only_a_body                                0   ...
-   [OK]          ReactServerDOM.render_html / html_with_head_like_elements_not_in_head             0   ...
-   [OK]          ReactServerDOM.render_html / html_without_body_and_bootstrap_scripts              0   ...
-   [OK]          ReactServerDOM.render_html / html_with_body_and_bootstrap_scripts                 0   ...
-   [OK]          ReactServerDOM.render_html / input_and_bootstrap_scripts                          0   ...
-   [OK]          ReactServerDOM.render_html / title_and_meta_populates_to_the_head                 0   ...
-   [OK]          ReactServerDOM.render_html / async_scripts_to_head                                0   ...
-   [OK]          ReactServerDOM.render_html / no_async_scripts_to_remain                           0   ...
-   [OK]          ReactServerDOM.render_html / async_scripts_gets_deduplicated                      0   ...
-   [OK]          ReactServerDOM.render_html / async_scripts_gets_deduplicated_2                    0   ...
-   [OK]          ReactServerDOM.render_html / link_with_rel_and_precedence                         0   ...
-   [OK]          ReactServerDOM.render_html / links_gets_pushed_to_the_head                        0   ...
-   [OK]          ReactServerDOM.render_html / self_closing_with_dangerously                        0   ...
-   [OK]          ReactServerDOM.render_html / self_closing_with_dangerously_in_head                0   ...
-   [OK]          ReactServerDOM.render_html / upper_case_component_with_resources                  0   ...
-   [OK]          ReactServerDOM.render_html / hoisted_elements_order_issue                         0   ...
-   [OK]          ReactServerDOM.render_html / head_preserves_children_order                        0   ...
-   [OK]          ReactServerDOM.render_html / html_attributes_are_preserved                        0   ...
-   [OK]          ReactDOM.renderToStream / silly_stream                                            0   ...
-   [OK]          ReactDOM.renderToStream / render_inner_html                                       0   ...
-   [OK]          ReactDOM.renderToStream / react_use_without_suspense                              0   ...
-   [OK]          ReactDOM.renderToStream / uppercase_component_always_throwing                     0   ...
-   [OK]          ReactDOM.renderToStream / suspense_with_react_use                                 0   ...
-   [OK]          ReactDOM.renderToStream / async component                                         0   ...
-   [OK]          ReactDOM.renderToStream / async_component_without_suspense                        0   ...
-   [OK]          ReactDOM.renderToStream / suspense_without_promise                                0   ...
-   [OK]          ReactDOM.renderToStream / suspense_with_async_component                           0   ...
-   [OK]          ReactDOM.renderToStream / suspense_with_always_throwing                           0   ...
-   [OK]          ReactDOM.renderToStream / suspense_with_nested_suspense                           0   ...
-   [OK]          ReactDOM.renderToStream / suspense_with_nested_suspenses                          0   ...
-   [OK]          ReactDOM.renderToStream / suspense_with_nested_suspense_with_error                0   ...
-   [OK]          ReactDOM.renderToStream / suspense_with_multiple_children                         0   ...
-   [OK]          ReactDOM.renderToStream / suspense_with_multiple_children_reordered               0   ...
-   [OK]          ReactDOM.renderToStream / suspense_with_concurrent_suspenses                      0   ...
-   [OK]          ReactDOM.renderToStream / suspense_with_comments                                  0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / html_doctype                                      0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / single_empty_tag                                  0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / empty_string_attribute                            0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / bool_attributes                                   0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / truthy_attributes                                 0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / ignore_nulls                                      0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / string_attributes                                 0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / self_closing_tag                                  0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / dom_element_innerHtml                             0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / children                                          0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / className                                         0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / className_2                                       0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / className_3                                       0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / fragment                                          0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / fragments_and_texts                               0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / ignored_attributes_on_jsx                         0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / inline_styles                                     0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / encode_attributes                                 0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / dom_props_should_work                             0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / dangerouslySetInnerHtml                           0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / context                                           0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / use_state                                         0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / use_memo                                          0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / use_callback                                      0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / inner_html                                        0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / event                                             0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / render_with_doc_type                              0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / render_svg                                        0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / ref_as_prop_works                                 0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / ref_as_callback_prop_works                        0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / async                                             0   ...
-   [OK]          ReactDOM.renderToStaticMarkup / lists_and_arrays                                  0   ...
-   [OK]          ReactDOM.renderToString / react_root_one_element                                  0   ...
-   [OK]          ReactDOM.renderToString / react_root_two_elements                                 0   ...
-   [OK]          ReactDOM.renderToString / text_single_node should not add <!-- -->                0   ...
-   [OK]          ReactDOM.renderToString / consecutives_text_nodes should add <!-- -->             0   ...
-   [OK]          ReactDOM.renderToString / separated_text_nodes_by_other_parents                   0   ...
-   [OK]          ReactDOM.Style.make / generate empty style                                        0   ...
-   [OK]          ReactDOM.Style.make / generate one style                                          0   ...
-   [OK]          ReactDOM.Style.make / generate more than one style                                0   ...
-   [OK]          ReactDOM.Style.make / unsafeAddProp should be kebab-case                          0   ...
-   [OK]          ReactDOM.Style.make / order matters                                               0   ...
-   [OK]          ReactDOM.Style.make / order matters II                                            0   ...
-   [OK]          ReactServerDOM.render_model / null_element                                        0   ...
-   [OK]          ReactServerDOM.render_model / string_element                                      0   ...
-   [OK]          ReactServerDOM.render_model / key_renders_outside_of_props                        0   ...
-   [OK]          ReactServerDOM.render_model / style_as_json                                       0   ...
-   [OK]          ReactServerDOM.render_model / lower_case_component                                0   ...
-   [OK]          ReactServerDOM.render_model / lower_case_component_nested                         0   ...
-   [OK]          ReactServerDOM.render_model / lower_case_with_children                            0   ...
-   [OK]          ReactServerDOM.render_model / dangerouslySetInnerHtml                             0   ...
-   [OK]          ReactServerDOM.render_model / upper_case_component                                0   ...
-   [OK]          ReactServerDOM.render_model / upper_case_with_list                                0   ...
-   [OK]          ReactServerDOM.render_model / upper_case_with_children                            0   ...
-   [OK]          ReactServerDOM.render_model / suspense_without_promise                            0   ...
-   [OK]          ReactServerDOM.render_model / suspense_with_promise                               0   ...
-   [OK]          ReactServerDOM.render_model / suspense_with_error                                 0   ...
-   [OK]          ReactServerDOM.render_model / suspense_with_error_in_async                        0   ...
-   [OK]          ReactServerDOM.render_model / suspense_with_immediate_promise                     0   ...
-   [OK]          ReactServerDOM.render_model / suspense                                            0   ...
-   [OK]          ReactServerDOM.render_model / async_component_without_suspense                    0   ...
-   [OK]          ReactServerDOM.render_model / suspense_in_a_list                                  0   ...
-   [OK]          ReactServerDOM.render_model / client_with_promise_props                           0   ...
-   [OK]          ReactServerDOM.render_model / async_component_without_suspense_immediate          0   ...
-   [OK]          ReactServerDOM.render_model / mixed_server_and_client                             0   ...
-   [OK]          ReactServerDOM.render_model / client_with_json_props                              0   ...
-   [OK]          ReactServerDOM.render_model / client_without_props                                0   ...
-   [OK]          ReactServerDOM.render_model / client_with_element_props                           0   ...
-   [OK]          ReactServerDOM.render_model / client_with_server_children                         0   ...
-   [OK]          ReactServerDOM.render_model / client_component_with_async_component               0   ...
-   [OK]          ReactServerDOM.render_model / act_with_simple_response                            0   ...
-   [OK]          ReactServerDOM.render_model / env_development_adds_debug_info                     0   ...
-   [OK]          ReactServerDOM.render_model / act_with_error                                      0   ...
-   [OK]          ReactServerDOM.render_model / error_without_suspense                              0   ...
-   [OK]          ReactServerDOM.render_model / error_in_toplevel                                   0   ...
-   [OK]          ReactServerDOM.render_model / error_in_toplevel_in_async                          0   ...
-   [OK]          ReactServerDOM.render_model / suspense_in_a_list_with_error                       0   ...
-   [OK]          ReactServerDOM.render_model / suspense_with_error_under_lowercase                 0   ...
-   [OK]          ReactServerDOM.render_model / client_component_with_resources_metadata            0   ...
-   [OK]          ReactServerDOM.render_model / page_with_hoisted_resources                         0   ...
-   [OK]          ReactServerDOM.render_model / nested_context                                      0   ...
-   [OK]          ReactServerDOM.render_model / model_list_value                                    0   ...
-   [OK]          ReactServerDOM.render_model / model_value_assoc                                   0   ...
-   [OK]          Decoders / decodeReply                                                            0   ...
-   [OK]          Decoders / decodeFormDataReply                                                    0   ...
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/reactDom/test/_build/_tests/ReactDOM'.
- Test Successful in 0.777s. 148 tests run.
- (cd _build/default/packages/server-reason-react-ppx/test && ./test.exe)
- Testing `server-reason-react.ppx'.
- This run has ID `EV6CVPS6'.
- 
-   [OK]          tag                                                          0   ...
-   [OK]          empty_attribute                                              0   ...
-   [OK]          bool_attribute                                               0   ...
-   [OK]          bool_attributes                                              0   ...
-   [OK]          innerhtml                                                    0   ...
-   [OK]          int_attribute                                                0   ...
-   [OK]          svg_1                                                        0   ...
-   [OK]          svg_2                                                        0   ...
-   [OK]          booleanish_props_with_ppx                                    0   ...
-   [OK]          booleanish_props_without_ppx                                 0   ...
-   [OK]          style_attribute                                              0   ...
-   [OK]          ref_attribute                                                0   ...
-   [OK]          link_as_attribute                                            0   ...
-   [OK]          inner_html_attribute                                         0   ...
-   [OK]          inner_html_attribute_complex                                 0   ...
-   [OK]          int_opt_attr_some                                            0   ...
-   [OK]          int_opt_attribute_none                                       0   ...
-   [OK]          string_opt_attribute_some                                    0   ...
-   [OK]          string_opt_attribute_none                                    0   ...
-   [OK]          bool_opt_attribute_some                                      0   ...
-   [OK]          bool_opt_attribute_none                                      0   ...
-   [OK]          style_opt_attribute_some                                     0   ...
-   [OK]          style_opt_attribute_none                                     0   ...
-   [OK]          ref_opt_attribute_some                                       0   ...
-   [OK]          ref_opt_attribute_none                                       0   ...
-   [OK]          fragment                                                     0   ...
-   [OK]          fragment_with_key                                            0   ...
-   [OK]          children_uppercase                                           0   ...
-   [OK]          children_lowercase                                           0   ...
-   [OK]          event_onClick                                                0   ...
-   [OK]          children_one_element                                         0   ...
-   [OK]          children_multiple_elements                                   0   ...
-   [OK]          create_element_variadic                                      0   ...
-   [OK]          aria_props                                                   0   ...
-   [OK]          optional_prop                                                0   ...
-   [OK]          context                                                      0   ...
-   [OK]          context_2                                                    0   ...
-   [OK]          multiple_contexts                                            0   ...
-   [OK]          styles_attribute                                             0   ...
-   [OK]          styles_attribute_optional                                    0   ...
-   [OK]          styles_attribute_optional_some                               0   ...
-   [OK]          styles_attribute_optional_some_with_class                    0   ...
-   [OK]          styles_attribute_optional_some_with_style                    0   ...
-   [OK]          styles_attribute_optional_some_with_class_and_style          0   ...
-   [OK]          server_function                                              0   ...
-   [OK]          server_function_reference                                    0   ...
-   [OK]          server_function_reference_args_error                         0   ...
-   [OK]          server_function_reference_form_data                          0   ...
-   [OK]          server_function_reference_form_data_and_args                 0   ...
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/server-reason-react-ppx/test/_build/_tests/server-reason-react.ppx'.
- Test Successful in 0.010s. 49 tests run.
[ERROR] The compilation of server-reason-react.0.4.1 failed at "dune build -p server-reason-react -j 71 @install @runtest".

#=== ERROR while compiling server-reason-react.0.4.1 ==========================#
# context              2.5.0 | linux/x86_64 | ocaml-base-compiler.5.4.0 | file:///home/opam/opam-repository
# path                 ~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p server-reason-react -j 71 @install @runtest
# exit-code            1
# env-file             ~/.opam/log/server-reason-react-7-a310d9.env
# output-file          ~/.opam/log/server-reason-react-7-a310d9.out
### output ###
# (cd _build/default/packages/melange.ppx/xxhash && ./test_xxh64.exe)
# Testing `XXH64'.
# This run has ID `LHLRP45B'.
# 
#   [OK]          hash                   0   "".
#   [OK]          hash                   1   "a".
#   [OK]          hash                   2   "as".
#   [OK]          hash                   3   "asd".
#   [OK]          hash                   4   "asdf".
#   [OK]          hash                   5   "abc".
#   [OK]          hash                   6   "abc".
#   [OK]          hash                   7   "abcd".
#   [OK]          hash                   8   "abcde".
#   [OK]          hash                   9   "abcdef".
#   [OK]          hash                  10   "abcdefg".
#   [OK]          hash                  11   "abcdefgh".
#   [OK]          hash                  12   "abcdefghi".
#   [OK]          hash                  13   "abcdefghij".
#   [OK]          hash                  14   "abcdefghijklmnopqrstuvwxyz012345".
#   [OK]          hash                  15   "abcdefghijklmnopqrstuvwxyz0123456...
#   [OK]          hash                  16   "Call me Ishmael. Some years ago--...
#   [OK]          hash                  17   "Lorem ipsum dolor sit amet, conse...
#   [OK]          hash · to_hex          0   "I want an unsigned 64-bit seed!".
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/melange.ppx/xxhash/_build/_tests/XXH64'.
# Test Successful in 0.003s. 19 tests run.
# (cd _build/default/packages/url/test && ./test_native.exe)
# Testing `URL'.
# This run has ID `7GOX32GR'.
# 
#   [OK]          URL                       0   make.
#   [OK]          URL                       1   makeWith.
#   [OK]          URL                       2   makeWith and relative base.
#   [OK]          URL                       3   host.
#   [OK]          URL                       4   hostname.
#   [OK]          URL                       5   setHostname.
#   [OK]          URL                       6   pathname.
#   [OK]          URL                       7   origin.
#   [OK]          URL                       8   href.
#   [OK]          URL                       9   port.
#   [OK]          URL                      10   hash.
#   [OK]          URL                      11   setHash.
#   [OK]          URL                      12   search.
#   [OK]          URL                      13   protocol.
#   [OK]          URL                      14   setProtocol.
#   [OK]          URL                      15   username.
#   [OK]          URL                      16   setUsername.
#   [OK]          URL                      17   password.
#   [OK]          URL                      18   setPassword.
#   [OK]          URL                      19   searchParams.
#   [OK]          URL.SearchParams          0   has.
#   [OK]          URL.SearchParams          1   get.
#   [OK]          URL.SearchParams          2   getAll.
#   [OK]          URL.SearchParams          3   keys.
#   [OK]          URL.SearchParams          4   values.
#   [OK]          URL.SearchParams          5   entries.
#   [OK]          URL.SearchParams          6   toString.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/url/test/_build/_tests/URL'.
# Test Successful in 0.014s. 27 tests run.
# (cd _build/default/packages/Belt/test && ./test.exe)
# Testing `Belt'.
# This run has ID `DFK9I3MU'.
# 
#   [OK]          Records          0   eq.
#   [OK]          Array            0   truncateToLengthUnsafe.
#   [OK]          Array            1   makeUninitializedUnsafe.
#   [OK]          Array            2   length.
#   [OK]          List             0   eq.
#   [OK]          List             1   map.
#   [OK]          List             2   mapU.
#   [OK]          List             3   mapWithIndex.
#   [OK]          List             4   concat.
#   [OK]          Int              0   fromString.
#   [OK]          Int              1   toString.
#   [OK]          Option           0   keep_1.
#   [OK]          Option           1   keep_2.
#   [OK]          Option           2   keep_3.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/Belt/test/_build/_tests/Belt'.
# Test Successful in 0.002s. 14 tests run.
# (cd _build/default/packages/expand-styles-attribute/test && ./test.exe)
# Testing `expand_styles_attribute'.
# This run has ID `6DC7K672'.
# 
#   [OK]          expand_styles_prop_on_attributes               0   
#   [OK]          expand_styles_with_previous_className          0   
#   [OK]          expand_styles_with_previous_style              0   
#   [OK]          expand_styles_optional                         0   
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/expand-styles-attribute/test/_build/_tests/expand_styles_attribute'.
# Test Successful in 0.001s. 4 tests run.
# File "packages/browser-ppx/tests/at_browser_only.t", line 1, characters 0-0:
# /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/packages/browser-ppx/tests/at_browser_only.t _build/default/packages/browser-ppx/tests/at_browser_only.t.corrected
# diff --git a/_build/default/packages/browser-ppx/tests/at_browser_only.t b/_build/default/packages/browser-ppx/tests/at_browser_only.t.corrected
# index 3fb8d6e..1af9596 100644
# --- a/_build/default/packages/browser-ppx/tests/at_browser_only.t
# +++ b/_build/default/packages/browser-ppx/tests/at_browser_only.t.corrected
# @@ -230,7 +230,6 @@ Ppat_constraint
#    let foo ~on:((on [@browser_only]) : unit -> string)
#        ?opt:((opt [@browser_only]) = 42) =
#      0
# - 
#    $ ./standalone.exe -impl input_constr.ml | ocamlformat - --enable-outside-detected-project --impl
#    let foo ~on:_ ?opt:(_ = 42) = 0
#  
# (cd _build/default/packages/Js/test && ./test.exe)
# Testing `Js'.
# This run has ID `65S12KDR'.
# 
#   [OK]          Js.Global                     0   decodeURI - ascii and spaces.
#   [OK]          Js.Global                     1   decodeURI - reserved charac...
#   [OK]          Js.Global                     2   decodeURI - alphabets.
#   [OK]          Js.Global                     3   decodeURI - unicode charact...
#   [OK]          Js.Global                     4   decodeURI - mixed percent e...
#   [OK]          Js.Global                     5   decodeURI - complete URLs.
#   [OK]          Js.Global                     6   decodeURI - overencoded seq...
#   [OK]          Js.Global                     7   decodeURI - special charact...
#   [OK]          Js.Global                     8   decodeURI - beyond U+10FFFF.
#   [OK]          Js.Global                     9   decodeURI - partial sequences.
#   [OK]          Js.Global                    10   encodeURI - ascii and spaces.
#   [OK]          Js.Global                    11   encodeURI - reserved charac...
#   [OK]          Js.Global                    12   encodeURI - alphabets.
#   [OK]          Js.Global                    13   encodeURI - unicode charact...
#   [OK]          Js.Global                    14   encodeURI - complete URLs.
#   [OK]          Js.Global                    15   encodeURI - special charact...
#   [OK]          Js.Global                    16   encodeURI - combining chara...
#   [OK]          Js.Global                    17   encodeURI - Surrogate pairs.
#   [OK]          Js.Global                    18   encodeURIComponent.
#   [OK]          Js.Promise                    0   resolve.
#   [OK]          Js.Promise                    1   all.
#   [OK]          Js.Promise                    2   all_async.
#   [OK]          Js.Promise                    3   race_async.
#   [OK]          Js.Float                      0   string_of_float.
#   [OK]          Js.Float                      1   toString.
#   [OK]          Js.Float                      2   fromString.
#   [OK]          Js.Float                      3   toFixed.
#   [OK]          Js.String                     0   make.
#   [OK]          Js.String                     1   length.
#   [OK]          Js.String                     2   get.
#   [OK]          Js.String                     3   fromCharCode.
#   [OK]          Js.String                     4   fromCharCodeMany.
#   [OK]          Js.String                     5   fromCodePoint.
#   [OK]          Js.String                     6   fromCodePointMany.
#   [OK]          Js.String                     7   charAt.
#   [OK]          Js.String                     8   charCodeAt.
#   [OK]          Js.String                     9   codePointAt.
#   [OK]          Js.String                    10   concat.
#   [OK]          Js.String                    11   concatMany.
#   [OK]          Js.String                    12   endsWith.
#   [OK]          Js.String                    13   includes.
#   [OK]          Js.String                    14   indexOf.
#   [OK]          Js.String                    15   lastIndexOf.
#   [OK]          Js.String                    16   match.
#   [OK]          Js.String                    17   match 0.
#   [OK]          Js.String                    18   repeat.
#   [OK]          Js.String                    19   replace.
#   [OK]          Js.String                    20   replaceByRe.
#   [OK]          Js.String                    21   replaceByRe with references...
#   [OK]          Js.String                    22   replaceByRe with $1 capturi...
#   [OK]          Js.String                    23   replaceByRe with multiple c...
#   [OK]          Js.String                    24   replaceByRe with $&.
#   [OK]          Js.String                    25   replaceByRe with $$.
#   [OK]          Js.String                    26   replaceByRe with global.
#   [OK]          Js.String                    27   unsafeReplaceBy0.
#   [OK]          Js.String                    28   unsafeReplaceBy1.
#   [OK]          Js.String                    29   unsafeReplaceBy2.
#   [OK]          Js.String                    30   search.
#   [OK]          Js.String                    31   slice.
#   [OK]          Js.String                    32   split.
#   [OK]          Js.String                    33   splitAtMost.
#   [OK]          Js.String                    34   splitByRe.
#   [OK]          Js.String                    35   startsWith.
#   [OK]          Js.String                    36   substr.
#   [OK]          Js.String                    37   substrAtMost.
#   [OK]          Js.String                    38   substring.
#   [OK]          Js.String                    39   toLowerCase.
#   [OK]          Js.String                    40   toUpperCase.
#   [OK]          Js.String                    41   trim.
#   [OK]          Js.String                    42   anchor.
#   [OK]          Js.String                    43   link.
#   [OK]          Js.Re                         0   captures.
#   [OK]          Js.Re                         1   exec.
#   [OK]          Js.Re                         2   exec with global.
#   [OK]          Js.Re                         3   modifier: end ($).
#   [OK]          Js.Re                         4   modifier: more than one (+).
#   [OK]          Js.Re                         5   global (g) and caseless (i).
#   [OK]          Js.Re                         6   modifier: or ([]).
#   [OK]          Js.Re                         7   backreferencing.
#   [OK]          Js.Re                         8   http|s example.
#   [OK]          Js.Re                         9   index.
#   [OK]          Js.Re                        10   lastIndex.
#   [OK]          Js.Re                        11   input.
#   [OK]          Js.Dict                       0   empty.
#   [OK]          Js.Dict                       1   get.
#   [OK]          Js.Dict                       2   get from missing property.
#   [OK]          Js.Dict                       3   unsafe_get.
#   [OK]          Js.Dict                       4   set.
#   [OK]          Js.Dict                       5   keys.
#   [OK]          Js.Dict                       6   keys duplicated.
#   [OK]          Js.Dict                       7   entries.
#   [OK]          Js.Dict                       8   values.
#   [OK]          Js.Dict                       9   values duplicated.
#   [OK]          Js.Dict                      10   fromList - [].
#   [OK]          Js.Dict                      11   fromList.
#   [OK]          Js.Dict                      12   fromArray - [].
#   [OK]          Js.Dict                      13   fromArray.
#   [OK]          Js.Dict                      14   map.
#   [OK]          BigInt.Arithmetic             0   add: positive + positive.
#   [OK]          BigInt.Arithmetic             1   add: negative + negative.
#   [OK]          BigInt.Arithmetic             2   add: positive + negative.
#   [OK]          BigInt.Arithmetic             3   add: with zero.
#   [OK]          BigInt.Arithmetic             4   add: large numbers.
#   [OK]          BigInt.Arithmetic             5   sub: positive result.
#   [OK]          BigInt.Arithmetic             6   sub: negative result.
#   [OK]          BigInt.Arithmetic             7   sub: with zero.
#   [OK]          BigInt.Arithmetic             8   sub: self.
#   [OK]          BigInt.Arithmetic             9   mul: positive * positive.
#   [OK]          BigInt.Arithmetic            10   mul: negative * positive.
#   [OK]          BigInt.Arithmetic            11   mul: negative * negative.
#   [OK]          BigInt.Arithmetic            12   mul: with zero.
#   [OK]          BigInt.Arithmetic            13   mul: with one.
#   [OK]          BigInt.Arithmetic            14   mul: 3^100.
#   [OK]          BigInt.Arithmetic            15   div: exact division.
#   [OK]          BigInt.Arithmetic            16   div: truncate positive.
#   [OK]          BigInt.Arithmetic            17   div: truncate negative (tow...
#   [OK]          BigInt.Arithmetic            18   div: negative divisor.
#   [OK]          BigInt.Arithmetic            19   div: both negative.
#   [OK]          BigInt.Arithmetic            20   div: large numbers.
#   [OK]          BigInt.Arithmetic            21   div: large negative.
#   [OK]          BigInt.Arithmetic            22   div: by zero throws.
#   [OK]          BigInt.Arithmetic            23   rem: positive % positive.
#   [OK]          BigInt.Arithmetic            24   rem: negative dividend.
#   [OK]          BigInt.Arithmetic            25   rem: negative divisor.
#   [OK]          BigInt.Arithmetic            26   rem: both negative.
#   [OK]          BigInt.Arithmetic            27   rem: large numbers.
#   [OK]          BigInt.Arithmetic            28   rem: large positive.
#   [OK]          BigInt.Arithmetic            29   rem: by zero throws.
#   [OK]          BigInt.Arithmetic            30   pow: exponent zero.
#   [OK]          BigInt.Arithmetic            31   pow: exponent one.
#   [OK]          BigInt.Arithmetic            32   pow: 2^10.
#   [OK]          BigInt.Arithmetic            33   pow: (-2)^127.
#   [OK]          BigInt.Arithmetic            34   pow: 2^127.
#   [OK]          BigInt.Arithmetic            35   pow: negative exponent throws.
#   [OK]          BigInt.Arithmetic            36   pow: (-256)^11.
#   [OK]          BigInt.Arithmetic            37   pow: 7^20.
#   [OK]          BigInt.Arithmetic            38   neg: positive.
#   [OK]          BigInt.Arithmetic            39   neg: negative.
#   [OK]          BigInt.Arithmetic            40   neg: zero.
#   [OK]          BigInt.Arithmetic            41   abs: positive.
#   [OK]          BigInt.Arithmetic            42   abs: negative.
#   [OK]          BigInt.Arithmetic            43   abs: zero.
#   [OK]          BigInt.Bitwise                0   and: basic.
#   [OK]          BigInt.Bitwise                1   and: with zero.
#   [OK]          BigInt.Bitwise                2   and: with all ones.
#   [OK]          BigInt.Bitwise                3   and: negative (two's comple...
#   [OK]          BigInt.Bitwise                4   or: basic.
#   [OK]          BigInt.Bitwise                5   or: with zero.
#   [OK]          BigInt.Bitwise                6   or: disjoint bits.
#   [OK]          BigInt.Bitwise                7   xor: basic.
#   [OK]          BigInt.Bitwise                8   xor: same value.
#   [OK]          BigInt.Bitwise                9   xor: with zero.
#   [OK]          BigInt.Bitwise               10   not: basic.
#   [OK]          BigInt.Bitwise               11   not: zero.
#   [OK]          BigInt.Bitwise               12   not: -1.
#   [OK]          BigInt.Bitwise               13   not: positive.
#   [OK]          BigInt.Bitwise               14   not: negative.
#   [OK]          BigInt.Bitwise               15   shift_left: basic.
#   [OK]          BigInt.Bitwise               16   shift_left: 1 << 31.
#   [OK]          BigInt.Bitwise               17   shift_left: 1 << 32.
#   [OK]          BigInt.Bitwise               18   shift_left: 1 << 100.
#   [OK]          BigInt.Bitwise               19   shift_left: large number.
#   [OK]          BigInt.Bitwise               20   shift_left: negative number.
#   [OK]          BigInt.Bitwise               21   shift_left: by zero.
#   [OK]          BigInt.Bitwise               22   shift_right: basic.
#   [OK]          BigInt.Bitwise               23   shift_right: large number.
#   [OK]          BigInt.Bitwise               24   shift_right: negative (arit...
#   [OK]          BigInt.Bitwise               25   shift_right: by zero.
#   [OK]          BigInt.Bitwise               26   shift_right: small negative.
#   [OK]          BigInt.Comparison             0   equal: same value.
#   [OK]          BigInt.Comparison             1   equal: different values.
#   [OK]          BigInt.Comparison             2   equal: negative values.
#   [OK]          BigInt.Comparison             3   equal: opposite signs.
#   [OK]          BigInt.Comparison             4   equal: zeros.
#   [OK]          BigInt.Comparison             5   equal: large same.
#   [OK]          BigInt.Comparison             6   equal: large different.
#   [OK]          BigInt.Comparison             7   compare: less.
#   [OK]          BigInt.Comparison             8   compare: greater.
#   [OK]          BigInt.Comparison             9   compare: equal.
#   [OK]          BigInt.Comparison            10   compare: negative.
#   [OK]          BigInt.Comparison            11   compare: mixed sign.
#   [OK]          BigInt.Comparison            12   lt: true.
#   [OK]          BigInt.Comparison            13   lt: false (greater).
#   [OK]          BigInt.Comparison            14   lt: false (equal).
#   [OK]          BigInt.Comparison            15   lt: negative.
#   [OK]          BigInt.Comparison            16   le: true (less).
#   [OK]          BigInt.Comparison            17   le: true (equal).
#   [OK]          BigInt.Comparison            18   le: false.
#   [OK]          BigInt.Comparison            19   gt: true.
#   [OK]          BigInt.Comparison            20   gt: false (less).
#   [OK]          BigInt.Comparison            21   gt: false (equal).
#   [OK]          BigInt.Comparison            22   ge: true (greater).
#   [OK]          BigInt.Comparison            23   ge: true (equal).
#   [OK]          BigInt.Comparison            24   ge: false.
#   [OK]          BigInt.Constructor            0   from_string: empty string r...
#   [OK]          BigInt.Constructor            1   from_string: zero.
#   [OK]          BigInt.Constructor            2   from_string: positive decimal.
#   [OK]          BigInt.Constructor            3   from_string: negative decimal.
#   [OK]          BigInt.Constructor            4   from_string: positive sign.
#   [OK]          BigInt.Constructor            5   from_string: large number.
#   [OK]          BigInt.Constructor            6   from_string: very large num...
#   [OK]          BigInt.Constructor            7   from_string: leading whites...
#   [OK]          BigInt.Constructor            8   from_string: trailing white...
#   [OK]          BigInt.Constructor            9   from_string: both whitespace.
#   [OK]          BigInt.Constructor           10   from_string: tabs.
#   [OK]          BigInt.Constructor           11   from_string: newlines.
#   [OK]          BigInt.Constructor           12   from_string: hex lowercase.
#   [OK]          BigInt.Constructor           13   from_string: hex uppercase.
#   [OK]          BigInt.Constructor           14   from_string: hex large.
#   [OK]          BigInt.Constructor           15   from_string: hex negative.
#   [OK]          BigInt.Constructor           16   from_string: binary lowercase.
#   [OK]          BigInt.Constructor           17   from_string: binary uppercase.
#   [OK]          BigInt.Constructor           18   from_string: octal lowercase.
#   [OK]          BigInt.Constructor           19   from_string: octal uppercase.
#   [OK]          BigInt.Constructor           20   from_string: sign only throws.
#   [OK]          BigInt.Constructor           21   from_string: trailing chars...
#   [OK]          BigInt.Constructor           22   from_string: null char throws.
#   [OK]          BigInt.Constructor           23   from_string: decimal point ...
#   [OK]          BigInt.Constructor           24   from_string: float notation...
#   [OK]          BigInt.Constructor           25   from_int: zero.
#   [OK]          BigInt.Constructor           26   from_int: positive.
#   [OK]          BigInt.Constructor           27   from_int: negative.
#   [OK]          BigInt.Constructor           28   from_int: max_int.
#   [OK]          BigInt.Constructor           29   from_int: min_int.
#   [OK]          BigInt.Constructor           30   from_int64: large positive.
#   [OK]          BigInt.Constructor           31   from_int64: large negative.
#   [OK]          BigInt.Conversion             0   toString: zero.
#   [OK]          BigInt.Conversion             1   toString: positive.
#   [OK]          BigInt.Conversion             2   toString: negative.
#   [OK]          BigInt.Conversion             3   toString: large (1 << 100).
#   [OK]          BigInt.Conversion             4   toString: radix 2.
#   [OK]          BigInt.Conversion             5   toString: radix 8.
#   [OK]          BigInt.Conversion             6   toString: radix 16.
#   [OK]          BigInt.Conversion             7   toString: radix 36.
#   [OK]          BigInt.Conversion             8   toString: radix 16 large.
#   [OK]          BigInt.Conversion             9   toFloat: small.
#   [OK]          BigInt.Conversion            10   toFloat: negative.
#   [OK]          BigInt.Conversion            11   toFloat: zero.
#   [OK]          BigInt.Conversion            12   toFloat: MAX_SAFE_INTEGER.
#   [OK]          BigInt.Conversion            13   toFloat: large (0xfffffffff...
#   [OK]          BigInt.Conversion            14   toFloat: large negative.
#   [OK]          BigInt.Conversion            15   asIntN: positive fits.
#   [OK]          BigInt.Conversion            16   asIntN: positive wraps.
#   [OK]          BigInt.Conversion            17   asIntN: 255 -> -1.
#   [OK]          BigInt.Conversion            18   asIntN: negative fits.
#   [OK]          BigInt.Conversion            19   asIntN: negative wraps.
#   [OK]          BigInt.Conversion            20   asIntN: 64 bits.
#   [OK]          BigInt.Conversion            21   asUintN: fits.
#   [OK]          BigInt.Conversion            22   asUintN: wraps to 0.
#   [OK]          BigInt.Conversion            23   asUintN: wraps to 1.
#   [OK]          BigInt.Conversion            24   asUintN: negative wraps.
#   [OK]          BigInt.Conversion            25   asUintN: 64 bits.
#   [OK]          BigInt.AsIntN                 0   asIntN 0 bits.
#   [OK]          BigInt.AsIntN                 1   asIntN 1 bit.
#   [OK]          BigInt.AsIntN                 2   asIntN 8 bit.
#   [OK]          BigInt.AsIntN                 3   asIntN 16 bit.
#   [OK]          BigInt.AsIntN                 4   asIntN 32 bit.
#   [OK]          BigInt.AsIntN                 5   asIntN 64 bit.
#   [OK]          BigInt.AsIntN                 6   asIntN preserves small posi...
#   [OK]          BigInt.AsIntN                 7   asIntN preserves small nega...
#   [OK]          BigInt.AsIntN                 8   asIntN wrapping.
#   [OK]          BigInt.AsIntN                 9   asIntN large bits.
#   [OK]          BigInt.AsIntN                10   asIntN negative input.
#   [OK]          BigInt.AsIntN                11   asIntN 2-bit boundary.
#   [OK]          BigInt.AsIntN                12   asIntN 3-bit boundary.
#   [OK]          BigInt.AsIntN                13   asIntN 4-bit boundary.
#   [OK]          BigInt.AsIntN                14   asIntN identity for zero.
#   [OK]          BigInt.AsIntN                15   asIntN minus one.
#   [OK]          BigInt.AsUintN                0   asUintN 0 bits.
#   [OK]          BigInt.AsUintN                1   asUintN 1 bit.
#   [OK]          BigInt.AsUintN                2   asUintN 8 bit.
#   [OK]          BigInt.AsUintN                3   asUintN 16 bit.
#   [OK]          BigInt.AsUintN                4   asUintN 32 bit.
#   [OK]          BigInt.AsUintN                5   asUintN 64 bit.
#   [OK]          BigInt.AsUintN                6   asUintN preserves small val...
#   [OK]          BigInt.AsUintN                7   asUintN wrapping.
#   [OK]          BigInt.AsUintN                8   asUintN large bits.
#   [OK]          BigInt.AsUintN                9   asUintN negative becomes po...
#   [OK]          BigInt.AsUintN               10   asUintN 2-bit boundary.
#   [OK]          BigInt.AsUintN               11   asUintN 3-bit boundary.
#   [OK]          BigInt.AsUintN               12   asUintN 4-bit boundary.
#   [OK]          BigInt.AsUintN               13   asUintN identity for zero.
#   [OK]          BigInt.AsUintN               14   asUintN one.
#   [OK]          BigInt.AsUintN               15   asUintN power of two.
#   [OK]          BigInt.AsUintN               16   asUintN power of two minus ...
#   [OK]          BigInt.Prototype              0   toString default radix.
#   [OK]          BigInt.Prototype              1   toString radix 2 (binary).
#   [OK]          BigInt.Prototype              2   toString radix 8 (octal).
#   [OK]          BigInt.Prototype              3   toString radix 10 (decimal).
#   [OK]          BigInt.Prototype              4   toString radix 16 (hex).
#   [OK]          BigInt.Prototype              5   toString radix 36 (max).
#   [OK]          BigInt.Prototype              6   toString various radixes.
#   [OK]          BigInt.Prototype              7   toString large numbers.
#   [OK]          BigInt.Prototype              8   toString negative large.
#   [OK]          BigInt.Prototype              9   toString zero all radixes.
#   [OK]          BigInt.Prototype             10   to_float small.
#   [OK]          BigInt.Prototype             11   to_float large.
#   [OK]          BigInt.Prototype             12   to_float very large.
#   [OK]          BigInt.Prototype             13   of_string edge cases.
#   [OK]          BigInt.Prototype             14   of_string hex.
#   [OK]          BigInt.Prototype             15   of_string binary.
#   [OK]          BigInt.Prototype             16   of_string octal.
#   [OK]          BigInt.Prototype             17   compare equal.
#   [OK]          BigInt.Prototype             18   compare less.
#   [OK]          BigInt.Prototype             19   compare greater.
#   [OK]          BigInt.Prototype             20   compare negative.
#   [OK]          BigInt.Prototype             21   compare large.
#   [OK]          Date.Getters                  0   getTime returns epoch ms.
#   [OK]          Date.Getters                  1   getTime NaN for invalid date.
#   [OK]          Date.Getters                  2   getUTCFullYear.
#   [OK]          Date.Getters                  3   getUTCMonth.
#   [OK]          Date.Getters                  4   getUTCDate.
#   [OK]          Date.Getters                  5   getUTCDay.
#   [OK]          Date.Getters                  6   getUTCHours.
#   [OK]          Date.Getters                  7   getUTCMinutes.
#   [OK]          Date.Getters                  8   getUTCSeconds.
#   [OK]          Date.Getters                  9   getUTCMilliseconds.
#   [OK]          Date.Getters                 10   UTC getters at epoch.
#   [OK]          Date.Getters                 11   UTC getters before epoch.
#   [OK]          Date.Getters                 12   UTC getters at Y2K.
#   [OK]          Date.Getters                 13   UTC getters on leap day.
#   [OK]          Date.Getters                 14   getUTCFullYear NaN.
#   [OK]          Date.Getters                 15   getUTCMonth NaN.
#   [OK]          Date.Getters                 16   getUTCDate NaN.
#   [OK]          Date.Getters                 17   getUTCDay NaN.
#   [OK]          Date.Getters                 18   getUTCHours NaN.
#   [OK]          Date.Getters                 19   getUTCMinutes NaN.
#   [OK]          Date.Getters                 20   getUTCSeconds NaN.
#   [OK]          Date.Getters                 21   getUTCMilliseconds NaN.
#   [OK]          Date.Getters                 22   new year transition.
#   [OK]          Date.Getters                 23   month lengths.
#   [OK]          Date.LocalGetters             0   getTime basic.
#   [OK]          Date.LocalGetters             1   getTime epoch.
#   [OK]          Date.LocalGetters             2   getTime negative.
#   [OK]          Date.LocalGetters             3   getTime NaN.
#   [OK]          Date.LocalGetters             4   valueOf basic.
#   [OK]          Date.LocalGetters             5   valueOf epoch.
#   [OK]          Date.LocalGetters             6   valueOf NaN.
#   [OK]          Date.LocalGetters             7   valueOf equals getTime.
#   [OK]          Date.LocalGetters             8   getUTCFullYear 2017.
#   [OK]          Date.LocalGetters             9   getUTCFullYear 1970 (epoch).
#   [OK]          Date.LocalGetters            10   getUTCFullYear 1969.
#   [OK]          Date.LocalGetters            11   getUTCFullYear NaN.
#   [OK]          Date.LocalGetters            12   getUTCFullYear Y2K.
#   [OK]          Date.LocalGetters            13   getUTCFullYear leap year.
#   [OK]          Date.LocalGetters            14   getUTCMonth January (0).
#   [OK]          Date.LocalGetters            15   getUTCMonth December (11).
#   [OK]          Date.LocalGetters            16   getUTCMonth NaN.
#   [OK]          Date.LocalGetters            17   getUTCMonth epoch.
#   [OK]          Date.LocalGetters            18   getUTCDate first.
#   [OK]          Date.LocalGetters            19   getUTCDate 31st.
#   [OK]          Date.LocalGetters            20   getUTCDate NaN.
#   [OK]          Date.LocalGetters            21   getUTCDate epoch.
#   [OK]          Date.LocalGetters            22   getUTCDay Thursday (epoch).
#   [OK]          Date.LocalGetters            23   getUTCDay Sunday.
#   [OK]          Date.LocalGetters            24   getUTCDay Saturday.
#   [OK]          Date.LocalGetters            25   getUTCDay NaN.
#   [OK]          Date.LocalGetters            26   getUTCHours zero.
#   [OK]          Date.LocalGetters            27   getUTCHours 23.
#   [OK]          Date.LocalGetters            28   getUTCHours NaN.
#   [OK]          Date.LocalGetters            29   getUTCHours epoch.
#   [OK]          Date.LocalGetters            30   getUTCMinutes zero.
#   [OK]          Date.LocalGetters            31   getUTCMinutes 59.
#   [OK]          Date.LocalGetters            32   getUTCMinutes NaN.
#   [OK]          Date.LocalGetters            33   getUTCSeconds zero.
#   [OK]          Date.LocalGetters            34   getUTCSeconds 59.
#   [OK]          Date.LocalGetters            35   getUTCSeconds NaN.
#   [OK]          Date.LocalGetters            36   getUTCMilliseconds zero.
#   [OK]          Date.LocalGetters            37   getUTCMilliseconds 999.
#   [OK]          Date.LocalGetters            38   getUTCMilliseconds NaN.
#   [OK]          Date.LocalGetters            39   getUTCMilliseconds middle.
#   [OK]          Date.LocalGetters            40   getTimezoneOffset returns n...
#   [OK]          Date.LocalGetters            41   getTimezoneOffset NaN.
#   [OK]          Date.LocalGetters            42   getTimezoneOffset in valid ...
#   [OK]          Date.LocalGetters            43   local getters consistent.
#   [OK]          Date.LocalGetters            44   local getters NaN.
#   [OK]          Date.LocalGetters            45   getDay range 0-6.
#   [OK]          Date.LocalGetters            46   getters large positive date.
#   [OK]          Date.LocalGetters            47   getters large negative date.
#   [OK]          Date.LocalGetters            48   getters boundary milliseconds.
#   [OK]          Date.Setters                  0   setTime basic.
#   [OK]          Date.Setters                  1   setTime epoch.
#   [OK]          Date.Setters                  2   setTime negative.
#   [OK]          Date.Setters                  3   setTime NaN value.
#   [OK]          Date.Setters                  4   setTime on NaN date.
#   [OK]          Date.Setters                  5   setUTCMilliseconds basic.
#   [OK]          Date.Setters                  6   setUTCMilliseconds overflow.
#   [OK]          Date.Setters                  7   setUTCMilliseconds negative.
#   [OK]          Date.Setters                  8   setUTCMilliseconds NaN.
#   [OK]          Date.Setters                  9   setUTCSeconds basic.
#   [OK]          Date.Setters                 10   setUTCSeconds overflow.
#   [OK]          Date.Setters                 11   setUTCSeconds with ms.
#   [OK]          Date.Setters                 12   setUTCSeconds NaN.
#   [OK]          Date.Setters                 13   setUTCMinutes basic.
#   [OK]          Date.Setters                 14   setUTCMinutes overflow.
#   [OK]          Date.Setters                 15   setUTCMinutes with seconds.
#   [OK]          Date.Setters                 16   setUTCMinutes with seconds ...
#   [OK]          Date.Setters                 17   setUTCMinutes NaN.
#   [OK]          Date.Setters                 18   setUTCHours basic.
#   [OK]          Date.Setters                 19   setUTCHours overflow.
#   [OK]          Date.Setters                 20   setUTCHours with minutes.
#   [OK]          Date.Setters                 21   setUTCHours with minutes an...
#   [OK]          Date.Setters                 22   setUTCHours all components.
#   [OK]          Date.Setters                 23   setUTCHours NaN.
#   [OK]          Date.Setters                 24   setUTCDate basic.
#   [OK]          Date.Setters                 25   setUTCDate overflow.
#   [OK]          Date.Setters                 26   setUTCDate zero.
#   [OK]          Date.Setters                 27   setUTCDate negative.
#   [OK]          Date.Setters                 28   setUTCDate NaN.
#   [OK]          Date.Setters                 29   setUTCMonth basic.
#   [OK]          Date.Setters                 30   setUTCMonth overflow.
#   [OK]          Date.Setters                 31   setUTCMonth negative.
#   [OK]          Date.Setters                 32   setUTCMonth with date.
#   [OK]          Date.Setters                 33   setUTCMonth NaN.
#   [OK]          Date.Setters                 34   setUTCFullYear basic.
#   [OK]          Date.Setters                 35   setUTCFullYear with month.
#   [OK]          Date.Setters                 36   setUTCFullYear with month a...
#   [OK]          Date.Setters                 37   setUTCFullYear leap to non-...
#   [OK]          Date.Setters                 38   setUTCFullYear NaN.
#   [OK]          Date.Setters                 39   setMilliseconds basic.
#   [OK]          Date.Setters                 40   setSeconds basic.
#   [OK]          Date.Setters                 41   setMinutes basic.
#   [OK]          Date.Setters                 42   setHours basic.
#   [OK]          Date.Setters                 43   setDate basic.
#   [OK]          Date.Setters                 44   setMonth basic.
#   [OK]          Date.Setters                 45   setFullYear basic.
#   [OK]          Date.Setters                 46   setSeconds with ms.
#   [OK]          Date.Setters                 47   setMinutes with seconds.
#   [OK]          Date.Setters                 48   setMinutes with seconds and...
#   [OK]          Date.Setters                 49   setHours with minutes.
#   [OK]          Date.Setters                 50   setHours with minutes and s...
#   [OK]          Date.Setters                 51   setHours all components.
#   [OK]          Date.Setters                 52   setMonth with date.
#   [OK]          Date.Setters                 53   setFullYear with month.
#   [OK]          Date.Setters                 54   setFullYear with month and ...
#   [OK]          Date.Setters                 55   setMilliseconds NaN.
#   [OK]          Date.Setters                 56   setSeconds NaN.
#   [OK]          Date.Setters                 57   setMinutes NaN.
#   [OK]          Date.Setters                 58   setHours NaN.
#   [OK]          Date.Setters                 59   setDate NaN.
#   [OK]          Date.Setters                 60   setMonth NaN.
#   [OK]          Date.Setters                 61   setFullYear NaN.
#   [OK]          Date.ToString                 0   toUTCString basic.
#   [OK]          Date.ToString                 1   toUTCString epoch.
#   [OK]          Date.ToString                 2   toUTCString format.
#   [OK]          Date.ToString                 3   toUTCString NaN.
#   [OK]          Date.ToString                 4   toUTCString negative year.
#   [OK]          Date.ToString                 5   toUTCString all months.
#   [OK]          Date.ToString                 6   toUTCString day names.
#   [OK]          Date.ToString                 7   toDateString basic.
#   [OK]          Date.ToString                 8   toDateString epoch.
#   [OK]          Date.ToString                 9   toDateString NaN.
#   [OK]          Date.ToString                10   toDateString no time.
#   [OK]          Date.ToString                11   toTimeString basic.
#   [OK]          Date.ToString                12   toTimeString epoch.
#   [OK]          Date.ToString                13   toTimeString NaN.
#   [OK]          Date.ToString                14   toTimeString contains time.
#   [OK]          Date.ToString                15   toString basic.
#   [OK]          Date.ToString                16   toString epoch.
#   [OK]          Date.ToString                17   toString NaN.
#   [OK]          Date.ToString                18   toString contains date and ...
#   [OK]          Date.ToString                19   toString contains year.
#   [OK]          Date.ToString                20   toJSON basic.
#   [OK]          Date.ToString                21   toJSON NaN.
#   [OK]          Date.ToString                22   toJSONUnsafe basic.
#   [OK]          Date.ToString                23   toLocaleString basic.
#   [OK]          Date.ToString                24   toLocaleString NaN.
#   [OK]          Date.ToString                25   toLocaleDateString basic.
#   [OK]          Date.ToString                26   toLocaleDateString NaN.
#   [OK]          Date.ToString                27   toLocaleTimeString basic.
#   [OK]          Date.ToString                28   toLocaleTimeString NaN.
#   [OK]          Date.ToString                29   toString large year.
#   [OK]          Date.ToString                30   toString negative year.
#   [OK]          Date.ToString                31   toUTCString Y2K.
#   [OK]          Date.Now                      0   now returns finite number.
#   [OK]          Date.Now                      1   now returns positive.
#   [OK]          Date.Now                      2   now is recent (after 2020).
#   [OK]          Date.Now                      3   now is monotonic.
#   [OK]          Date.Now                      4   now returns integer ms.
#   [OK]          Date.Parse                    0   empty string returns NaN.
#   [OK]          Date.Parse                    1   year only: 2000.
#   [OK]          Date.Parse                    2   year-month: 2000-01.
#   [OK]          Date.Parse                    3   full date: 2000-01-01.
#   [OK]          Date.Parse                    4   date with time UTC: 2000-01...
#   [OK]          Date.Parse                    5   date with seconds: 2000-01-...
#   [OK]          Date.Parse                    6   milliseconds .1Z = 100ms.
#   [OK]          Date.Parse                    7   milliseconds .10Z = 100ms.
#   [OK]          Date.Parse                    8   milliseconds .100Z = 100ms.
#   [OK]          Date.Parse                    9   milliseconds .1000Z = 100ms.
#   [OK]          Date.Parse                   10   timezone offset +00:00.
#   [OK]          Date.Parse                   11   known ISO timestamp.
#   [OK]          Date.Parse                   12   roundtrip parsing.
#   [OK]          Date.Parse                   13   millis: single digit .1.
#   [OK]          Date.Parse                   14   millis: two digits .12.
#   [OK]          Date.Parse                   15   millis: four digits .1234 t...
#   [OK]          Date.Parse                   16   millis: many digits .9999 t...
#   [OK]          Date.Parse                   17   expanded year +002000.
#   [OK]          Date.Parse                   18   expanded year -000001.
#   [OK]          Date.Parse                   19   expanded year -000000 is in...
#   [OK]          Date.Parse                   20   month name format: Jan 1 2000.
#   [OK]          Date.Parse                   21   with weekday: Sat Jan 1 2000.
#   [OK]          Date.Parse                   22   timezone GMT+0100.
#   [OK]          Date.Parse                   23   timezone GMT+0200.
#   [OK]          Date.Parse                   24   invalid: gibberish.
#   [OK]          Date.Parse                   25   invalid: partial 2000-.
#   [OK]          Date.Parse                   26   invalid: month 13.
#   [OK]          Date.Parse                   27   invalid: day 32.
#   [OK]          Date.Parse                   28   invalid: hour 25.
#   [OK]          Date.Parse                   29   invalid: minute 60.
#   [OK]          Date.Parse                   30   invalid: second 60.
#   [OK]          Date.ToISOString              0   known timestamp.
#   [OK]          Date.ToISOString              1   epoch.
#   [OK]          Date.ToISOString              2   Y2K.
#   [OK]          Date.ToISOString              3   with milliseconds.
#   [OK]          Date.ToISOString              4   millis: 000.
#   [OK]          Date.ToISOString              5   millis: 001.
#   [OK]          Date.ToISOString              6   millis: 010.
#   [OK]          Date.ToISOString              7   millis: 100.
#   [OK]          Date.ToISOString              8   millis: 999.
#   [OK]          Date.ToISOString              9   single digit month padded.
#   [OK]          Date.ToISOString             10   single digit day padded.
#   [OK]          Date.ToISOString             11   single digit hour padded.
#   [OK]          Date.ToISOString             12   before epoch -1ms.
#   [OK]          Date.ToISOString             13   1969 Jan.
#   [OK]          Date.ToISOString             14   year 0.
#   [OK]          Date.ToISOString             15   negative year.
#   [OK]          Date.ToISOString             16   year 10000.
#   [OK]          Date.ToISOString             17   roundtrip known timestamp.
#   [OK]          Date.ToISOString             18   roundtrip epoch.
#   [OK]          Date.ToISOString             19   roundtrip before epoch.
#   [OK]          Date.ToISOString             20   QJS: 2020-01-01T01:01:01.123Z.
#   [OK]          Date.ToISOString             21   QJS: .1Z -> .100Z.
#   [OK]          Date.ToISOString             22   QJS: .12Z -> .120Z.
#   [OK]          Date.UTC                      0   UTC year only.
#   [OK]          Date.UTC                      1   UTC year and month.
#   [OK]          Date.UTC                      2   UTC year, month, day.
#   [OK]          Date.UTC                      3   UTC with hours.
#   [OK]          Date.UTC                      4   UTC with minutes.
#   [OK]          Date.UTC                      5   UTC with seconds.
#   [OK]          Date.UTC                      6   UTC with milliseconds.
#   [OK]          Date.UTC                      7   UTC NaN year.
#   [OK]          Date.UTC                      8   UTC NaN month.
#   [OK]          Date.UTC                      9   UTC NaN day.
#   [OK]          Date.UTC                     10   UTC NaN hours.
#   [OK]          Date.UTC                     11   UTC NaN minutes.
#   [OK]          Date.UTC                     12   UTC NaN seconds.
#   [OK]          Date.UTC                     13   UTC NaN ms.
#   [OK]          Date.UTC                     14   UTC Unix epoch.
#   [OK]          Date.UTC                     15   UTC before epoch.
#   [OK]          Date.UTC                     16   UTC Y2K.
#   [OK]          Date.UTC                     17   UTC year 0 -> 1900.
#   [OK]          Date.UTC                     18   UTC year 99 -> 1999.
#   [OK]          Date.UTC                     19   UTC year 100 stays 100.
#   [OK]          Date.UTC                     20   UTC month 12 = January next...
#   [OK]          Date.UTC                     21   UTC month -1 = December pre...
#   [OK]          Date.UTC                     22   UTC day 32 Jan = Feb 1.
#   [OK]          Date.UTC                     23   UTC day 0 = last day prev m...
#   [OK]          Date.UTC                     24   UTC day -1 = second-to-last...
#   [OK]          Date.UTC                     25   UTC leap year Feb 29 valid.
#   [OK]          Date.UTC                     26   UTC non-leap Feb 29 = Mar 1.
#   [OK]          Date.UTC                     27   UTC 2000 is leap year.
#   [OK]          Date.UTC                     28   UTC 1900 is NOT leap year.
#   [OK]          Date.UTC                     29   UTC large day offset.
#   [OK]          Date.UTC                     30   UTC large minute offset.
#   [OK]          Date.UTC                     31   UTC large second offset.
#   [OK]          Date.UTC                     32   UTC large ms offset.
#   [OK]          Number.IsFinite               0   infinity: positive Infinity...
#   [OK]          Number.IsFinite               1   negative_infinity: negative...
#   [OK]          Number.IsFinite               2   nan: NaN returns false.
#   [OK]          Number.IsFinite               3   nan_from_operations: NaN fr...
#   [OK]          Number.IsFinite               4   finite_numbers: zeros.
#   [OK]          Number.IsFinite               5   finite_numbers: positive in...
#   [OK]          Number.IsFinite               6   finite_numbers: negative in...
#   [OK]          Number.IsFinite               7   finite_numbers: decimals.
#   [OK]          Number.IsFinite               8   finite_numbers: MAX/MIN_VALUE.
#   [OK]          Number.IsFinite               9   finite_numbers: safe intege...
#   [OK]          Number.IsFinite              10   finite_numbers: epsilon.
#   [OK]          Number.IsFinite              11   finite_numbers: very small.
#   [OK]          Number.IsFinite              12   finite_numbers: very large.
#   [OK]          Number.IsInteger              0   integers: zeros.
#   [OK]          Number.IsInteger              1   integers: positive.
#   [OK]          Number.IsInteger              2   integers: negative.
#   [OK]          Number.IsInteger              3   integers: large.
#   [OK]          Number.IsInteger              4   integers: decimal zero frac...
#   [OK]          Number.IsInteger              5   non_integers: decimals.
#   [OK]          Number.IsInteger              6   non_integers: small fractions.
#   [OK]          Number.IsInteger              7   special: NaN.
#   [OK]          Number.IsInteger              8   special: Infinity.
#   [OK]          Number.IsInteger              9   edge: MAX_VALUE is integer.
#   [OK]          Number.IsInteger             10   edge: MIN_VALUE is not inte...
#   [OK]          Number.IsInteger             11   edge: epsilon is not integer.
#   [OK]          Number.IsInteger             12   edge: powers of two.
#   [OK]          Number.IsInteger             13   edge: scientific notation.
#   [OK]          Number.IsNaN                  0   nan_value: NaN returns true.
#   [OK]          Number.IsNaN                  1   nan_from_operation: NaN fro...
#   [OK]          Number.IsNaN                  2   nan_from_parseInt: NaN from...
#   [OK]          Number.IsNaN                  3   nan_from_parseFloat: NaN fr...
#   [OK]          Number.IsNaN                  4   finite_numbers: finite numb...
#   [OK]          Number.IsNaN                  5   zero_values: zeros return f...
#   [OK]          Number.IsNaN                  6   infinity_values: Infinity r...
#   [OK]          Number.IsNaN                  7   max_min_values: extreme val...
#   [OK]          Number.IsNaN                  8   epsilon_value: epsilon retu...
#   [OK]          Number.ParseFloat             0   S15.1.2.3_A1_T1: empty stri...
#   [OK]          Number.ParseFloat             1   S15.1.2.3_A1_T2: simple int...
#   [OK]          Number.ParseFloat             2   S15.1.2.3_A1_T3: non-numeri...
#   [OK]          Number.ParseFloat             3   S15.1.2.3_A1_T4: decimal nu...
#   [OK]          Number.ParseFloat             4   S15.1.2.3_A1_T5: stops at i...
#   [OK]          Number.ParseFloat             5   S15.1.2.3_A1_T6: whitespace...
#   [OK]          Number.ParseFloat             6   S15.1.2.3_A1_T7: invalid st...
#   [OK]          Number.ParseFloat             7   S15.1.2.3_A2_T1: leading sp...
#   [OK]          Number.ParseFloat             8   S15.1.2.3_A2_T2: leading tabs.
#   [OK]          Number.ParseFloat             9   S15.1.2.3_A2_T3: leading ne...
#   [OK]          Number.ParseFloat            10   S15.1.2.3_A2_T4: leading ca...
#   [OK]          Number.ParseFloat            11   S15.1.2.3_A2_T5: leading fo...
#   [OK]          Number.ParseFloat            12   S15.1.2.3_A2_T6: leading ve...
#   [OK]          Number.ParseFloat            13   S15.1.2.3_A2_T7: mixed whit...
#   [OK]          Number.ParseFloat            14   S15.1.2.3_A2_T8: non-breaki...
#   [OK]          Number.ParseFloat            15   S15.1.2.3_A2_T9: trailing c...
#   [OK]          Number.ParseFloat            16   S15.1.2.3_A2_T10: whitespac...
#   [OK]          Number.ParseFloat            17   S15.1.2.3_A3_T1: positive s...
#   [OK]          Number.ParseFloat            18   S15.1.2.3_A3_T2: negative s...
#   [OK]          Number.ParseFloat            19   S15.1.2.3_A3_T3: sign with ...
#   [OK]          Number.ParseFloat            20   S15.1.2.3_A4_T1: basic expo...
#   [OK]          Number.ParseFloat            21   S15.1.2.3_A4_T2: uppercase E.
#   [OK]          Number.ParseFloat            22   S15.1.2.3_A4_T3: negative e...
#   [OK]          Number.ParseFloat            23   S15.1.2.3_A4_T4: positive e...
#   [OK]          Number.ParseFloat            24   S15.1.2.3_A4_T5: decimal wi...
#   [OK]          Number.ParseFloat            25   S15.1.2.3_A4_T6: incomplete...
#   [OK]          Number.ParseFloat            26   S15.1.2.3_A4_T7: very large...
#   [OK]          Number.ParseFloat            27   S15.1.2.3_A5_T1: Infinity s...
#   [OK]          Number.ParseFloat            28   S15.1.2.3_A5_T2: signed Inf...
#   [OK]          Number.ParseFloat            29   S15.1.2.3_A5_T3: Infinity w...
#   [OK]          Number.ParseFloat            30   S15.1.2.3_A5_T4: Infinity w...
#   [OK]          Number.ParseFloat            31   S15.1.2.3_A6: multiple deci...
#   [OK]          Number.ParseFloat            32   S15.1.2.3_A7.5: leading dec...
#   [OK]          Number.ParseFloat            33   S15.1.2.3_A7.6: trailing de...
#   [OK]          Number.ParseFloat            34   S15.1.2.3_A7.7: decimal wit...
#   [OK]          Number.ParseFloat            35   misc_t1: hex not supported.
#   [OK]          Number.ParseFloat            36   misc_t2: binary/octal not s...
#   [OK]          Number.ParseFloat            37   misc_t3: leading zeros.
#   [OK]          Number.ParseFloat            38   misc_t4: NaN string.
#   [OK]          Number.ParseFloat            39   misc_t5: sign edge cases.
#   [OK]          Number.ParseFloat            40   misc_t6: very small numbers.
#   [OK]          Number.ParseFloat            41   misc_t7: negative zero.
#   [OK]          Number.ParseFloat            42   misc_t8: precision loss.
#   [OK]          Number.ParseFloat            43   misc_t9: exponent without m...
#   [OK]          Number.ParseFloat            44   misc_t10: comprehensive whi...
#   [OK]          Number.ParseFloat            45   misc_t11: Infinity case sen...
#   [OK]          Number.ParseFloat            46   misc_t12: sign with decimal...
#   [OK]          Number.ParseFloat            47   misc_t13: multiple e.
#   [OK]          Number.ParseFloat            48   misc_t14: exponent with dec...
#   [OK]          Number.ParseInt               0   S15.1.2.2_A1_T1: empty stri...
#   [OK]          Number.ParseInt               1   S15.1.2.2_A1_T2: whitespace...
#   [OK]          Number.ParseInt               2   S15.1.2.2_A1_T3: non-numeri...
#   [OK]          Number.ParseInt               3   S15.1.2.2_A1_T4: invalid st...
#   [OK]          Number.ParseInt               4   S15.1.2.2_A1_T5: sign only ...
#   [OK]          Number.ParseInt               5   S15.1.2.2_A1_T6: stops at i...
#   [OK]          Number.ParseInt               6   S15.1.2.2_A1_T7: NaN/Infini...
#   [OK]          Number.ParseInt               7   S15.1.2.2_A2_T1: leading sp...
#   [OK]          Number.ParseInt               8   S15.1.2.2_A2_T2: leading tabs.
#   [OK]          Number.ParseInt               9   S15.1.2.2_A2_T3: leading ne...
#   [OK]          Number.ParseInt              10   S15.1.2.2_A2_T4: leading ca...
#   [OK]          Number.ParseInt              11   S15.1.2.2_A2_T5: leading fo...
#   [OK]          Number.ParseInt              12   S15.1.2.2_A2_T6: leading ve...
#   [OK]          Number.ParseInt              13   S15.1.2.2_A2_T7: mixed whit...
#   [OK]          Number.ParseInt              14   S15.1.2.2_A2_T8: non-breaki...
#   [OK]          Number.ParseInt              15   S15.1.2.2_A2_T9: trailing w...
#   [OK]          Number.ParseInt              16   S15.1.2.2_A2_T10: whitespac...
#   [OK]          Number.ParseInt              17   S15.1.2.2_A3.1_T1: positive...
#   [OK]          Number.ParseInt              18   S15.1.2.2_A3.1_T2: negative...
#   [OK]          Number.ParseInt              19   S15.1.2.2_A3.1_T3: sign wit...
#   [OK]          Number.ParseInt              20   S15.1.2.2_A3.1_T4: multiple...
#   [OK]          Number.ParseInt              21   S15.1.2.2_A3.1_T5: sign wit...
#   [OK]          Number.ParseInt              22   S15.1.2.2_A3.1_T6: sign wit...
#   [OK]          Number.ParseInt              23   S15.1.2.2_A3.1_T7: sign alone.
#   [OK]          Number.ParseInt              24   S15.1.2.2_A3.2_T1: negative...
#   [OK]          Number.ParseInt              25   S15.1.2.2_A3.2_T2: negative...
#   [OK]          Number.ParseInt              26   S15.1.2.2_A3.2_T3: negative...
#   [OK]          Number.ParseInt              27   S15.1.2.2_A4.1_T1: radix 2.
#   [OK]          Number.ParseInt              28   S15.1.2.2_A4.1_T2: radix 8.
#   [OK]          Number.ParseInt              29   S15.1.2.2_A4.2_T1: radix 16.
#   [OK]          Number.ParseInt              30   S15.1.2.2_A4.2_T2: radix 36.
#   [OK]          Number.ParseInt              31   S15.1.2.2_A5.1_T1: 0x prefi...
#   [OK]          Number.ParseInt              32   S15.1.2.2_A5.2_T1: 0x with ...
#   [OK]          Number.ParseInt              33   S15.1.2.2_A5.2_T2: 0x with ...
#   [OK]          Number.ParseInt              34   S15.1.2.2_A6.1_T1: radix 0 ...
#   [OK]          Number.ParseInt              35   S15.1.2.2_A6.1_T2: radix 1 ...
#   [OK]          Number.ParseInt              36   S15.1.2.2_A6.1_T3: radix 37...
#   [OK]          Number.ParseInt              37   S15.1.2.2_A6.1_T4: large ra...
#   [OK]          Number.ParseInt              38   S15.1.2.2_A6.1_T5: negative...
#   [OK]          Number.ParseInt              39   S15.1.2.2_A6.1_T6: boundary...
#   [OK]          Number.ParseInt              40   S15.1.2.2_A7.1_T1: digits b...
#   [OK]          Number.ParseInt              41   S15.1.2.2_A7.1_T2: all digi...
#   [OK]          Number.ParseInt              42   S15.1.2.2_A7.2_T1: large nu...
#   [OK]          Number.ParseInt              43   S15.1.2.2_A7.2_T2: large he...
#   [OK]          Number.ParseInt              44   S15.1.2.2_A7.2_T3: many dig...
#   [OK]          Number.ParseInt              45   S15.1.2.2_A7.3_T1: leading ...
#   [OK]          Number.ParseInt              46   S15.1.2.2_A7.3_T2: leading ...
#   [OK]          Number.ParseInt              47   S15.1.2.2_A7.3_T3: only zeros.
#   [OK]          Number.ParseInt              48   S15.1.2.2_A8: decimal point.
#   [OK]          Number.ParseInt              49   misc_t1: scientific notatio...
#   [OK]          Number.ParseInt              50   misc_t2: unicode digits not...
#   [OK]          Number.ParseInt              51   misc_t3: 0o octal prefix no...
#   [OK]          Number.ParseInt              52   misc_t4: 0b binary prefix n...
#   [OK]          Number.ParseInt              53   misc_t5: single digits.
#   [OK]          Number.ParseInt              54   misc_t6: radix boundaries.
#   [OK]          Number.ParseInt              55   misc_t7: case insensitivity.
#   [OK]          Number.ParseInt              56   misc_t8: comprehensive whit...
#   [OK]          Number.ToString               0   basic: integers.
#   [OK]          Number.ToString               1   basic: decimals.
#   [OK]          Number.ToString               2   basic: special values.
#   [OK]          Number.ToString               3   basic: scientific notation.
#   [OK]          Number.ToString               4   basic: negative zero.
#   [OK]          Number.ToString               5   radix 2: binary.
#   [OK]          Number.ToString               6   radix 8: octal.
#   [OK]          Number.ToString               7   radix 16: hex.
#   [OK]          Number.ToString               8   radix 36: max.
#   [OK]          Number.ToString               9   radix 10: explicit.
#   [OK]          Number.ToString              10   negative with radix.
#   [OK]          Number.ToString              11   special values with radix.
#   [OK]          Number.ToString              12   large numbers.
#   [OK]          Number.ToExponential          0   basic: no digits.
#   [OK]          Number.ToExponential          1   digits: 0.
#   [OK]          Number.ToExponential          2   digits: 1.
#   [OK]          Number.ToExponential          3   digits: multiple.
#   [OK]          Number.ToExponential          4   digits: large.
#   [OK]          Number.ToExponential          5   special values.
#   [OK]          Number.ToExponential          6   special values with digits.
#   [OK]          Number.ToExponential          7   negative numbers.
#   [OK]          Number.ToExponential          8   rounding.
#   [OK]          Number.ToExponential          9   very small numbers.
#   [OK]          Number.ToExponential         10   very large numbers.
#   [OK]          Number.ToExponential         11   negative zero.
#   [OK]          Number.ToPrecision            0   basic: no precision.
#   [OK]          Number.ToPrecision            1   precision: 1.
#   [OK]          Number.ToPrecision            2   precision: 2.
#   [OK]          Number.ToPrecision            3   precision: multiple.
#   [OK]          Number.ToPrecision            4   precision: large.
#   [OK]          Number.ToPrecision            5   special values.
#   [OK]          Number.ToPrecision            6   special values with precision.
#   [OK]          Number.ToPrecision            7   negative numbers.
#   [OK]          Number.ToPrecision            8   rounding.
#   [OK]          Number.ToPrecision            9   zero handling.
#   [OK]          Number.ToPrecision           10   negative zero.
#   [OK]          Number.ToPre

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build server-reason-react 0.4.1
+- 
- No changes have been performed
# To update the current shell environment, run: eval $(opam env)
cision           11   very small numbers.
#   [OK]          Number.ToPrecision           12   very large numbers.
#   [OK]          String.Normalize              0   default form (NFC).
#   [OK]          String.Normalize              1   empty string.
#   [OK]          String.Normalize              2   ASCII unchanged.
#   [OK]          String.Normalize              3   NFC: basic.
#   [OK]          String.Normalize              4   NFC: multiple accents.
#   [OK]          String.Normalize              5   NFD: basic.
#   [OK]          String.Normalize              6   NFD: already decomposed.
#   [OK]          String.Normalize              7   NFKC: ligature.
#   [OK]          String.Normalize              8   NFKC: superscript.
#   [OK]          String.Normalize              9   NFKD: ligature.
#   [OK]          String.Normalize             10   NFKD: with accents.
#   [OK]          String.Normalize             11   Hangul syllable.
#   [OK]          String.Normalize             12   combining sequences.
#   [OK]          String.Search                 0   basic: match.
#   [OK]          String.Search                 1   basic: no match.
#   [OK]          String.Search                 2   basic: match at start.
#   [OK]          String.Search                 3   basic: match at end.
#   [OK]          String.Search                 4   basic: empty string.
#   [OK]          String.Search                 5   basic: empty pattern.
#   [OK]          String.Search                 6   case: sensitive.
#   [OK]          String.Search                 7   case: insensitive.
#   [OK]          String.Search                 8   pattern: digit class.
#   [OK]          String.Search                 9   pattern: word boundary.
#   [OK]          String.Search                10   pattern: any character.
#   [OK]          String.Search                11   pattern: alternation.
#   [OK]          String.Search                12   pattern: optional.
#   [OK]          String.Search                13   multiple: finds first.
#   [OK]          String.Search                14   multiple: global flag ignored.
#   [OK]          String.Search                15   unicode: characters.
#   [OK]          String.Search                16   unicode: emoji.
#   [OK]          String.Search                17   edge: special regex chars.
#   [OK]          String.Search                18   edge: newline.
#   [OK]          RegExp.NamedGroups            0   basic: date pattern.
#   [OK]          RegExp.NamedGroups            1   basic: single group.
#   [OK]          RegExp.NamedGroups            2   basic: multiple groups.
#   [OK]          RegExp.NamedGroups            3   access: by name.
#   [OK]          RegExp.NamedGroups            4   access: nonexistent.
#   [OK]          RegExp.NamedGroups            5   access: all groups list.
#   [OK]          RegExp.NamedGroups            6   pattern: with quantifiers.
#   [OK]          RegExp.NamedGroups            7   pattern: with alternation.
#   [OK]          RegExp.NamedGroups            8   edge: no named groups.
#   [OK]          RegExp.NamedGroups            9   edge: mixed named and unnamed.
#   [OK]          RegExp.DotAll                 0   basic: dot without flag.
#   [OK]          RegExp.DotAll                 1   basic: dot with flag.
#   [OK]          RegExp.DotAll                 2   basic: flag accessor.
#   [OK]          RegExp.DotAll                 3   line: matches LF.
#   [OK]          RegExp.DotAll                 4   line: matches CR.
#   [OK]          RegExp.DotAll                 5   line: matches CRLF.
#   [OK]          RegExp.DotAll                 6   flags: with global.
#   [OK]          RegExp.DotAll                 7   flags: with ignorecase.
#   [OK]          RegExp.DotAll                 8   flags: with multiline.
#   [OK]          RegExp.DotAll                 9   accessor: includes s.
#   [OK]          RegExp.DotAll                10   accessor: order.
#   [OK]          RegExp.DotAll                11   practical: multiline content.
#   [OK]          RegExp.DotAll                12   practical: without flag fails.
#   [OK]          RegExp.Unicode                0   flag: accessor.
#   [OK]          RegExp.Unicode                1   flag: in flags string.
#   [OK]          RegExp.Unicode                2   match: basic unicode.
#   [OK]          RegExp.Unicode                3   match: emoji.
#   [OK]          RegExp.Unicode                4   match: no match.
#   [OK]          RegExp.Unicode                5   combined: with global.
#   [OK]          RegExp.Unicode                6   combined: with ignorecase.
#   [OK]          RegExp.Unicode                7   combined: with multiline.
#   [OK]          RegExp.Unicode                8   property: letter category.
#   [OK]          RegExp.Unicode                9   astral: basic.
#   [OK]          RegExp.Unicode               10   astral: surrogate pairs.
#   [OK]          RegExp.Unicode               11   practical: international.
#   [OK]          RegExp.Unicode               12   practical: mixed scripts.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/Js/test/_build/_tests/Js'.
# Test Successful in 0.978s. 814 tests run.
# (cd _build/default/packages/react/test && ./test.exe)
# Testing `React'.
# This run has ID `HJRVR05D'.
# 
#   [OK]          cloneElement          0   empty component.
#   [OK]          cloneElement          1   attributes component.
#   [OK]          cloneElement          2   ordered attributes component.
#   [OK]          React                 0   useState.
#   [OK]          React                 1   useSyncExternalStoreWithServer.
#   [OK]          React                 2   useEffect.
#   [OK]          React                 3   Children.map.
#   [OK]          React                 4   Children.map.
#   [OK]          React                 5   useRef.
#   [OK]          React                 6   invalid_children.
#   [OK]          React                 7   invalid_dangerouslySetInnerHtml.
#   [OK]          React                 8   raw_element.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/react/test/_build/_tests/React'.
# Test Successful in 0.020s. 12 tests run.
# (cd _build/default/packages/reactDom/test && ./test.exe)
# Testing `ReactDOM'.
# This run has ID `7XZM9ZJF'.
# 
#   [OK]          ReactServerDOM.render_html / client_with_element_props                            0   ...
#   [OK]          ReactServerDOM.render_html / null_element                                         0   ...
#   [OK]          ReactServerDOM.render_html / element_with_dangerously_set_inner_html              0   ...
#   [OK]          ReactServerDOM.render_html / inner_html_element                                   0   ...
#   [OK]          ReactServerDOM.render_html / input_element_with_value                             0   ...
#   [OK]          ReactServerDOM.render_html / upper_case_component                                 0   ...
#   [OK]          ReactServerDOM.render_html / async_component_without_promise                      0   ...
#   [OK]          ReactServerDOM.render_html / suspense_without_promise                             0   ...
#   [OK]          ReactServerDOM.render_html / with_sleepy_promise                                  0   ...
#   [OK]          ReactServerDOM.render_html / client_with_promise_props                            0   ...
#   [OK]          ReactServerDOM.render_html / client_component_with_async_component                0   ...
#   [OK]          ReactServerDOM.render_html / async_component_with_promise                         0   ...
#   [OK]          ReactServerDOM.render_html / suspense_with_error                                  0   ...
#   [OK]          ReactServerDOM.render_html / suspense_with_error_in_async                         0   ...
#   [OK]          ReactServerDOM.render_html / suspense_with_error_under_lowercase                  0   ...
#   [OK]          ReactServerDOM.render_html / error_without_suspense                               0   ...
#   [OK]          ReactServerDOM.render_html / error_in_toplevel_in_async                           0   ...
#   [OK]          ReactServerDOM.render_html / suspense_in_a_list_with_error                        0   ...
#   [OK]          ReactServerDOM.render_html / server_function_as_action                            0   ...
#   [OK]          ReactServerDOM.render_html / nested_context                                       0   ...
#   [OK]          ReactServerDOM.render_html / doctype                                              0   ...
#   [OK]          ReactServerDOM.render_html / just_an_html_node                                    0   ...
#   [OK]          ReactServerDOM.render_html / no_head_no_body_nothing_just_an_html_node            0   ...
#   [OK]          ReactServerDOM.render_html / html_with_no_srr_html_body                           0   ...
#   [OK]          ReactServerDOM.render_html / html_with_a_node                                     0   ...
#   [OK]          ReactServerDOM.render_html / html_inside_a_div                                    0   ...
#   [OK]          ReactServerDOM.render_html / html_inside_a_fragment                               0   ...
#   [OK]          ReactServerDOM.render_html / head_with_content                                    0   ...
#   [OK]          ReactServerDOM.render_html / html_with_only_a_body                                0   ...
#   [OK]          ReactServerDOM.render_html / html_with_head_like_elements_not_in_head             0   ...
#   [OK]          ReactServerDOM.render_html / html_without_body_and_bootstrap_scripts              0   ...
#   [OK]          ReactServerDOM.render_html / html_with_body_and_bootstrap_scripts                 0   ...
#   [OK]          ReactServerDOM.render_html / input_and_bootstrap_scripts                          0   ...
#   [OK]          ReactServerDOM.render_html / title_and_meta_populates_to_the_head                 0   ...
#   [OK]          ReactServerDOM.render_html / async_scripts_to_head                                0   ...
#   [OK]          ReactServerDOM.render_html / no_async_scripts_to_remain                           0   ...
#   [OK]          ReactServerDOM.render_html / async_scripts_gets_deduplicated                      0   ...
#   [OK]          ReactServerDOM.render_html / async_scripts_gets_deduplicated_2                    0   ...
#   [OK]          ReactServerDOM.render_html / link_with_rel_and_precedence                         0   ...
#   [OK]          ReactServerDOM.render_html / links_gets_pushed_to_the_head                        0   ...
#   [OK]          ReactServerDOM.render_html / self_closing_with_dangerously                        0   ...
#   [OK]          ReactServerDOM.render_html / self_closing_with_dangerously_in_head                0   ...
#   [OK]          ReactServerDOM.render_html / upper_case_component_with_resources                  0   ...
#   [OK]          ReactServerDOM.render_html / hoisted_elements_order_issue                         0   ...
#   [OK]          ReactServerDOM.render_html / head_preserves_children_order                        0   ...
#   [OK]          ReactServerDOM.render_html / html_attributes_are_preserved                        0   ...
#   [OK]          ReactDOM.renderToStream / silly_stream                                            0   ...
#   [OK]          ReactDOM.renderToStream / render_inner_html                                       0   ...
#   [OK]          ReactDOM.renderToStream / react_use_without_suspense                              0   ...
#   [OK]          ReactDOM.renderToStream / uppercase_component_always_throwing                     0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_react_use                                 0   ...
#   [OK]          ReactDOM.renderToStream / async component                                         0   ...
#   [OK]          ReactDOM.renderToStream / async_component_without_suspense                        0   ...
#   [OK]          ReactDOM.renderToStream / suspense_without_promise                                0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_async_component                           0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_always_throwing                           0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_nested_suspense                           0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_nested_suspenses                          0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_nested_suspense_with_error                0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_multiple_children                         0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_multiple_children_reordered               0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_concurrent_suspenses                      0   ...
#   [OK]          ReactDOM.renderToStream / suspense_with_comments                                  0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / html_doctype                                      0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / single_empty_tag                                  0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / empty_string_attribute                            0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / bool_attributes                                   0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / truthy_attributes                                 0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / ignore_nulls                                      0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / string_attributes                                 0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / self_closing_tag                                  0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / dom_element_innerHtml                             0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / children                                          0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / className                                         0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / className_2                                       0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / className_3                                       0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / fragment                                          0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / fragments_and_texts                               0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / ignored_attributes_on_jsx                         0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / inline_styles                                     0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / encode_attributes                                 0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / dom_props_should_work                             0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / dangerouslySetInnerHtml                           0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / context                                           0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / use_state                                         0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / use_memo                                          0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / use_callback                                      0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / inner_html                                        0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / event                                             0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / render_with_doc_type                              0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / render_svg                                        0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / ref_as_prop_works                                 0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / ref_as_callback_prop_works                        0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / async                                             0   ...
#   [OK]          ReactDOM.renderToStaticMarkup / lists_and_arrays                                  0   ...
#   [OK]          ReactDOM.renderToString / react_root_one_element                                  0   ...
#   [OK]          ReactDOM.renderToString / react_root_two_elements                                 0   ...
#   [OK]          ReactDOM.renderToString / text_single_node should not add <!-- -->                0   ...
#   [OK]          ReactDOM.renderToString / consecutives_text_nodes should add <!-- -->             0   ...
#   [OK]          ReactDOM.renderToString / separated_text_nodes_by_other_parents                   0   ...
#   [OK]          ReactDOM.Style.make / generate empty style                                        0   ...
#   [OK]          ReactDOM.Style.make / generate one style                                          0   ...
#   [OK]          ReactDOM.Style.make / generate more than one style                                0   ...
#   [OK]          ReactDOM.Style.make / unsafeAddProp should be kebab-case                          0   ...
#   [OK]          ReactDOM.Style.make / order matters                                               0   ...
#   [OK]          ReactDOM.Style.make / order matters II                                            0   ...
#   [OK]          ReactServerDOM.render_model / null_element                                        0   ...
#   [OK]          ReactServerDOM.render_model / string_element                                      0   ...
#   [OK]          ReactServerDOM.render_model / key_renders_outside_of_props                        0   ...
#   [OK]          ReactServerDOM.render_model / style_as_json                                       0   ...
#   [OK]          ReactServerDOM.render_model / lower_case_component                                0   ...
#   [OK]          ReactServerDOM.render_model / lower_case_component_nested                         0   ...
#   [OK]          ReactServerDOM.render_model / lower_case_with_children                            0   ...
#   [OK]          ReactServerDOM.render_model / dangerouslySetInnerHtml                             0   ...
#   [OK]          ReactServerDOM.render_model / upper_case_component                                0   ...
#   [OK]          ReactServerDOM.render_model / upper_case_with_list                                0   ...
#   [OK]          ReactServerDOM.render_model / upper_case_with_children                            0   ...
#   [OK]          ReactServerDOM.render_model / suspense_without_promise                            0   ...
#   [OK]          ReactServerDOM.render_model / suspense_with_promise                               0   ...
#   [OK]          ReactServerDOM.render_model / suspense_with_error                                 0   ...
#   [OK]          ReactServerDOM.render_model / suspense_with_error_in_async                        0   ...
#   [OK]          ReactServerDOM.render_model / suspense_with_immediate_promise                     0   ...
#   [OK]          ReactServerDOM.render_model / suspense                                            0   ...
#   [OK]          ReactServerDOM.render_model / async_component_without_suspense                    0   ...
#   [OK]          ReactServerDOM.render_model / suspense_in_a_list                                  0   ...
#   [OK]          ReactServerDOM.render_model / client_with_promise_props                           0   ...
#   [OK]          ReactServerDOM.render_model / async_component_without_suspense_immediate          0   ...
#   [OK]          ReactServerDOM.render_model / mixed_server_and_client                             0   ...
#   [OK]          ReactServerDOM.render_model / client_with_json_props                              0   ...
#   [OK]          ReactServerDOM.render_model / client_without_props                                0   ...
#   [OK]          ReactServerDOM.render_model / client_with_element_props                           0   ...
#   [OK]          ReactServerDOM.render_model / client_with_server_children                         0   ...
#   [OK]          ReactServerDOM.render_model / client_component_with_async_component               0   ...
#   [OK]          ReactServerDOM.render_model / act_with_simple_response                            0   ...
#   [OK]          ReactServerDOM.render_model / env_development_adds_debug_info                     0   ...
#   [OK]          ReactServerDOM.render_model / act_with_error                                      0   ...
#   [OK]          ReactServerDOM.render_model / error_without_suspense                              0   ...
#   [OK]          ReactServerDOM.render_model / error_in_toplevel                                   0   ...
#   [OK]          ReactServerDOM.render_model / error_in_toplevel_in_async                          0   ...
#   [OK]          ReactServerDOM.render_model / suspense_in_a_list_with_error                       0   ...
#   [OK]          ReactServerDOM.render_model / suspense_with_error_under_lowercase                 0   ...
#   [OK]          ReactServerDOM.render_model / client_component_with_resources_metadata            0   ...
#   [OK]          ReactServerDOM.render_model / page_with_hoisted_resources                         0   ...
#   [OK]          ReactServerDOM.render_model / nested_context                                      0   ...
#   [OK]          ReactServerDOM.render_model / model_list_value                                    0   ...
#   [OK]          ReactServerDOM.render_model / model_value_assoc                                   0   ...
#   [OK]          Decoders / decodeReply                                                            0   ...
#   [OK]          Decoders / decodeFormDataReply                                                    0   ...
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/reactDom/test/_build/_tests/ReactDOM'.
# Test Successful in 0.777s. 148 tests run.
# (cd _build/default/packages/server-reason-react-ppx/test && ./test.exe)
# Testing `server-reason-react.ppx'.
# This run has ID `EV6CVPS6'.
# 
#   [OK]          tag                                                          0   ...
#   [OK]          empty_attribute                                              0   ...
#   [OK]          bool_attribute                                               0   ...
#   [OK]          bool_attributes                                              0   ...
#   [OK]          innerhtml                                                    0   ...
#   [OK]          int_attribute                                                0   ...
#   [OK]          svg_1                                                        0   ...
#   [OK]          svg_2                                                        0   ...
#   [OK]          booleanish_props_with_ppx                                    0   ...
#   [OK]          booleanish_props_without_ppx                                 0   ...
#   [OK]          style_attribute                                              0   ...
#   [OK]          ref_attribute                                                0   ...
#   [OK]          link_as_attribute                                            0   ...
#   [OK]          inner_html_attribute                                         0   ...
#   [OK]          inner_html_attribute_complex                                 0   ...
#   [OK]          int_opt_attr_some                                            0   ...
#   [OK]          int_opt_attribute_none                                       0   ...
#   [OK]          string_opt_attribute_some                                    0   ...
#   [OK]          string_opt_attribute_none                                    0   ...
#   [OK]          bool_opt_attribute_some                                      0   ...
#   [OK]          bool_opt_attribute_none                                      0   ...
#   [OK]          style_opt_attribute_some                                     0   ...
#   [OK]          style_opt_attribute_none                                     0   ...
#   [OK]          ref_opt_attribute_some                                       0   ...
#   [OK]          ref_opt_attribute_none                                       0   ...
#   [OK]          fragment                                                     0   ...
#   [OK]          fragment_with_key                                            0   ...
#   [OK]          children_uppercase                                           0   ...
#   [OK]          children_lowercase                                           0   ...
#   [OK]          event_onClick                                                0   ...
#   [OK]          children_one_element                                         0   ...
#   [OK]          children_multiple_elements                                   0   ...
#   [OK]          create_element_variadic                                      0   ...
#   [OK]          aria_props                                                   0   ...
#   [OK]          optional_prop                                                0   ...
#   [OK]          context                                                      0   ...
#   [OK]          context_2                                                    0   ...
#   [OK]          multiple_contexts                                            0   ...
#   [OK]          styles_attribute                                             0   ...
#   [OK]          styles_attribute_optional                                    0   ...
#   [OK]          styles_attribute_optional_some                               0   ...
#   [OK]          styles_attribute_optional_some_with_class                    0   ...
#   [OK]          styles_attribute_optional_some_with_style                    0   ...
#   [OK]          styles_attribute_optional_some_with_class_and_style          0   ...
#   [OK]          server_function                                              0   ...
#   [OK]          server_function_reference                                    0   ...
#   [OK]          server_function_reference_args_error                         0   ...
#   [OK]          server_function_reference_form_data                          0   ...
#   [OK]          server_function_reference_form_data_and_args                 0   ...
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/server-reason-react.0.4.1/_build/default/packages/server-reason-react-ppx/test/_build/_tests/server-reason-react.ppx'.
# Test Successful in 0.010s. 49 tests run.

'opam reinstall --with-test --verbose server-reason-react.0.4.1' failed.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
"/usr/bin/env" "bash" "-c" "opam reinstall --with-test --verbose server-reason-react.0.4.1;
        res=$?;
        test "$res" != 31 && exit "$res";
        export OPAMCLI=2.0;
        build_dir=$(opam var prefix)/.opam-switch/build;
        failed=$(ls "$build_dir");
        partial_fails="";
        for pkg in $failed; do
          if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then
            echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
          fi;
          test "$pkg" != 'server-reason-react.0.4.1' && partial_fails="$partial_fails $pkg";
        done;
        test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
        exit 1" failed with exit status 1
2026-03-20 10:29.08: Job failed: Failed: Build failed
2026-03-20 10:29.08: Log analysis:
2026-03-20 10:29.08: >>> 
[ERROR] The compilation of server-reason-react.0.4.1 failed at "dune build -p server-reason-react -j 71 @install @runtest".
 (score = 20)
2026-03-20 10:29.08: >>> 
[ERROR] The compilation of server-reason-react.0.4.1 failed at "dune build -p server-reason-react -j 71 @install @runtest".
 (score = 20)
2026-03-20 10:29.08: The compilation of server-reason-react.0.4.1 failed at "dune build -p server-reason-react -j 71 @install @runtest".