flake/tests: initial test script

This commit is contained in:
NotAShelf 2024-05-06 17:25:58 +03:00
parent 198a36f3d4
commit c3c76afda4
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
3 changed files with 38 additions and 1 deletions

1
.gitignore vendored
View file

@ -2,6 +2,7 @@
result
result/
.direnv
.nixos-test-history
# Ignore files generated by common IDEs
.vscode/*

View file

@ -6,6 +6,7 @@
}:
nixosTest {
name = "home-manager-test";
skipLint = true;
nodes.machine = {
imports = [
@ -27,5 +28,39 @@ nixosTest {
};
};
testScript = "";
testScript = ''
import subprocess
machine.wait_for_unit("default.target")
def check_errs(process):
# Check for errors
print("Connecting to Neovim process")
# Capture stdout and stderr
stdout, stderr = process.communicate()
# Print captured stdout and stderr
if stdout:
print("Captured stdout:")
print(stdout.decode('utf-8'))
if stderr:
print("Captured stderr:")
print(stderr.decode('utf-8'))
def run_neovim_headless():
print("Running Neovim in headless mode.")
# Run Neovim in headless mode
nvim_process = subprocess.Popen(['nvim', '--headless'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
check_errs(nvim_process)
# Load configuration file
nvim_process.stdin.write(b':NonExistentCommand\n')
nvim_process.stdin.flush()
# run Neovim in headless mode
# and expect it to return sucessfully
machine.succeed(run_neovim_headless())
'';
}

View file

@ -22,6 +22,7 @@
in {
checks = packagesFromDirectoryRecursive {
inherit callPackage;
testProfile = ../profiles/minimal.nix;
directory = ./checks;
};