about summary refs log tree commit diff
path: root/nixos/lib
AgeCommit message (Collapse)AuthorFilesLines
2020-03-24Compress optionsJSON using brotliEelco Dolstra1-0/+4
2020-03-19nixos: Fix pkgs exportingSilvan Mosberger1-2/+2
This needs adjustment after dcdd232939232d04c1132b4cc242dd3dac44be8c
2020-03-14nixos/lib: use removePrefix in escapeSystemdPathflorianjacob1-1/+1
2020-03-13Merge pull request #81241 from thefloweringash/nesting-systemMichele Guerini Rocco1-0/+6
nixos/activation: propagate system to nested configurations
2020-03-13nixos/python-test-driver: allow single char as hostName and fix misleading ↵Maximilian Bosch1-2/+2
error-message In case of invalid chars, the error-message references "perl variables" which is not the case here as the python-based framework is used.
2020-03-05nixos/activation: use eval-config's system argument for nestingAndrew Childs1-0/+6
This avoids a possible surprise if the user is using `nixpkgs.system` and `nesting.children`. `nesting.children` is expected to ignore all parent configuration so we shouldn't propagate the user-facing option `nixpkgs.system`. To avoid doing so, we introduce a new internal option for holding the value passed to eval-config.nix, and use that when recursing for nesting.
2020-02-14nixosTests: Make VLAN argument optional in python test driverJacek Galowicz1-1/+1
2020-02-14Merge pull request #79659 from worldofpeace/cleanup-python-test-libworldofpeace2-7/+13
testing: fix runInMachineWithX/runInMachine
2020-02-09Merge pull request #79335 from flokli/deprecate-perl-vm-testsworldofpeace1-1/+5
nixos/testing: add deprecation notice for Perl VM tests
2020-02-09nixos/testing: add deprecation notice for Perl VM testsFlorian Klink1-1/+5
Most VM tests have been migrated to use the python test driver (introduced in #71684), the migration is tracked in #72828 (which also thankfully uncovered and fixed many currently broken tests) While increasing the acceptance and adoption of NixOS integration tests by using a more popular language, there was also nobody willing to do larger refactors in the currently very convoluted test infrastructure. We plan to remove the perl infrastructure between the 20.03 and 20.09 release, to be able to do these refactorings. Some people might be using Perl tests in their internal CI, so print a warning for 20.03, and give users time to move to the python testing infrastructure.
2020-02-09testing: fix runInMachineWithXworldofpeace1-1/+4
2020-02-09testing-python: readd auto displayManagerworldofpeace1-1/+4
we import it for the runInMachineWithX
2020-02-09testing-python: fix runInMachineworldofpeace1-5/+5
The test script's were unported. It's unclear whether the preBuild or postBuild will work as expect, due to the linting of the test scripts.
2020-02-09Merge pull request #79368 from sorki/ext4resizeSamuel Dionne-Riel1-16/+3
nixos/lib/make-ext4-fs: fall back to resize2fs -M if exact resize fails
2020-02-09nixos/lib/make-ext4-fs: fall back to resize2fs -M if exact resize failsRichard Marko1-16/+3
See also - https://bugs.launchpad.net/ubuntu/+source/e2fsprogs/+bug/1415077/comments/4 - https://github.com/NixOS/nixpkgs/pull/62262
2020-02-07nixos/test: Add copy_from_host and copy_from_host_via_shell to pythonJacek Galowicz1-4/+40
test driver
2020-02-01Merge pull request #59855 from volth/qemu-cpu-passthruJohn Ericson1-2/+2
runInLinuxVM, test-driver: pass host's cpu type to guest vm
2020-01-27Merge pull request #78265 from Synthetica9/https-homepagesSilvan Mosberger1-2/+2
treewide: fix redirected urls
2020-01-26nixosTests: Drop invalid utf characters in command outputJacek Galowicz1-1/+1
2020-01-22treewide: fix redirected urlsPatrick Hilhorst1-2/+2
According to https://repology.org/repository/nix_unstable/problems, we have a lot of packages that have http links that redirect to https as their homepage. This commit updates all these packages to use the https links as their homepage. The following script was used to make these updates: ``` curl https://repology.org/api/v1/repository/nix_unstable/problems \ | jq '.[] | .problem' -r \ | rg 'Homepage link "(.+)" is a permanent redirect to "(.+)" and should be updated' --replace 's@$1@$2@' \ | sort | uniq > script.sed find -name '*.nix' | xargs -P4 -- sed -f script.sed -i ```
2020-01-19Merge pull request #77587 from singron/fix-sharedFlorian Klink1-2/+2
test-driver.py: Share the shared dir between VMs
2020-01-19test-driver.py: Use /tmp/shared for copy_from_vmEric Culp1-1/+1
The docstring says it uses a directory shared among all vms, although that doesn't seem necessary for the functionality. However, it does need to be consistent between the guest and host.
2020-01-17Merge pull request #77662 from marijanp/verbose-python-test-driverFlorian Klink1-5/+13
nixos/test: added verbose output for failed tests
2020-01-15runInLinuxVM, test-driver: pass host's cpu type to guest vmvolth1-2/+2
'kvm64' is the most generic CPU, which does not support SSE4.2, AVX and other ISA extentions.
2020-01-14test-driver.py: fix decoding of VM outputErik Arvstedt1-1/+2
The codec format 'unicode_escape' was introduced in 52ee102 to handle undecodable bytes in boot menus. This made the problem worse as unicode chars outside of iso-8859-1 produce garbled output and valid utf-8 strings (such as "\x" ) trigger decoding errors. Fix this by using the default 'utf-8' codec and by explicitly ignoring decoding errors.
2020-01-14test-driver.py: specify coreutils dependencyErik Arvstedt1-1/+1
Otherwise the driver script fails when coreutils are not in PATH.
2020-01-14nixos/test: added verbose output for failed testsMarijan Petričević1-5/+13
2020-01-12test-driver.py: Share the shared dir between VMsEric Culp1-1/+1
This changes the python test driver to match the behavior of the perl test driver. I.e. the directory mounted into /tmp/shared should be the same for all machines. This probably fixes many tests, but I found this while investigating failures in nixos/tests/ceph-multi-node.nix.
2019-12-22nixos/python-test-driver: add an option to disable python linterMaximilian Bosch1-3/+7
While it's a good idea to automate the linting of the python code used for our tests, I think that it can be quite distracting when hacking on a NixOS test. I figured that it might be more convenient to add an option as a shortcut for this to avoid that everyone needs to dig into the test driver again.
2019-12-15nixos/displayManager: deprecate separate options for default wm/dmJan Tojnar2-4/+2
The upstream session files display managers use have no concept of sessions being composed from desktop manager and window manager. To be able to set upstream session files as default session, we need a single option. Having two different ways to set default session would be confusing, though, so we decided to deprecate the old method. We also created separate script for each session, just like we already had a separate desktop file for each one, and started using displayManager.sessionPackages mechanism to make the session handling more uniform.
2019-12-13nixos: compress make-ext4-fs with zstdBernardo Meurer1-18/+26
2019-12-03nixos/test: Use retry() in all looping functions that need timeoutsJacek Galowicz1-35/+73
2019-12-01Merge pull request #74077 from 7c6f434c/add-test-driver-py-copy-from-vmFlorian Klink1-1/+34
Add test driver py copy from vm
2019-11-25Merge pull request #73966 from d-goldin/nixosoptions_xml_strctxDomen Kožar1-1/+1
make-options-doc: fix string context issues
2019-11-25test-driver.py: add Machine.copy_from_vmMichael Raskin1-0/+33
2019-11-25test-driver.py: Fix the shared directory referenceMichael Raskin1-1/+1
2019-11-25nixos/tests: fail on failing subtestsRobin Gloster1-3/+4
This was the behaviour in the perl test driver too and a regression. Also cleaned up unused imports
2019-11-23make-options-doc: fix string context issuesDima1-1/+1
When using `documentation.nixos.includeAllModules = true;` with external modules, the string context might contain dependencies to derivations and so `toFile` refuses to evaluate; ``` error: in 'toFile': the file 'options.xml' cannot refer to derivation outputs, at [...]/nixpkgs/nixos/lib/make-options-doc/default.nix:89:16 ``` This is not an issue when using `writeText` (instead of manually stripping the context).
2019-11-21Merge pull request #73190 from flokli/ceph-tests-pythonFlorian Klink1-8/+16
WIP: nixos/ceph: port tests to python
2019-11-20nixos/test: let python driver evaluate test code in global scope so theJacek Galowicz1-1/+1
user can define and use functions
2019-11-20nixos/test: If qemu monitor returns 0, simply return (like perl script does)Jacek Galowicz1-2/+7
2019-11-20nixos/test: Fix child environment of python driverJacek Galowicz1-6/+9
2019-11-15Merge pull request #73251 from worldofpeace/remove-slimworldofpeace2-2/+0
nixos/slim: remove
2019-11-11nixos/slim: removeworldofpeace2-2/+0
The SLIM project is abandoned and their last release was in 2013. Because of this it poses a security risk to systems, no one is working on it or picked up maintenance. It also lacks compatibility with systemd and logind sessions. For users, there liikely isn't anything like slim that's as lightweight in terms of dependencies.
2019-11-11test-driver: add mypy supportJörg Thalheim2-91/+103
It's a good idea to expand this in future to test code as well, so we get type checking there as well.
2019-11-11nixos/tests: fix succeed() with multiple commandsFlorian Klink1-3/+5
we previously immediately returned the first commands output, and didn't execute any of the other commands. Now, return the last commands output. This should be documented in the method docstring.
2019-11-08nixos/tests: correct arguments to get_unit_infoLeonhard Markert1-1/+1
2019-11-08nixos/tests: improve get_unit_info expressiveness on failureMarijan Petricevic1-1/+5
2019-11-07Merge pull request #72943 from marijanp/port-test-driver-pythonworldofpeace1-0/+13
Port remaining test-driver functions to python
2019-11-07Merge pull request #72947 from tfc/boot-test-port-fixworldofpeace1-2/+2
Boot test port fix