Commit graph

160 commits

Author SHA1 Message Date
Eelco Dolstra
f3d94cfc23 Revert "Add the tool "nixos-typecheck" that can check an option declaration to:"
This reverts commit cad8957eab. It
breaks NixOps, but more importantly, such major changes to the module
system really need to be reviewed.
2016-03-01 20:52:06 +01:00
aszlig
e45c211b50
nixos/tests/chromium: Split up into subtests
This makes it easier to test just a specific channel rather than to
force testing all builds down the users/testers throat. Especially this
makes it easier to test NixOS channel upgrades only against the Chromium
stable channel instead of just removing the beta/dev channels from the
tests entirely (as done in 69ec09f38a).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-03-01 01:04:51 +01:00
aszlig
7eea91fbc0
nixos/release: Use callSubTests for subtests
Should clean up a lot of these redundant lines for various sub-tests.

Note that the tests.boot* are now called tests.boot.boot*, but otherwise
all the test attribute names should stay the same.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @edolstra
Cc: @wkennington
Cc: @bobvanderlinden
2016-03-01 01:04:42 +01:00
aszlig
b3337edd0b
nixos/release.nix: Add a callSubTests function
This should de-clutter the various redundant lines of callTest's on
subtests so that every main test file should have only one line with a
callSubTests instead.

Overrides work the same way as callTest, except that if the system
attribute is explicitly specified we do not generate attributes for all
available systems.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @edolstra
2016-03-01 01:04:35 +01:00
aszlig
5bab623fb9
nixos/tests/virtualbox: Split up subtests
Now subtests are separate derivations, because the individual tests do
not depend on state from previous test runs.

This has the advantage that it's easier to run individiual tests and
it's also easier to pinpoint individual tests that randomly fail.

I ran all of these tests locally and they still succeed.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-02-29 20:15:31 +01:00
Luca Bruno
55c20bfe89 Merge pull request #10288 from lethalman/gnomeiso
installer: add graphical GNOME iso
2016-02-29 15:56:47 +01:00
Luca Bruno
aa9576bceb installer: add graphical GNOME iso 2016-02-29 15:51:38 +01:00
Thomas Strobel
cad8957eab Add the tool "nixos-typecheck" that can check an option declaration to:
- Enforce that an option declaration has a "defaultText" if and only if the
   type of the option derives from "package", "packageSet" or "nixpkgsConfig"
   and if a "default" attribute is defined.

 - Enforce that the value of the "example" attribute is wrapped with "literalExample"
   if the type of the option derives from "package", "packageSet" or "nixpkgsConfig".

 - Warn if a "defaultText" is defined in an option declaration if the type of
   the option does not derive from "package", "packageSet" or "nixpkgsConfig".

 - Warn if no "type" is defined in an option declaration.
2016-02-29 01:09:00 +01:00
Eelco Dolstra
d4636fa254 Revert "Add a way to pin a NixOS version within the module system."
This reverts commit a5992ad61b. Motivation:

a5992ad61b (commitcomment-14986820)
2016-02-27 20:48:12 +01:00
Vladimír Čunát
889351af8b Revert "Merge #12357: nixos docs: show references to packages"
The PR wasn't good enough yet.
This reverts commit b2a37ceeea, reversing
changes made to 7fa9a1abce.
2016-02-03 12:16:33 +01:00
Vladimír Čunát
b2a37ceeea Merge #12357: nixos docs: show references to packages 2016-02-03 10:07:27 +01:00
Eelco Dolstra
cc925d0506 boot.initrd.network: Support DHCP
This allows us to use it for EC2 instances.
2016-02-02 19:59:27 +01:00
Dan Peebles
dd18447055 grsecurity: add NixOS VM test 2016-01-24 04:06:19 +00:00
Rok Garbas
109ba4c861 nixos: add test for postgresql, fixes #11146 2016-01-20 03:42:59 +01:00
Vladimír Čunát
b9f6dfe8c5 nixos manuals: allow displaying package references
The manuals are now evaluated with each derivation in `pkgs` (recursively)
replaced by a fake with path "\${pkgs.path.to.the.attribute}".
It isn't perfect, but it seems to cover a vast majority of use cases.
Caveat: even if the package is reached by a different means,
the path above will be shown and not e.g. `${config.services.foo.package}`.

As before, defaults created by `mkDefault` aren't displayed,
but documentation shouldn't (mostly) be a reason to use that anymore.

Note: t wouldn't be enough to just use `lib.mapAttrsRecursive`,
because derivations are also (special) attribute sets.
2016-01-13 12:03:18 +01:00
Benjamin Staffin
fe8498f609 nixos/mathics: New service and test 2016-01-02 14:34:55 -08:00
Dan Peebles
cd7612b841 amazon-image: enable configure-from-userdata and the corresponding VM test 2015-12-30 04:59:52 +00:00
Eelco Dolstra
7906169ce1 Add some preferLocalBuild 2015-12-29 17:21:49 +01:00
aszlig
4c61faa009
nixos/tests/networking: Add a test for loopback
It serves as a regression test, because right now if you enable
networking.useNetworkd the default loopback interface doesn't get
assigned any IP addresses.

To be sure, I have bisected this and it has been introduced with the
update to systemd 228 in 1da87d4.

Only the "scripted" networking tests have to succeed in order to trigger
a channel update of nixos-unstable, so I'm leaving this test as broken
and we have to figure out next what's the *exact* reason for the
breakage.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-12-18 07:09:42 +01:00
Thomas Tuegel
899c554f65 nixos/tests: test SDDM with KDE 5 enabled 2015-12-11 07:09:08 -06:00
Rodney Lorrimar
2198381235 nixos tests: pump.io: init 2015-12-06 13:35:21 +00:00
Thomas Tuegel
314d3e52e8 add nixos/tests/sddm 2015-11-23 06:39:19 -06:00
Nicolas B. Pierron
a5992ad61b Add a way to pin a NixOS version within the module system.
This modification add a way to re-evaluate the module system with a
different version of NixOS, or with a different set of arguments.
2015-11-19 20:58:45 +00:00
Eelco Dolstra
f596f0323f Disable the ec2-config test
"amazon-init.nix" is not included in the default AMIs because it
unconditionally runs a nixos-rebuild. Also, the test has never worked
(http://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.ec2-config).
2015-09-28 13:47:14 +02:00
Luca Bruno
dfeee51818 nixos tests: add gdm test 2015-09-15 14:25:36 +02:00
Eelco Dolstra
d234c64032 Disable lightdm test
It's hanging in the OCR step for hours.

@aszlig

http://hydra.nixos.org/build/24268601
2015-08-17 10:48:04 +02:00
Eelco Dolstra
4232f5d219 Disable system_tarball_pc and fix eval
It refers to a kernel version that no longer exists.

(cherry picked from commit e4b9624ca8)
2015-07-22 12:27:15 +02:00
Joachim Schiele
0731489953 all tests: added meta.maintainers section 2015-07-12 12:29:51 +02:00
William A. Kennington III
e861889e99 nixos/tests/installer: Add a testcase for fat32 /boot 2015-07-08 12:05:31 -07:00
Dan Peebles
10e75453b2 Factor the NixOS channel building code out into its own file, so I can use it elsewhere 2015-06-13 21:55:29 -04:00
Dan Peebles
4b758e374e Initial attempt at configuring from EC2 userdata (with input from cstrahan). Now with VM tests! 2015-06-11 23:16:35 -04:00
Dan Peebles
b6c589b2da Simple EC2 user-data VM test 2015-06-11 22:54:04 -04:00
Eelco Dolstra
d906939e74 Installer tests: Don't use the ISO
We already have separate tests for checking whether the ISO boots
correctly, so it's not necessary to do that here. So now
tests/installer.nix just tests nixos-install, from a regular NixOS VM
that uses the host's Nix store. This makes running the tests more
convenient because we don't have to build a new ISO after every
change.
2015-06-10 15:28:56 +02:00
aszlig
c9d22a69b1
nixos: Add lightdm test to release.nix.
This is just to let it run on Hydra but doesn't have an affect on
channel updates.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-05-28 10:25:11 +02:00
aszlig
7808efe5b7
nixos/release: Add luksroot test to "tested" job.
We want to avoid getting broken LUKS systems into the latest channel, so
let's ensure that the channel update won't happen if LUKS support is
broken again.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-05-21 13:21:41 +02:00
aszlig
4a84a9f4c0
nixos/release: Test vbox on x86_64-linux only.
The i686-linux test has never worked and I wrote the VM test only on
x86_64-linux to verify whether hardening mode works. I don't know why it
fails on i686-linux, but that might be because the inner VirtualBox VM
we're starting during the VM test doesn't use hardware virtualization.

Closes #5708.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-04 17:16:57 +02:00
Eelco Dolstra
94eb519e19 Add nfs4 test 2015-04-02 17:44:48 +02:00
aszlig
1567f56a5a
nixos: Re-add swraid installer tests to releases.
It has been removed by 71a197bc6e.

I'm reintroducing the test mainly because it actually *is* useful,
because right now, machines with mdraid will not boot. In order to
prevent such things from happening in the future, we should *not* remove
this VM test again.

If it really goes back to failing randomly, we should really try to fix
it instead of removing it again.

Of course it fails right now because of the mdraid bump in 7719f7f.
Also, if you want to have additional info about the reasons, have a look
at the commit message of 666cf992f0.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-01 08:50:38 +02:00
Domen Kožar
a87e2ae717 fix eval 2015-03-31 18:20:43 +02:00
Vladimír Čunát
81fc066900 Merge #4678: nixos iso-image: support USB booting
by using syslinux (i.e. support the dd-method in addition to unetbootin).
@vcunat tidied the PR by squashing closely related changes together.
2015-03-31 15:12:16 +02:00
Bob van der Linden
c57a912016 nixos: test: add tests for booting installation iso in various ways 2015-03-24 22:09:07 +01:00
Emery Hemingway
ba2074fc31 nixos/tests/cjdns: do not build cjdns at evaluation
Putting hostnames in the cjdns configuration requires a utility
be present to convert public keys to ip addresses
2015-03-21 10:17:48 -04:00
Eelco Dolstra
0461f35894 Rename scrubDrv -> hydraJob and make it more effective
It now strictly evaluates all remaining attributes, preventing
unevaluated thunks that cannot be garbage-collected. It's also applied
to all jobs in Nixpkgs' release.nix.

This reduces hydra-eval-jobs' memory consumption on the 14.12
release-combined jobset from 5.1 GB to 2.0 GB.
2015-03-20 19:46:18 +01:00
aszlig
19a7494600
nixos: Add VM test for i3 window manager.
Currently just makes sure that by default it's possible to open a
terminal.

And exactly this should be the main point that might confuse users of i3
in NixOS, because i3 doesn't print a warning/error if it is unable to
start the terminal emulator.

Thanks to @waaaaargh for reporting this issue.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-03-05 05:21:36 +01:00
Eelco Dolstra
568df3f4a9 Disable the cjdns test
The cjdns module uses "import from derivation", which is a bad thing
(it causes building at evaluation time).
2015-02-27 20:55:44 +01:00
Jaka Hudoklin
ae34f923f7 panamax: simplify, refactor, add test 2015-02-07 15:32:20 +01:00
Charles Strahan
61816b06e7 nixos: disable gitlab test for now 2015-01-25 16:29:37 -05:00
Jaka Hudoklin
b6198f08e3 nixos: add cadvisor service 2014-12-28 20:21:41 +01:00
Jaka Hudoklin
ca32d20d6e nixos/gitlab: enable tests in release 2014-12-14 13:05:35 +01:00
aszlig
69858d7743
nixos: Add VM test for VirtualBox.
Currently it pretty much tests starting up virtual machines and just
shutting down afterwards, but for both VBoxManage and the VirtualBox
GUI.

This helps catching errors in hardened mode, however we still need to
test whether networking works the way intended (and I fear that this is
broken at the moment).

The VirtualBox VM is _not_ using hardware virtualization support (thus
we use system = "i686-linux", because x86_64 has no emulation support),
because we're already within a qemu VM, which means it's going to be
slow as hell (that's why I've written own subs just for testing
startup/shutdown/whatnot with respective timeouts).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-13 11:43:44 +01:00
Jaka Hudoklin
d8ee91cb54 nixos: container profile, fix a few things 2014-12-12 20:28:01 +01:00
Jaka Hudoklin
deb28cf0b1 nixos: container tarball release
- Create container nixos profile
- Create lxc-container nixos config using container nixos profile
- Docker nixos image, use nixos profile for its base config
2014-12-11 23:17:27 +01:00
Jaka Hudoklin
b7092dc95c nixos: add fleet module 2014-12-07 21:52:52 +01:00
Jaka Hudoklin
40d73c5eb7 nixos/docker: fix module, add simple test 2014-12-01 17:20:35 +01:00
Jaka Hudoklin
5fa87a9df7 nixos/peerflix: add test to release.nix 2014-12-01 16:45:38 +01:00
Luca Bruno
93fcefe126 nixos/tests: add networking-proxy.nix to release 2014-11-30 15:22:12 +01:00
William A. Kennington III
bcfe7b2200 Merge pull request #5043 from wkennington/master.networkd
nixos/networking: Revamp networking configuration and add an experimental networkd option.
2014-11-29 19:59:31 -08:00
William A. Kennington III
a403379b88 nixos/tests: Add networking tests for basic functionality 2014-11-29 19:53:37 -08:00
Jaka Hudoklin
04cfe045eb nixos: run etcd, docker-registry and kubernetes tests only on supported platforms 2014-11-30 01:33:25 +01:00
Jaka Hudoklin
2b261c1edf nixos: add kubernetes module 2014-11-29 02:27:17 +01:00
Jaka Hudoklin
73dc767aa0 nixos: add docker-registry module 2014-11-22 12:16:41 +01:00
Jaka Hudoklin
b3bc157f7f nixos: add etcd module 2014-11-21 13:54:45 +01:00
aszlig
0e4c1cc066
nixos: Add rudimentary VM tests for Chromium.
Currently, the test is only for testing the user namespace sandbox and
even that isn't very representative, because we're running the tests as
root.

But apart from that, we should have functionality for opening/closing
windows and the main goal here is to get them as deterministic as
possible, because Chromium usually isn't very nice to chained xdotool
keystrokes.

And of course, the most important "test" we have here: We know at least
whether Chromium works _at_all_.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-11-18 18:41:56 +01:00
Eelco Dolstra
8b79cc00bf Manual: Don't depend on the JSON options 2014-11-17 15:17:39 +01:00
Eelco Dolstra
86165ca2ee Add a job for generating options.json
Useful for the nixos.org options search.
2014-11-17 00:33:03 +01:00
Emery Hemingway
67a2a58314 cjdns: service tweaks, new NixOS test 2014-11-08 23:39:02 +01:00
aszlig
cff26e2d38
nixos: Add VM test for blivet.
I'm really not sure whether these tests are actually run upstream,
because there are quite a few oddities which either are my fault by just
missing something important or upstream really doesn't bother to run
those tests.

One example of this are testDiskChunk1 and testDiskChunk2, which create
two non-existing partitions and tries to allocate them. Now, in
allocatePartitions(), the partedPartition attributes are reset to None
and shortly afterwards a for loop is expecting it to be NOT None.

So, for now I'm disabling these tests and will see if we stumble on them
during work on nixpart 1.0, so we're really sure whether it's my fault
or a real bug in blivet.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-10-22 08:22:58 +02:00
Eelco Dolstra
a97e1ee52d Add a Hydra job to track the size of the initrd 2014-10-09 18:40:37 +02:00
Eelco Dolstra
93ff0d5496 Add an entire NixOS build to the channel
This causes some cruft to be uploaded (such as unit files) but it
ensures that every package used by the base system ends up in the
channel, not just environment.systemPackages.

(cherry picked from commit 4dfca8e14a)
2014-10-09 16:35:28 +02:00
Shea Levy
92837f2dbf Ditch efi installer tests
They've been broken forever due to weirdness in qemu tests, and they don't add much over installer tests
2014-10-07 12:20:56 -04:00
Eelco Dolstra
1cd727180e Add all default NixOS packages to the channel
The job ‘dummy’ depends on the default contents of
‘environment.systemPackages’, thus ensuring that those packages all
end up in the channel.
2014-09-25 00:25:54 +02:00
Eelco Dolstra
a2971118ac scrubDrv: Don't scrub the system and meta attributes 2014-09-22 16:58:02 +02:00
William A. Kennington III
8250059a9f nixos/tests/nat: Add tests for standalone and firewall based nat 2014-09-18 14:39:46 -07:00
Eelco Dolstra
9b66e1f7b1 Fix the manual jobs 2014-09-18 16:21:26 +02:00
Eelco Dolstra
97a8e959b4 Remove some ISOs 2014-09-18 12:19:09 +02:00
Eelco Dolstra
e6b9656e24 Quick hack to reduce Hydra memory consumption 2014-09-17 19:13:01 +02:00
Eelco Dolstra
da4fb08959 Disable the logstash test
It's broken because it uses the "grep" plugin, which is no longer
included in the standard distribution.
2014-09-05 15:28:55 +02:00
aszlig
c9d1c0d8d1
nixos/tests: Add basic test for nsd module.
Currently only tests basic resource record lookup against IPv4 and IPv6.
Nothing special yet, but probably enough for most setups.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-09-05 02:54:39 +02:00
William A. Kennington III
3944239362 nixos/tests-installer: Add a test for btrfs default volumes and bind mounts 2014-09-02 09:16:13 -07:00
William A. Kennington III
36614ff3e2 Revert "Revert "Merge pull request #2449 from wkennington/master.grub""
This reverts commit 94205f5f21.

Conflicts:
	nixos/modules/system/boot/loader/grub/install-grub.pl
2014-09-02 09:16:13 -07:00
Michael Raskin
94205f5f21 Revert "Merge pull request #2449 from wkennington/master.grub"
This reverts commit 469f22d717, reversing
changes made to 0078bc5d8f.

Conflicts:
	nixos/modules/installer/tools/nixos-generate-config.pl
	nixos/modules/system/boot/loader/grub/install-grub.pl
	nixos/release.nix
	nixos/tests/installer.nix

I tried to keep apparently-safe code in conflicts.
2014-08-31 12:58:37 +04:00
Luca Bruno
01f0b1cf1a Fix evaluation of nixos tested 2014-08-29 11:49:36 +02:00
Luca Bruno
a34a0dfdc5 Revert "nixos/release: Dynamically generate installer tests"
This reverts commit 5870ae613f.

It makes it hard to comment out installer tests.
2014-08-29 11:49:36 +02:00
William A. Kennington III
5870ae613f nixos/release: Dynamically generate installer tests 2014-08-28 13:35:35 -07:00
Eelco Dolstra
7cdb1bb8aa Build a few NixOS system closures on Hydra
This will allow us to keep track of the evolution of closure sizes of
some typical configurations. (Hydra stores closure sizes in its
database.)
2014-08-22 11:41:15 +02:00
Eelco Dolstra
7a09c6018d Manual: Generate PDF
Issue NixOS/nixos#237.
2014-08-09 16:33:12 +02:00
William A. Kennington III
86711e4120 nixos-iso: Re-enable new kernel iso images (close #2839) 2014-06-17 21:23:52 +02:00
Jaka Hudoklin
66456c0798 nixos: add influxdb module 2014-05-27 22:56:36 +02:00
Eelco Dolstra
0bc7ec6e28 Remove obsolete udisks test
Closes #2716.
2014-05-22 12:11:53 +02:00
Eelco Dolstra
3b616e378a release.nix: Drop officialRelease flag 2014-05-01 15:05:14 +02:00
Eelco Dolstra
c9ebb42573 Disable the rabbitmq test
It frequently gets stuck in an infinite loop, delaying releases for
many hours.
2014-04-30 23:19:50 +02:00
Eelco Dolstra
e9be441b62 Merge the EFI test into tests/installer.nix 2014-04-30 11:26:39 +02:00
William A. Kennington III
936481a12e nixos: Add support for changing supported systems
release.nix and release-combined.nix current hardcode the systems which
they are built for. This change introduces an argument to the
expressions called supportedSystems, which allows the builder to choose
which architectures he wants to build. By default, this uses the same
linux x86_64 and i686 architectures.
2014-04-29 10:53:36 +02:00
Eelco Dolstra
894e2dfb25 Add a test for udisks2 2014-04-19 14:37:05 +02:00
Eelco Dolstra
36c05d5e5b Simplify running tests even further
Now you can just say:

  $ nix-build '<nixos/tests/login.nix>'

You can still get the driver script for interactive testing:

  $ nix-build '<nixos/tests/login.nix>' -A driver
  $ ./result/bin/nixos-test-driver
2014-04-14 14:23:38 +02:00
Eelco Dolstra
abe218950c Make it easier to run the tests
You can now run a test in the nixos/tests directory directly using
nix-build, e.g.

  $ nix-build '<nixos/tests/login.nix>' -A test

This gets rid of having to add the test to nixos/tests/default.nix.
(Of course, you still need to add it to nixos/release.nix if you want
Hydra to run the test.)
2014-04-14 14:02:44 +02:00
Eelco Dolstra
497997cc38 Move generation of coverage reports from nixos/lib/testing to releaseTools
Also, turn some stdenv adapters into setup hooks.
2014-03-03 13:57:08 +01:00
Eelco Dolstra
8c9c3b628f Drop the new-kernel ISOs 2013-11-07 16:38:57 +01:00
Shea Levy
cd9786eed2 Fold efi booting into the default livecd
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-01 11:29:36 -04:00
Eelco Dolstra
7083607e12 Generate manual for i686-linux as well as x86_64-linux 2013-10-31 08:48:57 +01:00