Skip to content
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

nixos/tests/openldap: fix evaluation when auto-called #113584

Merged
merged 1 commit into from
Feb 18, 2021

Conversation

sternenseemann
Copy link
Member

The NixOS manual documents that you can invoke every tests using

nix-build path/to/nixos/tests/test.nix

which was not the case for openldap since it is not autocallable, but
requires pkgs and system as arguments. Usually, make-test-pythons.nix
takes care of this if it is imported at the top-level, but since
openldap.nix contains multiple tests, this was not the case.

This is however easily fixed by:

  • Adding default values for the pkgs and system arguments based on the
    definition in make-test-python.nix
  • Passing pkgs and system explicitly to make-test-python.nix to ensure
    the pkgs and system values passed from all-tests.nix are used.
Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

The NixOS manual documents that you can invoke every tests using

    nix-build path/to/nixos/tests/test.nix

which was not the case for openldap since it is not autocallable, but
requires pkgs and system as arguments. Usually, make-test-pythons.nix
takes care of this if it is imported at the top-level, but since
openldap.nix contains multiple tests, this was not the case.

This is however easily fixed by:

* Adding default values for the pkgs and system arguments based on the
  definition in make-test-python.nix
* Passing pkgs and system explicitly to make-test-python.nix to ensure
  the pkgs and system values passed from all-tests.nix are used.
@ofborg ofborg bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux labels Feb 18, 2021
@Ma27 Ma27 merged commit 2ec9a72 into NixOS:master Feb 18, 2021
@sternenseemann sternenseemann deleted the openldap-tests branch February 18, 2021 20:15
@sternenseemann sternenseemann restored the openldap-tests branch July 24, 2021 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants