Skip to content

make test-rewatch is documented as the Rust build system's test command but tests the OCaml one #8969

Closed

Description

@cristianoc

Found by differential semantic drift analysis from a7721303 to b123b7c3.

What is broken

The Rust build system's docs give make test-rewatch as its test command, but that target runs the suite against the OCaml build system.

  • rewatch/README.md L39-L40 lists make test-rewatch under "Building and testing" for the Rust implementation, and rewatch/AGENTS.md L75-L81 describes it as rewatch's integration tests.
  • Makefile L188-L189 runs ./rewatch/tests/suite.sh $(RESCRIPT_EXE), and L81 sets RESCRIPT_EXE = $(BIN_DIR)/rescript.exe, which compiler/sync/dune promotes from rewatch-ocaml/rescript_ocaml.exe. The Rust binary is rescript-rust.exe (L82), and test-rewatch depends on lib, which does not build the rewatch target.
  • CI runs the suite on rescript-rust.exe only for linux-arm64 (ci.yml L273-L276).

So someone changing rewatch/src/*.rs and running make test-rewatch, as the Rust docs say, neither rebuilds nor tests the Rust binary.

Introduced by #8780, which made rescript.exe the OCaml build system; before it the same recipe tested the Rust binary.

Possible cause (speculation only)

A guess, not established: the port updated the OCaml build system's docs and the root instructions, and the Rust docs, written when there was one implementation, were not revisited.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions