Skip to content

Git negotiation test fails when git daemon is missing #14027

@Leonidas-from-XIV

Description

@Leonidas-from-XIV

Expected Behavior

The tests are all passing.

Actual Behavior

File "test/expect-tests/dune_pkg/rev_store_fetch_depth/rev_store_fetch_depth_test.ml", line 1, characters 0-0:
diff --git a/_build/default/test/expect-tests/dune_pkg/rev_store_fetch_depth/rev_store_fetch_depth_test.ml b/_build/.sandbox/4d0809bf1261a43eaac8c00d9cf28850/default/test/expect-tests/dune_pkg/rev_store_fetch_depth/rev_store_fetch_depth_test.ml.corrected
index 5134d04bda..5ca5722962 100644
--- a/_build/default/test/expect-tests/dune_pkg/rev_store_fetch_depth/rev_store_fetch_depth_test.ml
+++ b/_build/.sandbox/4d0809bf1261a43eaac8c00d9cf28850/default/test/expect-tests/dune_pkg/rev_store_fetch_depth/rev_store_fetch_depth_test.ml.corrected
@@ -195,5 +195,5 @@ let%expect_test "second fetch uses refs for efficient negotiation (fix #13323)"
   (* With refs created by previous fetches, git can tell the server what it
      already has, avoiding redundant downloads. The count does not include
      refs from the unrelated remote due to URL-based namespacing. *)
-  [%expect {| Negotiation 'have' lines sent: 3 |}]
+  [%expect {| |}]
 ;;

I've narrowed it down and the issue seems to be that the code is launching git-daemon but despite being part of Git according to the linked page, my OS does not seem to ship it:

$ git daemon
git: 'daemon' is not a git command. See 'git --help'.

Reproduction

  1. Don't have git daemon installed
  2. dune runtest

Specifications

  • Version of dune (output of dune --version): main
  • Version of ocaml (output of ocamlc --version): 5.4.1
  • Operating system (distribution and version): Fedora 43

Additional information

  • Link to gist with verbose output (run dune with the --verbose flag):

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions