aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/interactive
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-10-01 22:34:51 +0900
committerOphestra <cat@gensokyo.uk>2026-10-02 19:05:34 +0900
commite332ef1e2549eaa6702d07fac77d9ad206bf4f4c (patch)
treea5dbcd8bd1649da392869539c95c9ba6ae1a2919 /test/interactive
parent4b19686109b0962ea68dfe58feafffe3bac9c202 (diff)
test/sandbox: migrate tests
This benefits even more than the cmd/sharefs test suite, the slow python-based test script was a major bottleneck. Replacing the nix-represented test cases with compound literals also significantly increases readability. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'test/interactive')
-rw-r--r--test/interactive/configuration.nix68
-rw-r--r--test/interactive/hakurei.nix47
-rw-r--r--test/interactive/raceattr.nix30
-rw-r--r--test/interactive/trace.nix35
-rw-r--r--test/interactive/vm.nix56
5 files changed, 0 insertions, 236 deletions
diff --git a/test/interactive/configuration.nix b/test/interactive/configuration.nix
deleted file mode 100644
index 9d1bddd8..00000000
--- a/test/interactive/configuration.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ pkgs, ... }:
-{
- system.stateVersion = "23.05";
-
- users.users = {
- alice = {
- isNormalUser = true;
- description = "Alice Foobar";
- password = "foobar";
- uid = 1000;
- extraGroups = [ "wheel" ];
- };
- untrusted = {
- isNormalUser = true;
- description = "Untrusted user";
- password = "foobar";
- uid = 1001;
- };
- };
-
- home-manager.users.alice.home.stateVersion = "24.11";
-
- security = {
- sudo.wheelNeedsPassword = false;
- rtkit.enable = true;
- pam.loginLimits = [
- {
- domain = "@users";
- item = "rtprio";
- type = "-";
- value = 1;
- }
- ];
- };
-
- services = {
- getty.autologinUser = "alice";
- pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- jack.enable = true;
- };
- };
-
- environment.variables = {
- SWAYSOCK = "/tmp/sway-ipc.sock";
- WLR_RENDERER = "pixman";
- };
-
- programs = {
- sway.enable = true;
-
- bash.loginShellInit = ''
- if [ "$(tty)" = "/dev/tty1" ]; then
- set -e
-
- mkdir -p ~/.config/sway
- (sed s/Mod4/Mod1/ /etc/sway/config &&
- echo 'output * bg ${pkgs.nixos-artwork.wallpapers.simple-light-gray.gnomeFilePath} fill') > ~/.config/sway/config
-
- sway --validate
- systemd-cat --identifier=session sway && touch /tmp/sway-exit-ok
- fi
- '';
- };
-}
diff --git a/test/interactive/hakurei.nix b/test/interactive/hakurei.nix
deleted file mode 100644
index ef5d0ada..00000000
--- a/test/interactive/hakurei.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ pkgs, ... }:
-{
- environment.hakurei = rec {
- enable = true;
- stateDir = "/var/lib/hakurei";
- sharefs.source = "${stateDir}/sdcard";
- users.alice = 0;
- apps = {
- "cat.gensokyo.extern.foot.noEnablements" = {
- name = "ne-foot";
- identity = 1;
- shareUid = true;
- verbose = true;
- share = pkgs.foot;
- packages = [ pkgs.foot ];
- command = "foot";
- enablements = {
- dbus = false;
- pipewire = false;
- };
- };
-
- "cat.gensokyo.extern.foot.badDaemon" = {
- name = "bd-foot";
- identity = 1;
- shareUid = true;
- verbose = true;
- share = pkgs.foot;
- packages = [ pkgs.foot ];
- command = "foot";
- enablements = {
- dbus = false;
- };
- extraPaths = [
- {
- type = "daemon";
- dst = "/proc/nonexistent";
- path = "/usr/bin/env";
- args = [ "false" ];
- }
- ];
- };
- };
-
- extraHomeConfig.home.stateVersion = "23.05";
- };
-}
diff --git a/test/interactive/raceattr.nix b/test/interactive/raceattr.nix
deleted file mode 100644
index de54f4cf..00000000
--- a/test/interactive/raceattr.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, pkgs, ... }:
-{
- security.wrappers.raceattr =
- let
- inherit (pkgs) buildGoModule;
- in
- {
- setuid = true;
- owner = "root";
- group = "root";
- source = "${
- (buildGoModule rec {
- name = "raceattr";
- pname = name;
- tags = [ "raceattr" ];
-
- src = builtins.path {
- name = "${pname}-src";
- path = lib.cleanSource ../sharefs;
- filter = path: type: (type == "directory") || (type == "regular" && lib.hasSuffix ".go" path);
- };
- vendorHash = null;
-
- preBuild = ''
- go mod init hakurei.app/raceattr >& /dev/null
- '';
- })
- }/bin/raceattr";
- };
-}
diff --git a/test/interactive/trace.nix b/test/interactive/trace.nix
deleted file mode 100644
index b9ef872c..00000000
--- a/test/interactive/trace.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, pkgs, ... }:
-let
- tracing = name: "\"/sys/kernel/debug/tracing/${name}\"";
-in
-{
- environment.systemPackages = [
- (pkgs.writeShellScriptBin "hakurei-set-up-tracing" ''
- set -e
- echo "$1" > ${tracing "set_graph_function"}
- echo function_graph > ${tracing "current_tracer"}
- echo funcgraph-tail > ${tracing "trace_options"}
- echo funcgraph-retval > ${tracing "trace_options"}
- echo nofuncgraph-cpu > ${tracing "trace_options"}
- echo nofuncgraph-overhead > ${tracing "trace_options"}
- echo nofuncgraph-duration > ${tracing "trace_options"}
- '')
- (pkgs.writeShellScriptBin "hakurei-print-trace" "exec cat ${tracing "trace"}")
- (pkgs.writeShellScriptBin "hakurei-consume-trace" "exec cat ${tracing "trace_pipe"}")
- ];
-
- boot.kernelPatches = [
- {
- name = "funcgraph-retval";
- patch = null;
- structuredExtraConfig = with lib.kernel; {
- FUNCTION_GRAPH_RETVAL = yes;
-
- RUST = lib.mkForce unset;
- DRM_NOVA = lib.mkForce unset;
- DRM_PANIC_SCREEN_QR_CODE = lib.mkForce unset;
- NOVA_CORE = lib.mkForce unset;
- };
- }
- ];
-}
diff --git a/test/interactive/vm.nix b/test/interactive/vm.nix
deleted file mode 100644
index 522878e9..00000000
--- a/test/interactive/vm.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- virtualisation.vmVariant.virtualisation = {
- memorySize = 4096;
- qemu.options = [
- "-vga none -device virtio-gpu-pci"
- "-smp 8"
- ];
-
- mountHostNixStore = true;
- writableStore = true;
- writableStoreUseTmpfs = false;
-
- sharedDirectories = {
- cwd = {
- target = "/mnt/.ro-cwd";
- source = ''"$OLDPWD"'';
- securityModel = "none";
- };
- };
-
- fileSystems = {
- "/mnt/.ro-cwd".options = [
- "ro"
- "noatime"
- ];
- "/mnt/cwd".overlay = {
- lowerdir = [ "/mnt/.ro-cwd" ];
- upperdir = "/tmp/.cwd/upper";
- workdir = "/tmp/.cwd/work";
- };
-
- "/mnt/src".overlay = {
- lowerdir = [ ../.. ];
- upperdir = "/tmp/.src/upper";
- workdir = "/tmp/.src/work";
- };
- };
- };
-
- systemd.services = {
- logrotate-checkconf.enable = false;
- hakurei-src-fix-ownership = {
- wantedBy = [ "multi-user.target" ];
- wants = [ "mnt-src.mount" ];
- after = [ "mnt-src.mount" ];
- serviceConfig = {
- Type = "oneshot";
- RemainAfterExit = true;
- };
- script = ''
- chown -R alice:users /mnt/src/
- chmod -R +w /mnt/src/
- '';
- };
- };
-}