(for PR #29582)
2026-03-25 13:14.41: New job: test quickjs.0.2.0 with ocaml-compiler.5.4.0, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29582/head (fa5fb3a6a806e832e4c7791145889a6bbe8b64ef)
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/29582/head" && git reset --hard fa5fb3a6
git fetch origin master
git merge --no-edit 2f93e9d4614d6376ed929fc2cee7c59cb9d5833b
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 ocaml-compiler.5.4.0 5.4.0
RUN opam reinstall --update-invariant ocaml-compiler.5.4.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" != 'ocaml-compiler.5.4.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN opam reinstall quickjs.0.2.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" != 'quickjs.0.2.0' && 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 quickjs.0.2.0) || true
RUN opam reinstall --with-test --verbose quickjs.0.2.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" != 'quickjs.0.2.0' && 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-25 13:14.41: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6-ocaml-compiler.5.4.0-quickjs.0.2.0-fa5fb3a6a806e832e4c7791145889a6bbe8b64ef"
2026-03-25 13:14.41: 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 ocaml-compiler.5.4.0 5.4.0"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall --update-invariant ocaml-compiler.5.4.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\" != 'ocaml-compiler.5.4.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 quickjs.0.2.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\" != 'quickjs.0.2.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 (network host)
(shell "(opam reinstall --with-test quickjs.0.2.0) || true"))
(run (shell "opam reinstall --with-test --verbose quickjs.0.2.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\" != 'quickjs.0.2.0' && 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-25 13:14.41: Waiting for resource in pool OCluster
2026-03-25 18:25.52: Waiting for worker…
2026-03-25 18:28.34: Got resource from pool OCluster
Building on bremusa.ocamllabs.io
All commits already cached
HEAD is now at 2f93e9d461 Merge pull request #29592 from dinosaure/release-miou-v0.5.5
Merge made by the 'ort' strategy.
packages/ocaml-compiler/ocaml-compiler.5.3.0/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.3/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4.0/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.4.0~alpha1/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.4.0~beta1/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.4.0~beta2/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4.0~rc1/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4.1/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.5.0~alpha1/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.5/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.6/opam | 5 ++++-
packages/ocaml-option-llvm/ocaml-option-llvm.1/opam | 18 ++++++++++++++++++
.../ocaml-options-vanilla/ocaml-options-vanilla.1/opam | 1 +
packages/ocaml-variants/ocaml-variants.5.2.0+msvc/opam | 2 ++
15 files changed, 69 insertions(+), 12 deletions(-)
create mode 100644 packages/ocaml-option-llvm/ocaml-option-llvm.1/opam
(from ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6)
2026-03-25 18:28.41 ---> 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-25 18:28.41 ---> 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-25 18:28.41 ---> 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-25 18:28.41 ---> 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-25 18:28.41 ---> using "04a48515eea40c32b96da0c71328b4bba0edb66eed83d4f78554b39097cf1f25" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-03-25 18:28.42 ---> using "034191995d824300f355cbba1072d6e5fe6d815701f24eb84d82c75009d73829" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-25 18:28.42 ---> using "8232259ea36ea8848dc29ae49703acf145fd27b40f3ebd8fb785db7f8da1b9d4" 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 [114 kB]
- Fetched 10.0 MB in 1s (8424 kB/s)
- Reading package lists...
2026-03-25 18:28.42 ---> using "a75782a571df4fc8f8933e94c681af881015ee87cdd4c652f8ae9af1d8cfad37" from cache
/home/opam: (run (shell "opam pin add -k version -yn ocaml-compiler.5.4.0 5.4.0"))
ocaml-compiler is now pinned to version 5.4.0
2026-03-25 18:28.42 ---> using "60e129f7398974b5fa5afc8f56ec09bd24a9182f5e9834464bfc959db1aa6b14" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall --update-invariant ocaml-compiler.5.4.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\" != 'ocaml-compiler.5.4.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
The following actions will be performed:
=== recompile 8 packages
- recompile base-domains base [uses ocaml]
- recompile base-effects base [uses ocaml]
- recompile base-nnp base [uses base-domains]
- recompile ocaml 5.4.0 [uses ocaml-base-compiler]
- recompile ocaml-base-compiler 5.4.0 (pinned) [uses ocaml-compiler]
- recompile ocaml-compiler 5.4.0 (pinned)
- recompile ocaml-config 3 [uses ocaml-base-compiler]
- recompile opam-depext 1.2.3 [uses ocaml]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved ocaml-compiler.5.4.0 (cached)
-> retrieved ocaml-config.3 (cached)
-> retrieved opam-depext.1.2.3 (cached)
-> removed base-effects.base
-> removed base-nnp.base
-> removed base-domains.base
-> removed opam-depext.1.2.3
-> removed ocaml.5.4.0
-> removed ocaml-config.3
-> removed ocaml-base-compiler.5.4.0
-> removed ocaml-compiler.5.4.0
-> installed ocaml-compiler.5.4.0
-> installed ocaml-base-compiler.5.4.0
-> installed ocaml-config.3
-> installed ocaml.5.4.0
-> installed base-domains.base
-> installed base-effects.base
-> installed base-nnp.base
-> installed opam-depext.1.2.3
Done.
<><> opam-depext.1.2.3 installed successfully <><><><><><><><><><><><><><><><><>
=> opam-depext is unnecessary when used with opam >= 2.1. Please use opam install directly instead
# To update the current shell environment, run: eval $(opam env)
2026-03-25 18:28.42 ---> using "efbc92fc0c607605c8bb33f9e4c8fe340a48c67e14d2f61592db8a4edc5c0b15" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall quickjs.0.2.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\" != 'quickjs.0.2.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
quickjs.0.2.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 11 packages
- install csexp 1.5.2 [required by dune-configurator]
- install ctypes 0.24.0 [required by quickjs]
- install dune 3.22.0 [required by quickjs]
- install dune-configurator 3.22.0 [required by ctypes]
- install integers 0.7.0 [required by quickjs]
- install ocamlbuild 0.16.1 [required by uutf]
- install ocamlfind 1.9.8 [required by uutf]
- install quickjs 0.2.0
- install stdlib-shims 0.3.0 [required by integers]
- install topkg 1.1.1 [required by uutf]
- install uutf 1.0.4 [required by quickjs]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved csexp.1.5.2 (cached)
-> retrieved ctypes.0.24.0 (cached)
-> retrieved dune.3.22.0, dune-configurator.3.22.0 (cached)
-> retrieved integers.0.7.0 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved quickjs.0.2.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved topkg.1.1.1 (cached)
-> retrieved uutf.1.0.4 (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed dune.3.22.0
-> installed csexp.1.5.2
-> installed stdlib-shims.0.3.0
-> installed integers.0.7.0
-> installed dune-configurator.3.22.0
-> installed ctypes.0.24.0
-> installed quickjs.0.2.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 18:30.12 ---> saved as "1320ab70e27cf1c9346d741bf6e31c4deabcf293722e82b8964b3f7012b3f925"
/home/opam: (run (network host)
(shell "(opam reinstall --with-test quickjs.0.2.0) || true"))
The following actions will be performed:
=== recompile 2 packages
- recompile quickjs 0.2.0
- recompile uutf 1.0.4 [uses cmdliner]
=== install 6 packages
- install alcotest 1.9.1 [required by quickjs]
- install astring 0.8.5 [required by alcotest]
- install cmdliner 2.1.0 [required by alcotest]
- install fmt 0.11.0 [required by alcotest]
- install ocaml-syntax-shims 1.0.0 [required by alcotest]
- install re 1.14.0 [required by alcotest]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1 (https://opam.ocaml.org/cache)
-> retrieved astring.0.8.5 (https://opam.ocaml.org/cache)
-> retrieved cmdliner.2.1.0 (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.0 (https://opam.ocaml.org/cache)
-> retrieved ocaml-syntax-shims.1.0.0 (https://opam.ocaml.org/cache)
-> retrieved quickjs.0.2.0 (https://opam.ocaml.org/cache)
-> retrieved re.1.14.0 (https://opam.ocaml.org/cache)
-> retrieved uutf.1.0.4 (https://opam.ocaml.org/cache)
-> installed astring.0.8.5
-> installed ocaml-syntax-shims.1.0.0
-> installed re.1.14.0
-> removed quickjs.0.2.0
-> removed uutf.1.0.4
-> installed cmdliner.2.1.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed alcotest.1.9.1
-> installed quickjs.0.2.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 18:30.35 ---> saved as "6d7fe377c9823b2816248a97bf51913b312636bffb34e2bbdbe520112de87745"
/home/opam: (run (shell "opam reinstall --with-test --verbose quickjs.0.2.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\" != 'quickjs.0.2.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
The following actions will be performed:
=== recompile 1 package
- recompile quickjs 0.2.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 1/4: [quickjs.0.2.0: extract]
-> retrieved quickjs.0.2.0 (cached)
Processing 2/4: [quickjs: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "quickjs" "-j" "71" "@install" "@runtest" (CWD=/home/opam/.opam/5.4/.opam-switch/build/quickjs.0.2.0)
- (cd _build/default/test && ./test.exe)
- Testing `quickjs'.
- This run has ID `GFXTV2WR'.
-
- [OK] RegExp 0 flags....
- [OK] RegExp 1 test....
- [OK] RegExp 2 basic....
- [OK] RegExp 3 exec....
- [OK] RegExp 4 basic text....
- [OK] RegExp 5 with i (ignorecase)....
- [OK] RegExp 6 with m (multiline)....
- [OK] RegExp 7 with g (global)....
- [OK] RegExp 8 with y (sticky)....
- [OK] RegExp 9 sticky vs global....
- [OK] RegExp 10 groups....
- [OK] RegExp 11 named groups....
- [OK] RegExp 12 named groups with global flag....
- [OK] RegExp 13 mixed named and unnamed groups....
- [OK] RegExp 14 no named groups returns empty list....
- [OK] RegExp 15 no match returns empty groups....
- [OK] RegExp 16 index....
- [OK] RegExp 17 lastIndex and index....
- [OK] RegExp 18 groups with (?: )....
- [OK] RegExp 19 negative....
- [OK] RegExp 20 http/s....
- [OK] RegExp 21 unicode: [a-z] does not match unicode letters....
- [OK] RegExp 22 unicode: \p{L} matches unicode letters....
- [OK] Error 0 unexpected end....
- [OK] Error 1 expecting ')'....
- [OK] Error 2 nothing to repeat....
- [OK] Error in some engines, but not in JavaScript (neither in QuickJS) 0 a{,}....
- [OK] Error in some engines, but not in JavaScript (neither in QuickJS) 1 \1(a)....
- [OK] Error in some engines, but not in JavaScript (neither in QuickJS) 2 [a-z[]....
- [OK] Unicode.is_cased 0 ASCII letters are cased....
- [OK] Unicode.is_cased 1 digits and symbols are not cased....
- [OK] Unicode.is_cased 2 accented letters are cased....
- [OK] Unicode.is_id_start 0 letters can start identifiers....
- [OK] Unicode.is_id_start 1 digits cannot start identifiers....
- [OK] Unicode.is_id_start 2 underscore and dollar - Unicode ID_Start excludes them....
- [OK] Unicode.is_id_start 3 unicode letters can start identifiers....
- [OK] Unicode.is_id_continue 0 letters can continue identifiers....
- [OK] Unicode.is_id_continue 1 digits can continue identifiers....
- [OK] Unicode.is_id_continue 2 underscore in ID_Continue but dollar not....
- [OK] Unicode.is_whitespace 0 ASCII whitespace....
- [OK] Unicode.is_whitespace 1 letters are not whitespace....
- [OK] Unicode.is_whitespace 2 unicode whitespace characters....
- [OK] Unicode.lowercase 0 ASCII lowercase....
- [OK] Unicode.lowercase 1 already lowercase unchanged....
- [OK] Unicode.lowercase 2 unicode lowercase....
- [OK] Unicode.lowercase 3 empty string....
- [OK] Unicode.uppercase 0 ASCII uppercase....
- [OK] Unicode.uppercase 1 already uppercase unchanged....
- [OK] Unicode.uppercase 2 unicode uppercase....
- [OK] Unicode.uppercase 3 German sharp s expands....
- [OK] Unicode.uppercase 4 empty string....
- [OK] Unicode.lowercase_char 0 ASCII letter....
- [OK] Unicode.lowercase_char 1 already lowercase....
- [OK] Unicode.uppercase_char 0 ASCII letter....
- [OK] Unicode.uppercase_char 1 German sharp s expands to two chars....
- [OK] Unicode.canonicalize 0 unicode mode: uppercase to lowercase....
- [OK] Unicode.canonicalize 1 unicode mode: lowercase stays same....
- [OK] Unicode.canonicalize 2 non-unicode mode: lowercase to uppercase (legacy behavior)....
- [OK] Unicode.normalize 0 NFC: composed form....
- [OK] Unicode.normalize 1 NFD: decomposed form....
- [OK] Unicode.normalize 2 ASCII unchanged by NFC....
- [OK] Unicode.normalize 3 empty string....
- [OK] Unicode.normalize 4 NFKC compatibility decomposition....
- [OK] Dtoa.to_string 0 basic integers....
- [OK] Dtoa.to_string 1 decimals....
- [OK] Dtoa.to_string 2 special values....
- [OK] Dtoa.to_string 3 negative zero without flag....
- [OK] Dtoa.to_string 4 negative zero with flag....
- [OK] Dtoa.to_string 5 large numbers....
- [OK] Dtoa.to_string 6 very large numbers use exponential....
- [OK] Dtoa.to_string 7 small numbers....
- [OK] Dtoa.to_fixed 0 basic....
- [OK] Dtoa.to_fixed 1 rounding....
- [OK] Dtoa.to_fixed 2 negative numbers....
- [OK] Dtoa.to_precision 0 basic....
- [OK] Dtoa.to_precision 1 small numbers....
- [OK] Dtoa.to_exponential 0 basic....
- [OK] Dtoa.to_exponential 1 small numbers....
- [OK] Dtoa.to_radix 0 binary....
- [OK] Dtoa.to_radix 1 octal....
- [OK] Dtoa.to_radix 2 hexadecimal....
- [OK] Dtoa.to_radix 3 base 36....
- [OK] Atod.parse 0 basic integers....
- [OK] Atod.parse 1 decimals....
- [OK] Atod.parse 2 exponential....
- [OK] Atod.parse 3 special values....
- [OK] Atod.parse 4 invalid strings return None....
- [OK] Atod.parse 5 hex with js_options....
- [OK] Atod.parse 6 underscores....
- [OK] IntToString 0 of_int32....
- [OK] IntToString 1 of_int64....
- [OK] IntToString 2 of_int....
- [OK] IntToString 3 of_int_radix binary....
- [OK] IntToString 4 of_int_radix hex....
- [OK] IntToString 5 of_int64_radix....
-
- Full test results in `~/.opam/5.4/.opam-switch/build/quickjs.0.2.0/_build/default/test/_build/_tests/quickjs'.
- Test Successful in 0.008s. 95 tests run.
- (cd _build/default/test262 && ./test262.exe)
- Testing `test262'.
- This run has ID `3WK5J81F'.
-
- [OK] RegExp.compile 0 compile: simple patterns.
- [OK] RegExp.compile 1 compile: empty pattern.
- [OK] RegExp.compile 2 compile: all flags.
- [OK] RegExp.compile 3 compile: complex patterns.
- [OK] RegExp.compile 4 error: unmatched paren.
- [OK] RegExp.compile 5 error: unmatched bracket.
- [OK] RegExp.compile 6 error: invalid quantifier.
- [OK] RegExp.compile 7 error: invalid escape.
- [OK] RegExp.compile 8 error: invalid group.
- [OK] RegExp.compile 9 error: empty alternation (...
- [OK] RegExp.compile 10 error: invalid range.
- [OK] RegExp.compile 11 error: invalid backreference.
- [OK] RegExp.compile 12 edge: nested groups.
- [OK] RegExp.compile 13 edge: many alternatives.
- [OK] RegExp.compile 14 edge: long pattern.
- [OK] RegExp.compile 15 edge: unicode pattern.
- [OK] RegExp.compile 16 edge: escape sequences.
- [OK] RegExp.compile 17 edge: character class esca...
- [OK] RegExp.compile 18 edge: quantifier variations.
- [OK] RegExp.compile 19 edge: lookaround.
- [OK] RegExp.compile 20 edge: non-capturing group.
- [OK] RegExp.compile 21 edge: named groups.
- [OK] RegExp.compile 22 edge: word boundaries.
- [OK] RegExp.compile 23 edge: anchors.
- [OK] RegExp.prototype.test 0 S15.10.6.3_A1_T1: simple m...
- [OK] RegExp.prototype.test 1 S15.10.6.3_A1_T2: no match.
- [OK] RegExp.prototype.test 2 S15.10.6.3_A1_T3: empty pa...
- [OK] RegExp.prototype.test 3 S15.10.6.3_A1_T4: characte...
- [OK] RegExp.prototype.test 4 S15.10.6.3_A1_T5: digit pa...
- [OK] RegExp.prototype.test 5 S15.10.6.3_A1_T6: word bou...
- [OK] RegExp.prototype.test 6 S15.10.6.3_A1_T7: start an...
- [OK] RegExp.prototype.test 7 S15.10.6.3_A1_T8: end anchor.
- [OK] RegExp.prototype.test 8 S15.10.6.3_A1_T9: both anc...
- [OK] RegExp.prototype.test 9 S15.10.6.3_A1_T10: alterna...
- [OK] RegExp.prototype.test 10 S15.10.6.3_A1_T11: quantif...
- [OK] RegExp.prototype.test 11 S15.10.6.3_A1_T12: groups.
- [OK] RegExp.prototype.test 12 S15.10.6.3_A1_T13: optiona...
- [OK] RegExp.prototype.test 13 S15.10.6.3_A1_T14: escape ...
- [OK] RegExp.prototype.test 14 S15.10.6.3_A1_T15: whitesp...
- [OK] RegExp.prototype.test 15 flag_i: case insensitive.
- [OK] RegExp.prototype.test 16 flag_g: global.
- [OK] RegExp.prototype.test 17 flag_m: multiline.
- [OK] RegExp.prototype.test 18 flag_s: dotall.
- [OK] RegExp.prototype.test 19 flag_y: sticky.
- [OK] RegExp.prototype.test 20 flag_y_lastindex: sticky w...
- [OK] RegExp.prototype.test 21 special_chars: regex metac...
- [OK] RegExp.prototype.test 22 unicode_basic: unicode mat...
- [OK] RegExp.prototype.test 23 empty_string_match: empty ...
- [OK] RegExp.prototype.test 24 lookahead: positive and ne...
- [OK] RegExp.prototype.test 25 lookbehind: positive and n...
- [OK] RegExp.prototype.test 26 backreference: backreference.
- [OK] RegExp.prototype.test 27 repetition_bounds: bounded...
- [OK] RegExp.prototype.exec 0 S15.10.6.2_A1_T1: simple m...
- [OK] RegExp.prototype.exec 1 S15.10.6.2_A1_T2: match wi...
- [OK] RegExp.prototype.exec 2 S15.10.6.2_A1_T3: no match.
- [OK] RegExp.prototype.exec 3 S15.10.6.2_A1_T4: returns ...
- [OK] RegExp.prototype.exec 4 S15.10.6.2_A1_T5: digit pa...
- [OK] RegExp.prototype.exec 5 S15.10.6.2_A1_T6: word pat...
- [OK] RegExp.prototype.exec 6 S15.10.6.2_A1_T7: empty in...
- [OK] RegExp.prototype.exec 7 S15.10.6.2_A1_T8: empty pa...
- [OK] RegExp.prototype.exec 8 S15.10.6.2_A1_T9: case sen...
- [OK] RegExp.prototype.exec 9 S15.10.6.2_A1_T10: special...
- [OK] RegExp.prototype.exec 10 S15.10.6.2_A2_T1: single g...
- [OK] RegExp.prototype.exec 11 S15.10.6.2_A2_T2: multiple...
- [OK] RegExp.prototype.exec 12 S15.10.6.2_A2_T3: nested g...
- [OK] RegExp.prototype.exec 13 S15.10.6.2_A2_T4: optional...
- [OK] RegExp.prototype.exec 14 S15.10.6.2_A2_T5: groups i...
- [OK] RegExp.prototype.exec 15 S15.10.6.2_A2_T6: quantifi...
- [OK] RegExp.prototype.exec 16 S15.10.6.2_A2_T7: group wi...
- [OK] RegExp.prototype.exec 17 S15.10.6.2_A2_T8: non-capt...
- [OK] RegExp.prototype.exec 18 S15.10.6.2_A2_T9: date pat...
- [OK] RegExp.prototype.exec 19 S15.10.6.2_A2_T10: email p...
- [OK] RegExp.prototype.exec 20 S15.10.6.2_A3_T1: global i...
- [OK] RegExp.prototype.exec 21 S15.10.6.2_A3_T2: without ...
- [OK] RegExp.prototype.exec 22 S15.10.6.2_A3_T3: manual l...
- [OK] RegExp.prototype.exec 23 S15.10.6.2_A3_T4: lastInde...
- [OK] RegExp.prototype.exec 24 S15.10.6.2_A3_T5: iterate ...
- [OK] RegExp.prototype.exec 25 S15.10.6.2_A3_T6: sticky f...
- [OK] RegExp.prototype.exec 26 S15.10.6.2_A3_T7: sticky a...
- [OK] RegExp.prototype.exec 27 S15.10.6.2_A4_T1: basic na...
- [OK] RegExp.prototype.exec 28 S15.10.6.2_A4_T2: multiple...
- [OK] RegExp.prototype.exec 29 S15.10.6.2_A4_T3: named da...
- [OK] RegExp.prototype.exec 30 S15.10.6.2_A4_T4: nonexist...
- [OK] RegExp.prototype.exec 31 S15.10.6.2_A4_T5: unmatche...
- [OK] RegExp.prototype.exec 32 S15.10.6.2_A4_T6: mixed gr...
- [OK] RegExp.prototype.exec 33 S15.10.6.2_A5_T1: start an...
- [OK] RegExp.prototype.exec 34 S15.10.6.2_A5_T2: end anchor.
- [OK] RegExp.prototype.exec 35 S15.10.6.2_A5_T3: multilin...
- [OK] RegExp.prototype.exec 36 edge: empty match.
- [OK] RegExp.prototype.exec 37 edge: unicode.
- [OK] RegExp.prototype.exec 38 edge: newlines.
- [OK] RegExp.prototype.exec 39 edge: lookahead.
- [OK] RegExp.prototype.exec 40 edge: lookbehind.
- [OK] RegExp.prototype.exec 41 edge: backreference.
- [OK] RegExp.prototype.exec 42 edge: greedy vs lazy.
- [OK] RegExp.prototype.exec 43 edge: alternation.
- [OK] RegExp.prototype.exec 44 edge: word boundary.
- [OK] RegExp.prototype.exec 45 edge: dotall.
- [OK] RegExp.flags 0 flags: empty.
- [OK] RegExp.flags 1 flags: single.
- [OK] RegExp.flags 2 flags: multiple.
- [OK] RegExp.flags 3 flags: all.
- [OK] RegExp.flags 4 global: true.
- [OK] RegExp.flags 5 global: false.
- [OK] RegExp.flags 6 global: with others.
- [OK] RegExp.flags 7 ignoreCase: true.
- [OK] RegExp.flags 8 ignoreCase: false.
- [OK] RegExp.flags 9 ignoreCase: with others.
- [OK] RegExp.flags 10 multiline: true.
- [OK] RegExp.flags 11 multiline: false.
- [OK] RegExp.flags 12 multiline: with others.
- [OK] RegExp.flags 13 dotAll: true.
- [OK] RegExp.flags 14 dotAll: false.
- [OK] RegExp.flags 15 dotAll: behavior.
- [OK] RegExp.flags 16 sticky: true.
- [OK] RegExp.flags 17 sticky: false.
- [OK] RegExp.flags 18 sticky: behavior.
- [OK] RegExp.flags 19 unicode: true.
- [OK] RegExp.flags 20 unicode: false.
- [OK] RegExp.flags 21 combined: gi.
- [OK] RegExp.flags 22 combined: gm.
- [OK] RegExp.flags 23 combined: gy.
- [OK] RegExp.flags 24 combined: consistency.
- [OK] RegExp.source 0 source: simple pattern.
- [OK] RegExp.source 1 source: empty pattern.
- [OK] RegExp.source 2 source: independent of flags.
- [OK] RegExp.source 3 source: special chars.
- [OK] RegExp.source 4 source: escape sequences.
- [OK] RegExp.source 5 source: character class.
- [OK] RegExp.source 6 source: groups.
- [OK] RegExp.source 7 source: alternation.
- [OK] RegExp.source 8 source: quantifiers.
- [OK] RegExp.source 9 source: lookaround.
- [OK] RegExp.source 10 source: unicode.
- [OK] RegExp.source 11 source: complex.
- [OK] RegExp.source 12 source: forward slash.
- [OK] RegExp.source 13 source: backslash.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/quickjs.0.2.0/_build/default/test262/_build/_tests/test262'.
- Test Successful in 0.011s. 137 tests run.
-> compiled quickjs.0.2.0
-> removed quickjs.0.2.0
-> installed quickjs.0.2.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 18:30.44 ---> saved as "c9bf540798b1387cbc1927564ba8720ed8bf3684f461904db91f5b5542682647"
Job succeeded
2026-03-25 18:30.54: Job succeeded