diff options
author | Ben Burdette <bburdette@users.noreply.github.com> | 2022-05-25 10:41:10 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-25 10:41:10 -0600 |
commit | 9a5ea6c359d5dc8a9a9c603a3c63ca808b04c15b (patch) | |
tree | e4a8f5e916b5a08fdfa82f723dae4499dec5bf69 /doc/manual | |
parent | 6031a36208dd174f05f094898d8ad35e5366106f (diff) | |
parent | d8398d33c9a09e1f5599127ae6d477e7e0868b55 (diff) |
Merge branch 'master' into debug-exploratory-PR
Diffstat (limited to 'doc/manual')
-rw-r--r-- | doc/manual/src/contributing/hacking.md | 38 | ||||
-rw-r--r-- | doc/manual/src/release-notes/rl-next.md | 3 |
2 files changed, 29 insertions, 12 deletions
diff --git a/doc/manual/src/contributing/hacking.md b/doc/manual/src/contributing/hacking.md index 90a8f1f94..59ce5cac7 100644 --- a/doc/manual/src/contributing/hacking.md +++ b/doc/manual/src/contributing/hacking.md @@ -71,18 +71,6 @@ To install it in `$(pwd)/outputs` and test it: nix (Nix) 3.0 ``` -To run a functional test: - -```console -make tests/test-name-should-auto-complete.sh.test -``` - -To run the unit-tests for C++ code: - -``` -make check -``` - If you have a flakes-enabled Nix you can replace: ```console @@ -94,3 +82,29 @@ by: ```console $ nix develop ``` + +## Testing + +Nix comes with three different flavors of tests: unit, functional and integration. + +### Unit-tests + +The unit-tests for each Nix library (`libexpr`, `libstore`, etc..) are defined +under `src/{library_name}/tests` using the +[googletest](https://google.github.io/googletest/) framework. + +You can run the whole testsuite with `make check`, or the tests for a specific component with `make libfoo-tests_RUN`. Finer-grained filtering is also possible using the [--gtest_filter](https://google.github.io/googletest/advanced.html#running-a-subset-of-the-tests) command-line option. + +### Functional tests + +The functional tests reside under the `tests` directory and are listed in `tests/local.mk`. +The whole testsuite can be run with `make install && make installcheck`. +Individual tests can be run with `make tests/{testName}.sh.test`. + +### Integration tests + +The integration tests are defined in the Nix flake under the `hydraJobs.tests` attribute. +These tests include everything that needs to interact with external services or run Nix in a non-trivial distributed setup. +Because these tests are expensive and require more than what the standard github-actions setup provides, they only run on the master branch (on <https://hydra.nixos.org/jobset/nix/master>). + +You can run them manually with `nix build .#hydraJobs.tests.{testName}` or `nix-build -A hydraJobs.tests.{testName}` diff --git a/doc/manual/src/release-notes/rl-next.md b/doc/manual/src/release-notes/rl-next.md index a808e145a..878916dc9 100644 --- a/doc/manual/src/release-notes/rl-next.md +++ b/doc/manual/src/release-notes/rl-next.md @@ -37,3 +37,6 @@ :c Go until end of program, exception, or builtins.break(). :s Go one step ``` + +* `builtins.fetchTree` (and flake inputs) can now be used to fetch plain files + over the `http(s)` and `file` protocols in addition to directory tarballs. |