Compare commits

...

23 Commits

Author SHA1 Message Date
nixpkgs-ci[bot]
2855a5fd55 Merge master into staging-nixos 2026-07-22 12:34:45 +00:00
Felix Bargfeldt
a0630e83ab dn42-registry-wizard: 0.4.20 -> 0.4.21 (#544527) 2026-07-22 12:29:05 +00:00
R. Ryantm
aaab691bbe dn42-registry-wizard: 0.4.20 -> 0.4.21 2026-07-22 12:10:58 +00:00
nixpkgs-ci[bot]
a13544bb9e Merge master into staging-nixos 2026-07-22 06:53:55 +00:00
nixpkgs-ci[bot]
6d4751efc4 Merge master into staging-nixos 2026-07-22 00:31:17 +00:00
Maximilian Bosch
75ca7215b5 qemu_test: Remove hostCpuOnly flag (#541354) 2026-07-21 23:12:16 +00:00
nixpkgs-ci[bot]
f3d4047b6a Merge master into staging-nixos 2026-07-21 18:29:41 +00:00
nixpkgs-ci[bot]
091d5fc06b Merge master into staging-nixos 2026-07-21 12:34:39 +00:00
Martin Weinelt
2cc2d0808c nixos/pam: remove explicit hardcoded yescrypt (#541548) 2026-07-21 11:14:12 +00:00
nixpkgs-ci[bot]
9dd5455aee Merge master into staging-nixos 2026-07-21 06:53:51 +00:00
nixpkgs-ci[bot]
4731ec200a Merge master into staging-nixos 2026-07-21 00:33:15 +00:00
dish
5646e24be6 openresolv: add changelog url pattern (#543990) 2026-07-20 22:20:46 +00:00
Martin Weinelt
fc4bc79dcb openresolv: add changelog url pattern 2026-07-21 00:02:42 +02:00
nixpkgs-ci[bot]
14a94467e4 Merge master into staging-nixos 2026-07-20 18:40:14 +00:00
nixpkgs-ci[bot]
636eb966e3 Merge master into staging-nixos 2026-07-20 15:46:00 +00:00
lassulus
3018f55da9 nixos-test-driver: reintroduce --test-script flag (#533988) 2026-07-20 14:30:44 +00:00
nixpkgs-ci[bot]
542b4d7055 Merge master into staging-nixos 2026-07-20 12:45:20 +00:00
nixpkgs-ci[bot]
b6239b6591 Merge master into staging-nixos 2026-07-20 07:03:35 +00:00
Jacek Galowicz
02b0484ccc nixos-test-driver: Add multi-arch test 2026-07-15 11:01:11 +02:00
Jacek Galowicz
00c97895aa qemu_test: Remove hostCpuOnly flag 2026-07-13 21:53:52 +02:00
Grimmauld
56f89898da nixos/tests/login{,-nosuid}: assert yescrypt password format 2026-07-13 20:29:06 +02:00
Grimmauld
3d32e0705a nixos/pam: remove explicit hardcoded yescrypt
Both `pam_unix.so` and `pam_unix_ng.so` look at `ENCRYPT_METHOD` in
`/etc/login.defs` to determine the algorithm to use for password
encryption: 66fbd0382b/src/pam_unix_ng-common.c (L27-L62)
If this is not set, both already default to `YESCRYPT`.
The shadow module makes this configurable via
`security.loginDefs.settings.ENCRYPT_METHOD`, which also defaults to `YESCRYPT`.
Seeing as what was previously hardcoded is default anyways, with a global
configuration option to change it, there is no point to keep this.
2026-07-13 20:29:02 +02:00
a-kenji
aaba92e0cc nixos-test-driver: reintroduce --test-script flag
Restore the ability to pass a test script on the command line through:
```
--test-script [PATH]
```
which was possible prior to its removal in: f1bcb61731

I have found the flag to be quite practical for NixOS test iteration and propose
hereby to reintroduce it again.

While it is still possible without this flag to pass an external test
script, it now needs to be done through the indirection of a `--config`
configuration file - which now has to have configuration which points towards
the test script, which adds enough friction as to not make it ergonomic anymore.

The `--test-script` flag overwrites the configuration from the test config.
2026-06-21 20:34:53 +02:00
11 changed files with 74 additions and 10 deletions

View File

@@ -89,6 +89,11 @@ def main() -> None:
type=Path,
required=True,
)
arg_parser.add_argument(
"--test-script",
help="path to a test script to run, taking precedence over the one defined in the config file",
type=Path,
)
arg_parser.add_argument(
"--keep-vm-state",
help=argparse.SUPPRESS,
@@ -163,8 +168,12 @@ def main() -> None:
if args.debug_hook_attach is not None:
debugger = Debug(logger, args.debug_hook_attach)
config = load_driver_configuration(args.config)
if args.test_script is not None:
config.test_script = args.test_script
with Driver(
config=load_driver_configuration(args.config),
config=config,
out_dir=output_directory,
logger=logger,
keep_machine_state=args.keep_machine_state,

View File

@@ -1422,7 +1422,6 @@ let
modulePath = config.security.pam.pam_unixModulePath;
settings = {
nullok = true;
yescrypt = lib.mkIf config.security.pam.enableLegacySettings true;
};
}
{

View File

@@ -577,7 +577,6 @@ in
control = "requisite";
modulePath = config.security.pam.pam_unixModulePath;
settings.nullok = true;
settings.yescrypt = true;
}
];

View File

@@ -456,7 +456,6 @@ in
control = "requisite";
modulePath = config.security.pam.pam_unixModulePath;
settings.nullok = true;
settings.yescrypt = true;
}
];

View File

@@ -153,6 +153,7 @@ in
console-log = runTest ./nixos-test-driver/console-log.nix;
containers = runTest ./nixos-test-driver/containers.nix;
nspawn-daemon-reexec-dbus = runTest ./nspawn-daemon-reexec-dbus.nix;
multi-arch-test = runTest ./nixos-test-driver/multi-arch-test.nix;
skip-typecheck = runTest ./nixos-test-driver/skip-typecheck.nix;
console-timeout = runTest ./nixos-test-driver/console-timeout.nix;
options-doc-regression = import ./nixos-test-driver/options-doc-regression.nix { inherit pkgs; };

View File

@@ -57,6 +57,7 @@
with subtest("create user"):
machine.succeed("useradd -m alice")
machine.succeed("(echo foobar; echo foobar) | passwd alice")
machine.succeed("grep -F 'alice:$y$' /etc/shadow")
with subtest("Check whether switching VTs works"):
machine.fail("pgrep -f 'agetty.*tty2'")

View File

@@ -28,6 +28,7 @@
with subtest("create user"):
machine.succeed("useradd -m alice")
machine.succeed("(echo foobar; echo foobar) | passwd alice")
machine.succeed("grep -F 'alice:$y$' /etc/shadow")
with subtest("Check whether switching VTs works"):
machine.fail("pgrep -f 'agetty.*tty2'")

View File

@@ -0,0 +1,55 @@
{ pkgs, lib, ... }:
{
name = "multi-arch-test";
meta.maintainers = with pkgs.lib.maintainers; [ tfc ];
node.pkgsReadOnly = false;
nodes = {
# Setting build = host platform because such standard VM setups
# are well-cached by the multi-arch build infrastructure of the
# project.
vmIntel = {
nixpkgs.buildPlatform = "x86_64-linux";
nixpkgs.hostPlatform = "x86_64-linux";
};
vmArm = {
nixpkgs.buildPlatform = "aarch64-linux";
nixpkgs.hostPlatform = "aarch64-linux";
};
};
defaults = {
# not needed for this test and shrinks the closure
# because we dont' need qemu for all architectures
virtualisation.qemu.guestAgent.enable = false;
# the test is already very slow but we don't need DHCP anyway
networking.dhcpcd.enable = false;
# fix the network-online target, otherwise it doesn't work
# properly as a synchronization mechanism.
systemd.network.wait-online.enable = true;
systemd.network.wait-online.anyInterface = true;
};
# slow due to SW emulation but shouldn't be slower than that
globalTimeout = 5 * 60;
testScript = { nodes, ... }: /* python */ ''
start_all()
vmIntel.systemctl("start network-online.target")
vmArm.systemctl("start network-online.target")
vmIntel.wait_for_unit("network-online.target")
vmArm.wait_for_unit("network-online.target")
vmIntel.succeed("ping -c 1 vmArm")
vmArm.succeed("ping -c 1 vmIntel")
archIntel = vmIntel.succeed("uname -m")
t.assertIn("${nodes.vmIntel.nixpkgs.hostPlatform.qemuArch}", archIntel, "machine1 is an intel VM")
archArm = vmArm.succeed("uname -m")
t.assertIn("${nodes.vmArm.nixpkgs.hostPlatform.qemuArch}", archArm, "machine1 is an ARM VM")
'';
}

View File

@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "dn42-registry-wizard";
version = "0.4.20";
version = "0.4.21";
src = fetchFromGitHub {
owner = "Kioubit";
repo = "dn42_registry_wizard";
tag = "v${finalAttrs.version}";
hash = "sha256-WFU1K0Ib1ETSib2WJkwus3zHYJXoVOtFDqv4/QNiP7E=";
hash = "sha256-PvB+rlIaedjCVA/8sDW754vvomVASIDhkUQlimZGiRg=";
};
cargoHash = "sha256-o8MF6uqk8f0Zc2fjBqLGElh56TKjLRRtNxrll5nY+bM=";
cargoHash = "sha256-tSxxsRQCbbP6iRT8sNfA/JVLm72PsSSCsC80hD5ZVxw=";
postInstall = ''
mv $out/bin/{registry_wizard,dn42-registry-wizard}

View File

@@ -13,8 +13,8 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "NetworkConfiguration";
repo = "openresolv";
rev = "v${finalAttrs.version}";
sha256 = "sha256-I86BHiSI3G4xlYRJC99elHw8RyUd3eHdkV5kiEGRXNE=";
tag = "v${finalAttrs.version}";
hash = "sha256-I86BHiSI3G4xlYRJC99elHw8RyUd3eHdkV5kiEGRXNE=";
};
nativeBuildInputs = [ makeWrapper ];
@@ -38,6 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
meta = {
changelog = "https://github.com/NetworkConfiguration/openresolv/releases/tag/${finalAttrs.src.tag}";
description = "Program to manage /etc/resolv.conf";
mainProgram = "resolvconf";
homepage = "https://roy.marples.name/projects/openresolv";

View File

@@ -7981,7 +7981,6 @@ with pkgs;
qemu_test = lowPrio (
qemu.override {
hostCpuOnly = true;
nixosTestRunner = true;
}
);