fix(nix): refactor nixosTest injections for better performance (#8378)

This commit is contained in:
Marc Jakobi 2025-12-29 16:47:03 +01:00 committed by GitHub
parent 36fcb4a423
commit 7efc1b58a8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 32 additions and 14 deletions

View file

@ -251,17 +251,35 @@
(#lua-match? @_func "^%a*%.*writeRust%a*$")
(#set! injection.combined))
; (nixosTest) testScript
((binding
attrpath: (attrpath) @_attr_name
(#eq? @_attr_name "nodes"))
(binding
attrpath: (attrpath) @_func_name
(#eq? @_func_name "testScript")
; (runTest) testScript
(apply_expression
function: (_) @_func
argument: (_
(_)*
(_
(string_fragment) @injection.content
(#set! injection.language "python")))
(#set! injection.combined))
(binding
attrpath: (attrpath) @_func_name
expression: (_
(string_fragment) @injection.content
(#set! injection.language "python")))
(#eq? @_func_name "testScript")
(#lua-match? @_func "^.*%.*runTest$")
(#set! injection.combined))))
; (nixosTest) testScript
(apply_expression
function: (_) @_func
argument: (_
(_)*
(_
(binding
attrpath: (attrpath) @_func_name
expression: (_
(string_fragment) @injection.content
(#set! injection.language "python")))
(#eq? @_func_name "testScript")
(#lua-match? @_func "^.*%.*nixosTest$")
(#set! injection.combined))))
; home-manager Neovim plugin config
(attrset_expression

View file

@ -1,7 +1,7 @@
# NOTE: This file is for testing queries. If evaluated with nix, this will probably error.
{ pkgs, stdenv }: let
{ pkgs, stdenv, lib }: let
match = builtins.match;
in {
in {
regex = builtins.match "^.*[{](.+)[}].*$" "blahblah {something} blahblah" [ "something" ];
regex2 = match "^.*[{](.+)[}].*$" "blahblah {something} blahblah" [ "something" ];
@ -12,7 +12,7 @@ in {
echo "bar" > $out/foo.txt
'';
};
drv2 = pkgs.writeShellApplication {
name = "shellApp";
buildInputs = [];
@ -62,7 +62,7 @@ in {
}
'';
drv12 = {
drv12 = lib.nixos.runTest {
nodes = null;
testScript = ''
print("Hello world!");