nixos/doc/writing-nixos-tests: Various improvements

Thanks to fricklerhandwerk for the many suggestions, most of which
I have fixupped into preceding commits.

Changed files
+19 -18
nixos
doc
manual
+8 -7
nixos/doc/manual/development/writing-nixos-tests.section.md
···
## Calling a test {#sec-calling-nixos-tests}
-
Tests are invoked a bit differently depending on whether the test lives in NixOS or in another project.
+
Tests are invoked differently depending on whether the test is part of NixOS or lives in a different project.
### Testing within NixOS {#sec-call-nixos-test-in-nixos}
-
-
Test modules can be instantiated into derivations in multiple ways.
Tests that are part of NixOS are added to [`nixos/tests/all-tests.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/all-tests.nix).
···
Overrides can be added by defining an anonymous module in `all-tests.nix`.
```nix
-
hostname = runTest { imports = [ ./hostname.nix ]; defaults.networking.firewall.enable = false; };
+
hostname = runTest {
+
imports = [ ./hostname.nix ];
+
defaults.networking.firewall.enable = false;
+
};
```
-
You can run a test with attribute name `mytest` in `nixos/tests/all-tests.nix` by invoking:
+
You can run a test with attribute name `hostname` in `nixos/tests/all-tests.nix` by invoking:
```shell
cd /my/git/clone/of/nixpkgs
-
nix-build -A nixosTests.mytest
+
nix-build -A nixosTests.hostname
```
### Testing outside the NixOS project {#sec-call-nixos-test-outside-nixos}
-
Outside the `nixpkgs` repository, you can instantiate the test by first acquiring the NixOS library,
+
Outside the `nixpkgs` repository, you can instantiate the test by first importing the NixOS library,
```nix
# regular nix
+11 -11
nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
···
<section xml:id="sec-calling-nixos-tests">
<title>Calling a test</title>
<para>
-
Tests are invoked a bit differently depending on whether the test
-
lives in NixOS or in another project.
+
Tests are invoked differently depending on whether the test is
+
part of NixOS or lives in a different project.
</para>
<section xml:id="sec-call-nixos-test-in-nixos">
<title>Testing within NixOS</title>
-
<para>
-
Test modules can be instantiated into derivations in multiple
-
ways.
-
</para>
<para>
Tests that are part of NixOS are added to
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/all-tests.nix"><literal>nixos/tests/all-tests.nix</literal></link>.
···
<literal>all-tests.nix</literal>.
</para>
<programlisting language="bash">
-
hostname = runTest { imports = [ ./hostname.nix ]; defaults.networking.firewall.enable = false; };
+
hostname = runTest {
+
imports = [ ./hostname.nix ];
+
defaults.networking.firewall.enable = false;
+
};
</programlisting>
<para>
-
You can run a test with attribute name <literal>mytest</literal>
-
in <literal>nixos/tests/all-tests.nix</literal> by invoking:
+
You can run a test with attribute name
+
<literal>hostname</literal> in
+
<literal>nixos/tests/all-tests.nix</literal> by invoking:
</para>
<programlisting>
cd /my/git/clone/of/nixpkgs
-
nix-build -A nixosTests.mytest
+
nix-build -A nixosTests.hostname
</programlisting>
</section>
<section xml:id="sec-call-nixos-test-outside-nixos">
<title>Testing outside the NixOS project</title>
<para>
Outside the <literal>nixpkgs</literal> repository, you can
-
instantiate the test by first acquiring the NixOS library,
+
instantiate the test by first importing the NixOS library,
</para>
<programlisting language="bash">
# regular nix