Organisationsocaml-ppxppxlib6ae39b ()debian-12-5.3_s390x_opam-2.3

debian-12-5.3_s390x_opam-2.3

Link Copied
Code Copied

Logs

2025-01-14 07:51.05: New job: test ocaml-ppx/ppxlib https://github.com/ocaml-ppx/ppxlib.git#refs/pull/526/head (6ae39ba9bf1b3d4514acf7a822076621ecd6c4a8) (linux-s390x:debian-12-5.3_s390x_opam-2.3)
Base: ocaml/opam:debian-12-ocaml-5.3@sha256:f96ce259b68eff1da0ee87b30d22abf9d2ac29047674a126b2ccc371b6e23604
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/ocaml-ppx/ppxlib.git" && cd "ppxlib" && git fetch origin "refs/pull/526/head" && git reset --hard 6ae39ba9
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-5.3@sha256:f96ce259b68eff1da0ee87b30d22abf9d2ac29047674a126b2ccc371b6e23604
# debian-12-5.3_s390x_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc || git fetch origin master) && git reset -q --hard 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc && git log --no-decorate -n1 --oneline && opam update -u
RUN mkdir -p 'bench/vendored/ppx_sexp_conv.v0.15.1/'
COPY --chown=1000:1000 ppxlib.opam ppxlib-tools.opam ppxlib-bench.opam ./
COPY --chown=1000:1000 bench/vendored/ppx_sexp_conv.v0.15.1/ppx_sexp_conv.opam bench/vendored/ppx_sexp_conv.v0.15.1/
RUN opam pin add -yn ppxlib.dev './' && \
opam pin add -yn ppxlib-tools.dev './' && \
opam pin add -yn ppxlib-bench.dev './' && \
opam pin add -yn ppx_sexp_conv 'bench/vendored/ppx_sexp_conv.v0.15.1/'
ENV DEPS="base.v0.17.1 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base cinaps.v0.15.1 cmdliner.1.3.0 csexp.1.5.2 dune.3.17.1 dune-configurator.3.17.1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml_intrinsics_kernel.v0.17.1 ocamlfind.1.9.6 ppx_derivers.1.2.1 re.1.12.0 seq.base sexplib0.v0.17.0 stdlib-shims.0.3.0 yojson.2.2.2"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --depext-only -y ppxlib.dev ppxlib-tools.dev ppxlib-bench.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build


END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK


2025-01-14 07:51.05: Using cache hint "ocaml-ppx/ppxlib-ocaml/opam:debian-12-ocaml-5.3@sha256:f96ce259b68eff1da0ee87b30d22abf9d2ac29047674a126b2ccc371b6e23604-debian-12-5.3_s390x_opam-2.3-96b73b4107bdbeb365a60b9aa1f837ea"
2025-01-14 07:51.05: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-5.3@sha256:f96ce259b68eff1da0ee87b30d22abf9d2ac29047674a126b2ccc371b6e23604)
(comment debian-12-5.3_s390x_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
(run (shell "opam init --reinit -ni"))
(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
(workdir /src)
(run (shell "sudo chown opam /src"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc || git fetch origin master) && git reset -q --hard 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc && git log --no-decorate -n1 --oneline && opam update -u"))
(run (shell "mkdir -p 'bench/vendored/ppx_sexp_conv.v0.15.1/'"))
(copy (src ppxlib.opam ppxlib-tools.opam ppxlib-bench.opam) (dst ./))
(copy (src bench/vendored/ppx_sexp_conv.v0.15.1/ppx_sexp_conv.opam)
(dst bench/vendored/ppx_sexp_conv.v0.15.1/))
(run (network host)
(shell  "opam pin add -yn ppxlib.dev './' && \
\nopam pin add -yn ppxlib-tools.dev './' && \
\nopam pin add -yn ppxlib-bench.dev './' && \
\nopam pin add -yn ppx_sexp_conv 'bench/vendored/ppx_sexp_conv.v0.15.1/'"))
(env DEPS "base.v0.17.1 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base cinaps.v0.15.1 cmdliner.1.3.0 csexp.1.5.2 dune.3.17.1 dune-configurator.3.17.1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml_intrinsics_kernel.v0.17.1 ocamlfind.1.9.6 ppx_derivers.1.2.1 re.1.12.0 seq.base sexplib0.v0.17.0 stdlib-shims.0.3.0 yojson.2.2.2")
(env CI true)
(env OCAMLCI true)
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y ppxlib.dev ppxlib-tools.dev ppxlib-bench.dev $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
(copy (src .) (dst /src))
(run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
)


2025-01-14 07:51.05: Waiting for resource in pool OCluster
2025-01-14 07:51.05: Waiting for worker…
2025-01-14 08:31.07: Got resource from pool OCluster
Building on s390x-worker-02.marist.ci.dev
Updating files:  27% (114/409)
Updating files:  28% (115/409)
Updating files:  29% (119/409)
Updating files:  30% (123/409)
Updating files:  31% (127/409)
Updating files:  32% (131/409)
Updating files:  33% (135/409)
Updating files:  34% (140/409)
Updating files:  35% (144/409)
Updating files:  36% (148/409)
Updating files:  37% (152/409)
Updating files:  38% (156/409)
Updating files:  39% (160/409)
Updating files:  40% (164/409)
Updating files:  41% (168/409)
Updating files:  42% (172/409)
Updating files:  43% (176/409)
Updating files:  44% (180/409)
Updating files:  45% (185/409)
Updating files:  46% (189/409)
Updating files:  47% (193/409)
Updating files:  48% (197/409)
Updating files:  49% (201/409)
Updating files:  50% (205/409)
Updating files:  51% (209/409)
Updating files:  52% (213/409)
Updating files:  53% (217/409)
Updating files:  54% (221/409)
Updating files:  55% (225/409)
Updating files:  56% (230/409)
Updating files:  57% (234/409)
Updating files:  58% (238/409)
Updating files:  59% (242/409)
Updating files:  60% (246/409)
Updating files:  61% (250/409)
Updating files:  62% (254/409)
Updating files:  63% (258/409)
Updating files:  64% (262/409)
Updating files:  65% (266/409)
Updating files:  66% (270/409)
Updating files:  67% (275/409)
Updating files:  68% (279/409)
Updating files:  69% (283/409)
Updating files:  70% (287/409)
Updating files:  71% (291/409)
Updating files:  72% (295/409)
Updating files:  73% (299/409)
Updating files:  74% (303/409)
Updating files:  75% (307/409)
Updating files:  76% (311/409)
Updating files:  77% (315/409)
Updating files:  78% (320/409)
Updating files:  79% (324/409)
Updating files:  80% (328/409)
Updating files:  81% (332/409)
Updating files:  82% (336/409)
Updating files:  83% (340/409)
Updating files:  84% (344/409)
Updating files:  85% (348/409)
Updating files:  86% (352/409)
Updating files:  87% (356/409)
Updating files:  88% (360/409)
Updating files:  89% (365/409)
Updating files:  90% (369/409)
Updating files:  91% (373/409)
Updating files:  92% (377/409)
Updating files:  93% (381/409)
Updating files:  94% (385/409)
Updating files:  95% (389/409)
Updating files:  96% (393/409)
Updating files:  97% (397/409)
Updating files:  98% (401/409)
Updating files:  99% (405/409)
Updating files: 100% (409/409)
Updating files: 100% (409/409), done.
HEAD is now at cee26118 Update .git-blame-ignore-revs
HEAD is now at 6ae39ba9 Add json mapper for pp_ast


(from ocaml/opam:debian-12-ocaml-5.3@sha256:f96ce259b68eff1da0ee87b30d22abf9d2ac29047674a126b2ccc371b6e23604)
Unable to find image 'ocaml/opam:debian-12-ocaml-5.3@sha256:f96ce259b68eff1da0ee87b30d22abf9d2ac29047674a126b2ccc371b6e23604' locally
docker.io/ocaml/opam@sha256:f96ce259b68eff1da0ee87b30d22abf9d2ac29047674a126b2ccc371b6e23604: Pulling from ocaml/opam
Digest: sha256:f96ce259b68eff1da0ee87b30d22abf9d2ac29047674a126b2ccc371b6e23604
Status: Downloaded newer image for ocaml/opam@sha256:f96ce259b68eff1da0ee87b30d22abf9d2ac29047674a126b2ccc371b6e23604
2025-01-14 08:31.11 ---> using "d41608b07e332ff05e41947566ea3f8d86d2bc21c0be4236e4fd5d30028f14f7" from cache


/: (comment debian-12-5.3_s390x_opam-2.3)


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


/: (env CLICOLOR_FORCE 1)


/: (env OPAMCOLOR always)


/: (workdir /src)


/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-01-14 08:31.11 ---> using "74d18eebe572f8bb13e57bd1f98024ddbb7bc6e466ab941d0c6d979f4249e53b" from cache


/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then 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 development 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] synchronised from file:///home/opam/opam-repository
2025-01-14 08:31.11 ---> using "bd7e458a0cc440e72cf912df06efa69c885169f9102413c12e80e9d538584536" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-51-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-01-14 08:31.11 ---> using "eda356e31b43d0841bca5302eb2ef7e8e0e38fe78629959abb21b56dcb6d5e34" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2025-01-14 08:31.11 ---> using "b80c1bf34c314d4b56679fc1ce6d4a2cd3b1977ff501c0b876ff8399d8fd76ec" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc || git fetch origin master) && git reset -q --hard 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
f93eb7cb02..26328df816  master     -> origin/master
82749c0bc5 Merge pull request #27235 from dbuenzli/erratique-maintenance-intent


<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from file:///home/opam/opam-repository


Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2025-01-14 08:34.50 ---> saved as "9283aeb3d26696a6a655435a3de085087f105dba9f0422f44f85d7d774d9c653"


/src: (run (shell "mkdir -p 'bench/vendored/ppx_sexp_conv.v0.15.1/'"))
2025-01-14 08:35.00 ---> saved as "3b4f2c761f8808d1892b664ec18c959fc2eeda51023091e756749e096f715ee2"


/src: (copy (src ppxlib.opam ppxlib-tools.opam ppxlib-bench.opam) (dst ./))
2025-01-14 08:35.03 ---> saved as "5e197e499f4bf22fd99e25de9a2acfccc9dead43005ce99c93e50c529cab1a97"


/src: (copy (src bench/vendored/ppx_sexp_conv.v0.15.1/ppx_sexp_conv.opam)
(dst bench/vendored/ppx_sexp_conv.v0.15.1/))
2025-01-14 08:35.15 ---> saved as "8f9aedb0584db0d993c68388a57eba61bcd8c89abeeedb5586d483270532fb4d"


/src: (run (network host)
(shell  "opam pin add -yn ppxlib.dev './' && \
\nopam pin add -yn ppxlib-tools.dev './' && \
\nopam pin add -yn ppxlib-bench.dev './' && \
\nopam pin add -yn ppx_sexp_conv 'bench/vendored/ppx_sexp_conv.v0.15.1/'"))
[ppxlib.dev] synchronised (file:///src)
ppxlib is now pinned to file:///src (version dev)
[ppxlib-tools.dev] synchronised (file:///src)
ppxlib-tools is now pinned to file:///src (version dev)
Package ppxlib-bench does not exist, create as a NEW package? [y/n] y
[ppxlib-bench.dev] synchronised (file:///src)
ppxlib-bench is now pinned to file:///src (version dev)
[ppx_sexp_conv.v0.17.0] synchronised (file:///src/bench/vendored/ppx_sexp_conv.v0.15.1)
ppx_sexp_conv is now pinned to file:///src/bench/vendored/ppx_sexp_conv.v0.15.1 (version v0.15.0)
2025-01-14 08:35.35 ---> saved as "5b752bbc226f10d118b1e4a40982c975bf7e87f195ee78641efa2b0bee9bc519"


/src: (env DEPS "base.v0.17.1 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base cinaps.v0.15.1 cmdliner.1.3.0 csexp.1.5.2 dune.3.17.1 dune-configurator.3.17.1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml_intrinsics_kernel.v0.17.1 ocamlfind.1.9.6 ppx_derivers.1.2.1 re.1.12.0 seq.base sexplib0.v0.17.0 stdlib-shims.0.3.0 yojson.2.2.2")


/src: (env CI true)


/src: (env OCAMLCI true)


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y ppxlib.dev ppxlib-tools.dev ppxlib-bench.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian bookworm/main s390x Packages [8458 kB]
- Get:5 http://deb.debian.org/debian-security bookworm-security/main s390x Packages [208 kB]
- Fetched 8920 kB in 6s (1376 kB/s)
- Reading package lists...
- 


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[ppxlib-tools.dev] synchronised (no changes)
[ppxlib-bench.dev] synchronised (no changes)
[ppxlib.dev] synchronised (no changes)


[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
2025-01-14 08:36.16 ---> saved as "46d2090ee07edae828499be54f60afb911f08d2431363dd6479319c4c06af6ff"


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 15 packages
- install base                    v0.17.1
- install cinaps                  v0.15.1
- install cmdliner                1.3.0
- install csexp                   1.5.2
- install dune                    3.17.1
- install dune-configurator       3.17.1
- install ocaml-compiler-libs     v0.17.0
- install ocaml_intrinsics_kernel v0.17.1
- install ocamlfind               1.9.6
- install ppx_derivers            1.2.1
- install re                      1.12.0
- install seq                     base
- install sexplib0                v0.17.0
- install stdlib-shims            0.3.0
- install yojson                  2.2.2


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved cinaps.v0.15.1  (cached)
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved base.v0.17.1  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (cached)
-> retrieved ocamlfind.1.9.6  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved re.1.12.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved yojson.2.2.2  (cached)
-> retrieved dune.3.17.1, dune-configurator.3.17.1  (cached)
-> installed cmdliner.1.3.0
-> installed ocamlfind.1.9.6
-> installed dune.3.17.1
-> installed csexp.1.5.2
-> installed ppx_derivers.1.2.1
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed dune-configurator.3.17.1
-> installed re.1.12.0
-> installed cinaps.v0.15.1
-> installed yojson.2.2.2
-> installed base.v0.17.1
Done.
# To update the current shell environment, run: eval $(opam env)
2025-01-14 08:38.32 ---> saved as "5d640685770b7cdeec07d72239bbb691dadf177c7d1f2d0ef79b52c127ecd016"


/src: (copy (src .) (dst /src))
2025-01-14 08:38.33 ---> saved as "78ce71cd7a17111aadc90984600af7451d43c22e914838790c1d9d6e266ca56c"


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "test/ppxlib-pp-ast/json.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/.sandbox/4bd7f93bfd1fd7a4f5064b71cf513be9/default/test/ppxlib-pp-ast/json.t _build/.sandbox/4bd7f93bfd1fd7a4f5064b71cf513be9/default/test/ppxlib-pp-ast/json.t.corrected
diff --git a/_build/.sandbox/4bd7f93bfd1fd7a4f5064b71cf513be9/default/test/ppxlib-pp-ast/json.t b/_build/.sandbox/4bd7f93bfd1fd7a4f5064b71cf513be9/default/test/ppxlib-pp-ast/json.t.corrected
index 675d3b5..e1d7354 100644
--- a/_build/.sandbox/4bd7f93bfd1fd7a4f5064b71cf513be9/default/test/ppxlib-pp-ast/json.t
+++ b/_build/.sandbox/4bd7f93bfd1fd7a4f5064b71cf513be9/default/test/ppxlib-pp-ast/json.t.corrected
@@ -46,451 +46,11 @@ This is how it's printed without the flag:
Now how it's printed with the flag:


$ ppxlib-pp-ast --json test.ml
-  [
-    {
-      "Pstr_value": [
-        "Nonrecursive",
-        [
-          {
-            "pvb_pat": {
-              "Ppat_var": "x"
-            },
-            "pvb_expr": {
-              "Pexp_constant": {
-                "Pconst_integer": [
-                  "2",
-                  "None"
-                ]
-              }
-            },
-            "pvb_attributes": "__attrs",
-            "pvb_loc": "__loc"
-          }
-        ]
-      ]
-    },
-    {
-      "Pstr_value": [
-        "Nonrecursive",
-        [
-          {
-            "pvb_pat": {
-              "Ppat_var": "y"
-            },
-            "pvb_expr": {
-              "Pexp_construct": [
-                {
-                  "Lident": "true"
-                },
-                "None"
-              ]
-            },
-            "pvb_attributes": "__attrs",
-            "pvb_loc": "__loc"
-          }
-        ]
-      ]
-    },
-    {
-      "Pstr_value": [
-        "Nonrecursive",
-        [
-          {
-            "pvb_pat": {
-              "Ppat_var": "z"
-            },
-            "pvb_expr": {
-              "Pexp_fun": [
-                "Nolabel",
-                "None",
-                {
-                  "Ppat_var": "x"
-                },
-                {
-                  "Pexp_ident": {
-                    "Lident": "x"
-                  }
-                }
-              ]
-            },
-            "pvb_attributes": "__attrs",
-            "pvb_loc": "__loc"
-          }
-        ]
-      ]
-    }
-  ]
+  [{"Pstr_value":["Nonrecursive",[{"pvb_pat":{"Ppat_var":"x"},"pvb_expr":{"Pexp_constant":{"Pconst_integer":["2","None"]}},"pvb_attributes":"__attrs","pvb_loc":"__loc"}]]},{"Pstr_value":["Nonrecursive",[{"pvb_pat":{"Ppat_var":"y"},"pvb_expr":{"Pexp_construct":[{"Lident":"true"},"None"]},"pvb_attributes":"__attrs","pvb_loc":"__loc"}]]},{"Pstr_value":["Nonrecursive",[{"pvb_pat":{"Ppat_var":"z"},"pvb_expr":{"Pexp_fun":["Nolabel","None",{"Ppat_var":"x"},{"Pexp_ident":{"Lident":"x"}}]},"pvb_attributes":"__attrs","pvb_loc":"__loc"}]]}]
+  


You can compase with other flags, for example --show-locs to display location:


$ ppxlib-pp-ast --json --show-locs --full-locs test.ml
-  [
-    {
-      "Pstr_value": [
-        "Nonrecursive",
-        [
-          {
-            "pvb_pat": {
-              "ppat_desc": {
-                "Ppat_var": {
-                  "txt": "x",
-                  "loc": {
-                    "loc_start": {
-                      "pos_fname": "test.ml",
-                      "pos_lnum": 1,
-                      "pos_bol": 0,
-                      "pos_cnum": 4
-                    },
-                    "loc_end": {
-                      "pos_fname": "test.ml",
-                      "pos_lnum": 1,
-                      "pos_bol": 0,
-                      "pos_cnum": 5
-                    },
-                    "loc_ghost": false
-                  }
-                }
-              },
-              "ppat_loc": {
-                "loc_start": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 1,
-                  "pos_bol": 0,
-                  "pos_cnum": 4
-                },
-                "loc_end": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 1,
-                  "pos_bol": 0,
-                  "pos_cnum": 5
-                },
-                "loc_ghost": false
-              },
-              "ppat_loc_stack": "__lstack",
-              "ppat_attributes": "__attrs"
-            },
-            "pvb_expr": {
-              "pexp_desc": {
-                "Pexp_constant": {
-                  "Pconst_integer": [
-                    "2",
-                    "None"
-                  ]
-                }
-              },
-              "pexp_loc": {
-                "loc_start": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 1,
-                  "pos_bol": 0,
-                  "pos_cnum": 8
-                },
-                "loc_end": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 1,
-                  "pos_bol": 0,
-                  "pos_cnum": 9
-                },
-                "loc_ghost": false
-              },
-              "pexp_loc_stack": "__lstack",
-              "pexp_attributes": "__attrs"
-            },
-            "pvb_attributes": "__attrs",
-            "pvb_loc": {
-              "loc_start": {
-                "pos_fname": "test.ml",
-                "pos_lnum": 1,
-                "pos_bol": 0,
-                "pos_cnum": 0
-              },
-              "loc_end": {
-                "pos_fname": "test.ml",
-                "pos_lnum": 1,
-                "pos_bol": 0,
-                "pos_cnum": 9
-              },
-              "loc_ghost": false
-            }
-          }
-        ]
-      ]
-    },
-    {
-      "Pstr_value": [
-        "Nonrecursive",
-        [
-          {
-            "pvb_pat": {
-              "ppat_desc": {
-                "Ppat_var": {
-                  "txt": "y",
-                  "loc": {
-                    "loc_start": {
-                      "pos_fname": "test.ml",
-                      "pos_lnum": 2,
-                      "pos_bol": 10,
-                      "pos_cnum": 14
-                    },
-                    "loc_end": {
-                      "pos_fname": "test.ml",
-                      "pos_lnum": 2,
-                      "pos_bol": 10,
-                      "pos_cnum": 15
-                    },
-                    "loc_ghost": false
-                  }
-                }
-              },
-              "ppat_loc": {
-                "loc_start": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 2,
-                  "pos_bol": 10,
-                  "pos_cnum": 14
-                },
-                "loc_end": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 2,
-                  "pos_bol": 10,
-                  "pos_cnum": 15
-                },
-                "loc_ghost": false
-              },
-              "ppat_loc_stack": "__lstack",
-              "ppat_attributes": "__attrs"
-            },
-            "pvb_expr": {
-              "pexp_desc": {
-                "Pexp_construct": [
-                  {
-                    "txt": {
-                      "Lident": "true"
-                    },
-                    "loc": {
-                      "loc_start": {
-                        "pos_fname": "test.ml",
-                        "pos_lnum": 2,
-                        "pos_bol": 10,
-                        "pos_cnum": 18
-                      },
-                      "loc_end": {
-                        "pos_fname": "test.ml",
-                        "pos_lnum": 2,
-                        "pos_bol": 10,
-                        "pos_cnum": 22
-                      },
-                      "loc_ghost": false
-                    }
-                  },
-                  "None"
-                ]
-              },
-              "pexp_loc": {
-                "loc_start": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 2,
-                  "pos_bol": 10,
-                  "pos_cnum": 18
-                },
-                "loc_end": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 2,
-                  "pos_bol": 10,
-                  "pos_cnum": 22
-                },
-                "loc_ghost": false
-              },
-              "pexp_loc_stack": "__lstack",
-              "pexp_attributes": "__attrs"
-            },
-            "pvb_attributes": "__attrs",
-            "pvb_loc": {
-              "loc_start": {
-                "pos_fname": "test.ml",
-                "pos_lnum": 2,
-                "pos_bol": 10,
-                "pos_cnum": 10
-              },
-              "loc_end": {
-                "pos_fname": "test.ml",
-                "pos_lnum": 2,
-                "pos_bol": 10,
-                "pos_cnum": 22
-              },
-              "loc_ghost": false
-            }
-          }
-        ]
-      ]
-    },
-    {
-      "Pstr_value": [
-        "Nonrecursive",
-        [
-          {
-            "pvb_pat": {
-              "ppat_desc": {
-                "Ppat_var": {
-                  "txt": "z",
-                  "loc": {
-                    "loc_start": {
-                      "pos_fname": "test.ml",
-                      "pos_lnum": 3,
-                      "pos_bol": 23,
-                      "pos_cnum": 27
-                    },
-                    "loc_end": {
-                      "pos_fname": "test.ml",
-                      "pos_lnum": 3,
-                      "pos_bol": 23,
-                      "pos_cnum": 28
-                    },
-                    "loc_ghost": false
-                  }
-                }
-              },
-              "ppat_loc": {
-                "loc_start": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 3,
-                  "pos_bol": 23,
-                  "pos_cnum": 27
-                },
-                "loc_end": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 3,
-                  "pos_bol": 23,
-                  "pos_cnum": 28
-                },
-                "loc_ghost": false
-              },
-              "ppat_loc_stack": "__lstack",
-              "ppat_attributes": "__attrs"
-            },
-            "pvb_expr": {
-              "pexp_desc": {
-                "Pexp_fun": [
-                  "Nolabel",
-                  "None",
-                  {
-                    "ppat_desc": {
-                      "Ppat_var": {
-                        "txt": "x",
-                        "loc": {
-                          "loc_start": {
-                            "pos_fname": "test.ml",
-                            "pos_lnum": 4,
-                            "pos_bol": 31,
-                            "pos_cnum": 36
-                          },
-                          "loc_end": {
-                            "pos_fname": "test.ml",
-                            "pos_lnum": 4,
-                            "pos_bol": 31,
-                            "pos_cnum": 37
-                          },
-                          "loc_ghost": false
-                        }
-                      }
-                    },
-                    "ppat_loc": {
-                      "loc_start": {
-                        "pos_fname": "test.ml",
-                        "pos_lnum": 4,
-                        "pos_bol": 31,
-                        "pos_cnum": 36
-                      },
-                      "loc_end": {
-                        "pos_fname": "test.ml",
-                        "pos_lnum": 4,
-                        "pos_bol": 31,
-                        "pos_cnum": 37
-                      },
-                      "loc_ghost": false
-                    },
-                    "ppat_loc_stack": "__lstack",
-                    "ppat_attributes": "__attrs"
-                  },
-                  {
-                    "pexp_desc": {
-                      "Pexp_ident": {
-                        "txt": {
-                          "Lident": "x"
-                        },
-                        "loc": {
-                          "loc_start": {
-                            "pos_fname": "test.ml",
-                            "pos_lnum": 5,
-                            "pos_bol": 41,
-                            "pos_cnum": 42
-                          },
-                          "loc_end": {
-                            "pos_fname": "test.ml",
-                            "pos_lnum": 5,
-                            "pos_bol": 41,
-                            "pos_cnum": 43
-                          },
-                          "loc_ghost": false
-                        }
-                      }
-                    },
-                    "pexp_loc": {
-                      "loc_start": {
-                        "pos_fname": "test.ml",
-                        "pos_lnum": 5,
-                        "pos_bol": 41,
-                        "pos_cnum": 42
-                      },
-                      "loc_end": {
-                        "pos_fname": "test.ml",
-                        "pos_lnum": 5,
-                        "pos_bol": 41,
-                        "pos_cnum": 43
-                      },
-                      "loc_ghost": false
-                    },
-                    "pexp_loc_stack": "__lstack",
-                    "pexp_attributes": "__attrs"
-                  }
-                ]
-              },
-              "pexp_loc": {
-                "loc_start": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 4,
-                  "pos_bol": 31,
-                  "pos_cnum": 32
-                },
-                "loc_end": {
-                  "pos_fname": "test.ml",
-                  "pos_lnum": 5,
-                  "pos_bol": 41,
-                  "pos_cnum": 43
-                },
-                "loc_ghost": false
-              },
-              "pexp_loc_stack": "__lstack",
-              "pexp_attributes": "__attrs"
-            },
-            "pvb_attributes": "__attrs",
-            "pvb_loc": {
-              "loc_start": {
-                "pos_fname": "test.ml",
-                "pos_lnum": 3,
-                "pos_bol": 23,
-                "pos_cnum": 23
-              },
-              "loc_end": {
-                "pos_fname": "test.ml",
-                "pos_lnum": 5,
-                "pos_bol": 41,
-                "pos_cnum": 43
-              },
-              "loc_ghost": false
-            }
-          }
-        ]
-      ]
-    }
-  ]
+  [{"Pstr_value":["Nonrecursive",[{"pvb_pat":{"ppat_desc":{"Ppat_var":{"txt":"x","loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":1,"pos_bol":0,"pos_cnum":4},"loc_end":{"pos_fname":"test.ml","pos_lnum":1,"pos_bol":0,"pos_cnum":5},"loc_ghost":false}}},"ppat_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":1,"pos_bol":0,"pos_cnum":4},"loc_end":{"pos_fname":"test.ml","pos_lnum":1,"pos_bol":0,"pos_cnum":5},"loc_ghost":false},"ppat_loc_stack":"__lstack","ppat_attributes":"__attrs"},"pvb_expr":{"pexp_desc":{"Pexp_constant":{"Pconst_integer":["2","None"]}},"pexp_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":1,"pos_bol":0,"pos_cnum":8},"loc_end":{"pos_fname":"test.ml","pos_lnum":1,"pos_bol":0,"pos_cnum":9},"loc_ghost":false},"pexp_loc_stack":"__lstack","pexp_attributes":"__attrs"},"pvb_attributes":"__attrs","pvb_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":1,"pos_bol":0,"pos_cnum":0},"loc_end":{"pos_fname":"test.ml","pos_lnum":1,"pos_bol":0,"pos_cnum":9},"loc_ghost":false}}]]},{"Pstr_value":["Nonrecursive",[{"pvb_pat":{"ppat_desc":{"Ppat_var":{"txt":"y","loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":2,"pos_bol":10,"pos_cnum":14},"loc_end":{"pos_fname":"test.ml","pos_lnum":2,"pos_bol":10,"pos_cnum":15},"loc_ghost":false}}},"ppat_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":2,"pos_bol":10,"pos_cnum":14},"loc_end":{"pos_fname":"test.ml","pos_lnum":2,"pos_bol":10,"pos_cnum":15},"loc_ghost":false},"ppat_loc_stack":"__lstack","ppat_attributes":"__attrs"},"pvb_expr":{"pexp_desc":{"Pexp_construct":[{"txt":{"Lident":"true"},"loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":2,"pos_bol":10,"pos_cnum":18},"loc_end":{"pos_fname":"test.ml","pos_lnum":2,"pos_bol":10,"pos_cnum":22},"loc_ghost":false}},"None"]},"pexp_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":2,"pos_bol":10,"pos_cnum":18},"loc_end":{"pos_fname":"test.ml","pos_lnum":2,"pos_bol":10,"pos_cnum":22},"loc_ghost":false},"pexp_loc_stack":"__lstack","pexp_attributes":"__attrs"},"pvb_attributes":"__attrs","pvb_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":2,"pos_bol":10,"pos_cnum":10},"loc_end":{"pos_fname":"test.ml","pos_lnum":2,"pos_bol":10,"pos_cnum":22},"loc_ghost":false}}]]},{"Pstr_value":["Nonrecursive",[{"pvb_pat":{"ppat_desc":{"Ppat_var":{"txt":"z","loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":3,"pos_bol":23,"pos_cnum":27},"loc_end":{"pos_fname":"test.ml","pos_lnum":3,"pos_bol":23,"pos_cnum":28},"loc_ghost":false}}},"ppat_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":3,"pos_bol":23,"pos_cnum":27},"loc_end":{"pos_fname":"test.ml","pos_lnum":3,"pos_bol":23,"pos_cnum":28},"loc_ghost":false},"ppat_loc_stack":"__lstack","ppat_attributes":"__attrs"},"pvb_expr":{"pexp_desc":{"Pexp_fun":["Nolabel","None",{"ppat_desc":{"Ppat_var":{"txt":"x","loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":4,"pos_bol":31,"pos_cnum":36},"loc_end":{"pos_fname":"test.ml","pos_lnum":4,"pos_bol":31,"pos_cnum":37},"loc_ghost":false}}},"ppat_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":4,"pos_bol":31,"pos_cnum":36},"loc_end":{"pos_fname":"test.ml","pos_lnum":4,"pos_bol":31,"pos_cnum":37},"loc_ghost":false},"ppat_loc_stack":"__lstack","ppat_attributes":"__attrs"},{"pexp_desc":{"Pexp_ident":{"txt":{"Lident":"x"},"loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":5,"pos_bol":41,"pos_cnum":42},"loc_end":{"pos_fname":"test.ml","pos_lnum":5,"pos_bol":41,"pos_cnum":43},"loc_ghost":false}}},"pexp_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":5,"pos_bol":41,"pos_cnum":42},"loc_end":{"pos_fname":"test.ml","pos_lnum":5,"pos_bol":41,"pos_cnum":43},"loc_ghost":false},"pexp_loc_stack":"__lstack","pexp_attributes":"__attrs"}]},"pexp_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":4,"pos_bol":31,"pos_cnum":32},"loc_end":{"pos_fname":"test.ml","pos_lnum":5,"pos_bol":41,"pos_cnum":43},"loc_ghost":false},"pexp_loc_stack":"__lstack","pexp_attributes":"__attrs"},"pvb_attributes":"__attrs","pvb_loc":{"loc_start":{"pos_fname":"test.ml","pos_lnum":3,"pos_bol":23,"pos_cnum":23},"loc_end":{"pos_fname":"test.ml","pos_lnum":5,"pos_bol":41,"pos_cnum":43},"loc_ghost":false}}]]}]
+  
File "test/code_path/test.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/code_path/test.ml _build/default/test/code_path/test.ml.corrected
diff --git a/_build/default/test/code_path/test.ml b/_build/default/test/code_path/test.ml.corrected
index 791c551..6a8d574 100644
--- a/_build/default/test/code_path/test.ml
+++ b/_build/default/test/code_path/test.ml.corrected
@@ -90,7 +90,7 @@ module Functor() = struct
end
let _ = let module M = Functor() in !M.code_path
[%%expect{|
-module Functor : functor () -> sig val code_path : string ref end
+module Functor : () -> sig val code_path : string ref end
- : string =
"(code_path(main_module_name Test)(submodule_path(Functor _))(enclosing_module First_class)(enclosing_value(x))(value(x))(fully_qualified_path Test.Functor._.x))"
|}]
File "test/metaquot/test.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/metaquot/test.ml _build/default/test/metaquot/test.ml.corrected
diff --git a/_build/default/test/metaquot/test.ml b/_build/default/test/metaquot/test.ml.corrected
index 026e8dc..8076aaa 100644
--- a/_build/default/test/metaquot/test.ml
+++ b/_build/default/test/metaquot/test.ml.corrected
@@ -535,35 +535,35 @@ let _ = [%expr [%e ()]]
[%%expect{|
Line _, characters 19-21:
Error: This expression should not be a unit literal, the expected type is
-       Ppxlib_ast.Ast.expression
+       Ppxlib.expression
|}]


let _ = [%pat? [%p ()]]
[%%expect{|
Line _, characters 19-21:
Error: This expression should not be a unit literal, the expected type is
-       Ppxlib_ast.Ast.pattern
+       Ppxlib.pattern
|}]


let _ = [%type: [%t ()]]
[%%expect{|
Line _, characters 20-22:
Error: This expression should not be a unit literal, the expected type is
-       Ppxlib_ast.Ast.core_type
+       Ppxlib.core_type
|}]


let _ = [%stri [%%i ()]]
[%%expect{|
Line _, characters 20-22:
Error: This expression should not be a unit literal, the expected type is
-       Ppxlib_ast.Ast.structure_item
+       Ppxlib.structure_item
|}]


let _ = [%sigi: [%%i ()]]
[%%expect{|
Line _, characters 21-23:
Error: This expression should not be a unit literal, the expected type is
-       Ppxlib_ast.Ast.signature_item
+       Ppxlib.signature_item
|}]


(* mistyped escapes (not producing ASTs at all) with attributes *)
@@ -572,33 +572,33 @@ let _ = [%expr [%e ()] [@attr]]
[%%expect{|
Line _, characters 19-21:
Error: This expression should not be a unit literal, the expected type is
-       Ppxlib_ast.Ast.expression
+       Ppxlib.expression
|}]


let _ = [%pat? [%p ()] [@attr]]
[%%expect{|
Line _, characters 19-21:
Error: This expression should not be a unit literal, the expected type is
-       Ppxlib_ast.Ast.pattern
+       Ppxlib.pattern
|}]


let _ = [%type: [%t ()] [@attr]]
[%%expect{|
Line _, characters 20-22:
Error: This expression should not be a unit literal, the expected type is
-       Ppxlib_ast.Ast.core_type
+       Ppxlib.core_type
|}]


let _ = [%stri module M = [%m ()] [@attr]]
[%%expect{|
Line _, characters 30-32:
Error: This expression should not be a unit literal, the expected type is
-       Ppxlib_ast.Ast.module_expr
+       Ppxlib.module_expr
|}]


let _ = [%sigi: module type M = [%m ()] [@attr]]
[%%expect{|
Line _, characters 36-38:
Error: This expression should not be a unit literal, the expected type is
-       Ppxlib_ast.Ast.module_type
+       Ppxlib.module_type
|}]
File "test/quoter/test.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/quoter/test.ml _build/default/test/quoter/test.ml.corrected
diff --git a/_build/default/test/quoter/test.ml b/_build/default/test/quoter/test.ml.corrected
index d028a9c..3f906ee 100644
--- a/_build/default/test/quoter/test.ml
+++ b/_build/default/test/quoter/test.ml.corrected
@@ -325,9 +325,22 @@ val quoted : expression =
{Ppxlib__.Import.loc_start =
{Ppxlib__.Import.pos_fname = "_none_"; pos_lnum = 1; pos_bol = 0;
pos_cnum = -1};
-           loc_end = ...; loc_ghost = ...};
-         ppat_loc_stack = ...; ppat_attributes = ...};
-       pvb_expr = ...; pvb_attributes = ...; pvb_loc = ...};
+           loc_end =
+            {Ppxlib__.Import.pos_fname = "_none_"; pos_lnum = 1; pos_bol = 0;
+             pos_cnum = -1};
+           loc_ghost = true};
+         ppat_loc_stack = []; ppat_attributes = []};
+       pvb_expr =
+        {Ppxlib__.Import.pexp_desc =
+          Ppxlib__.Import.Pexp_ident
+           {Ppxlib__.Import.txt = Ppxlib__.Import.Lident "foo";
+            loc =
+             {Ppxlib__.Import.loc_start =
+               {Ppxlib__.Import.pos_fname = "_none_"; pos_lnum = 1;
+                pos_bol = ...; pos_cnum = ...};
+              loc_end = ...; loc_ghost = ...}};
+         pexp_loc = ...; pexp_loc_stack = ...; pexp_attributes = ...};
+       pvb_attributes = ...; pvb_loc = ...};
...],
...);
pexp_loc = ...; pexp_loc_stack = ...; pexp_attributes = ...}
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-01-14 08:39.37: Job failed: Failed: Build failed