-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Meson functional tests #11073
base: master
Are you sure you want to change the base?
Meson functional tests #11073
Conversation
Triaged in Nix team meeting:
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2024-07-10-nix-team-meeting-minutes-160/49101/1 |
Co-Authored-By: Qyriad <[email protected]>
Co-Authored-By: Qyriad <[email protected]>
4fbc4b2
to
1dc9e3f
Compare
@GoldsteinE might you be interested in helping out with this? I think I just (hackily) fixed the CI eval issue so the actual interesting failures will show up. The differences between the Meson and Make bash environments for the functional tests is...very subtle! :( It makes debugging these failures hard. |
(! nix-instantiate --restrict-eval --eval -E 'builtins.readDir ../../src/nix-channel') | ||
nix-instantiate --restrict-eval --eval -E 'builtins.readDir ../../src/nix-channel' -I src=../../src | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fishing out some non-test-suite files like this is no good with the broken-up build. If we want to test ..
we should do it a different way (e.g. make some dirs in $TEST_ROOT
and cd
inside there).
I’ll take a look, but I don’t really know Meson. Unrelated, but I think one of the end goals here should be rewriting functional tests to something that is not bash. Writing logic in bash is extremely error-prone and I think replacing it with e.g. Python would make all of this logic much less brittle. |
@GoldsteinE Thank you!!
I agree! I wrote up #10823 for this. |
It is no longer feasible to define it in libnixstore, and that's good.
Need man pages, which we don't have yet.
- They should all be built in parallel - They should all use strict deps by default
This is a nice thing to have, and it made it easier to work on the Meson-ifcation of these functional tests too.
The symlinked `nix-profile.sh.in` was getting rewritten per the `%.in -> %` rule, which was clobbering the test also named `nix-profile.sh`.
The PRs that this depends on should be reviewed separately, but then it's good to go! |
Motivation
Run the functional test suite with Meson
Context
#2503
Depends on #11176Depends on #11177Depends on #11178
Depends on #11179
Priorities and Process
Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.