Open roptat opened 2 years ago
hej!
For opamroot-versions
, BASEDIR
should be replaced in the output. Is it the only test failing like that?
For pin.unix
, the tests works for some distribution (tweaked for CI, cf. replacement string '(apt-get|brew|port)' -> 'syspkgmanager'
). You can disable it by changing its extension, usual is test.disabled
. For that you need to regenerate dune file with make reftest-gen
. But this will override you changes for opamrt-big-upgrade
.
Some tests need network for fetching opam repo (and in 2.2, for fallback test). It is better to add your change in tests/reftests/gen.ml
than in the dune.inc
directly, you can then regenerate and have the diff. We try to not depends on network/opam repository (opam tests with first line N0REP0
), but it is not always easy/feasible.
I give it a try networkless, after having downloaded needed repos, all worked except format-upgrade
a it needs to pin to an external url. With your changes, it also worked locally for opamrt-big-upgrade
.
We should to add a way to run a subset of tests, with specifying local path for repos, it's better than no test.
Feel free to share your other changes, here or in a PR, to see if we can integrate some to ease Guix releasing.
opamroot-versions
is the only test failing with BASEDIR
.
I'll disable pin.unix
. If I modify gen.ml
, won't that also recreate the expected output files?
Does it also complain about the repo having no version when you run opamrt-big-upgrade
? All other tests that require a repository work properly without network after my changes (it was something I did in a previous version, and tests used to work fine in 2.1.2).
Currently my changes to tests are:
/homeless-shelter
by default)upgrade-format
, which as you noticed, tries to clone a repository/bin/sh
with the actual path to sh
in legacy-local
and legacy-git
LIBRARY_PATH
in testing-env
and set it to glibc's lib
directory.
Hi,
I'm trying to update opam in Guix. We currently have 2.1.2.
I managed to build opam, but various tests fail, and although I managed to fix some of them by providing what was missing in the build environment, three are still failing with no obvious solution.
First,
tests/reftests/opamroot-versions
is failing with many differences such as this one:It looks like BASEDIR is not expanded in the expected output?
Second,
tests/reftests/pin.unix
fails with:and the rest of the file is completely different, probably because of that. Is there a way to disable this test on Guix or let it pass anyway by faking another distro?
Lastly,
tests/reftests/opamrt-big-upgrade
fails with:and I suppose the rest of the differences are due to this error. Note that right before the test I have:
Also note that networking is disabled (to ensure reproducibility) inside the build environment, so downloading these archives is not possible. Instead, I let Guix manage the download of these repositories. Since autogenerated tarballs are not stable, I download from the git repository directly. Then, I patch
dune.inc
so the tests can find these repositories.I don't think there should be any difference between the git clone (at the specific commit) and the autogenerated tarball content. Just in case this can help, here's the code that patches
dune.inc
:In the end, the rules look like this: