Skip to content

Tests/comprehensive#123

Open
parzivale wants to merge 7 commits into
finix-community:mainfrom
parzivale:tests/comprehensive
Open

Tests/comprehensive#123
parzivale wants to merge 7 commits into
finix-community:mainfrom
parzivale:tests/comprehensive

Conversation

@parzivale

Copy link
Copy Markdown
Contributor

@aanderse This might be a little over the top I got a little carried away

@aanderse aanderse left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please review list of commits

@parzivale

Copy link
Copy Markdown
Contributor Author

Oh yeah whoops I based this on modules/firewall

parzivale and others added 5 commits July 7, 2026 13:41
Change the testing.tests convention so optional modules register under
their own name as the top-level key (testing.tests.MODULE.TEST) instead
of a namespace (testing.tests.services.MODULE). This lets tests/default.nix
check that every optional module exports something under its own key in
config.testing.tests, throwing an eval error if any are missing.

Uses builtins.hasAttr rather than the ? operator since ? treats bare
identifiers as literal attribute names, not variables.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- openresolv: check resolvconf binary + /etc/resolvconf.conf
- limine: check limine binary (can't test actual bootloader in VM)
- lxqt: check startlxqt/pcmanfm-qt/lxqt-panel binaries + session files
- virtualbox: check VBoxManage/vboxusers on x86_64, skip gracefully on aarch64
- keventd: check mdevd running + mdev.conf (can't enable, finit < 5.0)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All 18 tests now fail if the module doesn't install what it claims:
- Wayland compositors (hyprland, labwc, niri, sway, mangowc): which <bin>
  + wayland session desktop file present
- openbox: which openbox + xsession desktop file
- hyprlock: which hyprlock + /etc/pam.d/hyprlock configured
- xinit: which xinit + which startx
- xwayland-satellite: which xwayland-satellite + /tmp/.X11-unix created
- wireplumber: which wireplumber + /etc/wireplumber conf fragment
- zzz/seahorse/nvidia-settings: which <bin>
- ifupdown-ng: which ifup + /etc/network/{ifupdown-ng.conf,interfaces}
- resolvconf: which resolvconf + /etc/resolvconf.conf
- regreet: which regreet (via systemPackages) + greetd running at rl3
- plymouth: grep splash /proc/cmdline (initrd-only module)
- gvfs: dbus service file present + GIO_EXTRA_MODULES in pam_env.conf

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace bare "is running" checks with config file presence, socket
existence, CLI tool invocations, state directory checks, and HTTP
health probes where applicable. nvidia-persistenced/powerd drop the
running check entirely (requires real GPU hardware). jellyfin drops
the HTTP check (SIGABRT on aarch64 QEMU).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@parzivale parzivale force-pushed the tests/comprehensive branch from 47e095e to b06713b Compare July 7, 2026 11:41
The rebase onto main dropped the tree content of the firewall-to-providers
move and the test co-location commits while keeping the commits that depend
on them. Restore the tree from the pre-rebase tip (47e095e), keeping what
main introduced (postgresql, qemu fallback, manpage-urls).

Also add a test.nix for the postgresql module pulled in from main, since
per-module test presence is now enforced, and run the formatter over the
conflict resolutions that were committed unformatted.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@parzivale

Copy link
Copy Markdown
Contributor Author

Fixed I believe @aanderse

The providers.firewall module (from the modules/firewall branch) was
accidentally carried along by the rebase-fallout restore. Remove it from
this branch; main has no firewall module for it to replace.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants