nixos/testing: Improve interactive docs
This commit is contained in:
parent
6a78b41476
commit
7cdc9bc340
@ -38,6 +38,12 @@ directory.
|
||||
|
||||
## Interactive-only test configuration {#sec-nixos-test-interactive-configuration}
|
||||
|
||||
You can add configuration that is specific to the interactive test driver, by adding to the `interactive` option.
|
||||
`interactive` is a copy of the regular test options namespace, and is used by the interactive test driver.
|
||||
It can be helpful for troubleshooting changes that you don't want to apply to regular test runs.
|
||||
The `.driverInteractive` attribute combines the regular test configuration with
|
||||
definitions from the [`interactive` submodule](#opt-interactive). This gives you
|
||||
a more usable, graphical, but slightly different configuration.
|
||||
|
||||
You can add your own interactive-only test configuration by adding extra
|
||||
configuration to the [`interactive` submodule](#opt-interactive).
|
||||
|
||||
To interactively run only the regular configuration, build the `<test>.driver` attribute
|
||||
instead, and call it with the flag `result/bin/nixos-test-driver --interactive`.
|
||||
|
@ -42,12 +42,23 @@ $ ./result/bin/nixos-test-driver --keep-vm-state
|
||||
<section xml:id="sec-nixos-test-interactive-configuration">
|
||||
<title>Interactive-only test configuration</title>
|
||||
<para>
|
||||
You can add configuration that is specific to the interactive test
|
||||
driver, by adding to the <literal>interactive</literal> option.
|
||||
<literal>interactive</literal> is a copy of the regular test
|
||||
options namespace, and is used by the interactive test driver. It
|
||||
can be helpful for troubleshooting changes that you don’t want to
|
||||
apply to regular test runs.
|
||||
The <literal>.driverInteractive</literal> attribute combines the
|
||||
regular test configuration with definitions from the
|
||||
<link linkend="opt-interactive"><literal>interactive</literal>
|
||||
submodule</link>. This gives you a more usable, graphical, but
|
||||
slightly different configuration.
|
||||
</para>
|
||||
<para>
|
||||
You can add your own interactive-only test configuration by adding
|
||||
extra configuration to the
|
||||
<link linkend="opt-interactive"><literal>interactive</literal>
|
||||
submodule</link>.
|
||||
</para>
|
||||
<para>
|
||||
To interactively run only the regular configuration, build the
|
||||
<literal><test>.driver</literal> attribute instead, and call
|
||||
it with the flag
|
||||
<literal>result/bin/nixos-test-driver --interactive</literal>.
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
@ -6,11 +6,31 @@ in
|
||||
options = {
|
||||
interactive = mkOption {
|
||||
description = mdDoc ''
|
||||
Tests [can be run interactively](#sec-running-nixos-tests-interactively).
|
||||
Tests [can be run interactively](#sec-running-nixos-tests-interactively)
|
||||
using the program in the test derivation's `.driverInteractive` attribute.
|
||||
|
||||
When they are, the configuration will include anything set in this submodule.
|
||||
|
||||
You can set any top-level test option here.
|
||||
|
||||
Example test module:
|
||||
|
||||
```nix
|
||||
{ config, lib, ... }: {
|
||||
|
||||
nodes.rabbitmq = {
|
||||
services.rabbitmq.enable = true;
|
||||
};
|
||||
|
||||
# When running interactively ...
|
||||
interactive.nodes.rabbitmq = {
|
||||
# ... enable the web ui.
|
||||
services.rabbitmq.managementPlugin.enable = true;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
For details, see the section about [running tests interactively](#sec-running-nixos-tests-interactively).
|
||||
'';
|
||||
type = moduleType;
|
||||
visible = "shallow";
|
||||
|
Loading…
Reference in New Issue
Block a user