nixosTests.cgit: migrate to runTest

Part of #386873

Changed files
+96 -98
nixos
+1 -1
nixos/tests/all-tests.nix
···
] ./ceph-single-node-bluestore-dmcrypt.nix { };
certmgr = handleTest ./certmgr.nix { };
cfssl = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./cfssl.nix { };
-
cgit = handleTest ./cgit.nix { };
+
cgit = runTest ./cgit.nix;
charliecloud = handleTest ./charliecloud.nix { };
chromadb = runTest ./chromadb.nix;
chromium = (handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./chromium.nix { }).stable or { };
+95 -97
nixos/tests/cgit.nix
···
-
import ./make-test-python.nix (
-
{ pkgs, ... }:
-
let
-
robotsTxt = pkgs.writeText "cgit-robots.txt" ''
-
User-agent: *
-
Disallow: /
-
'';
-
in
-
{
-
name = "cgit";
-
meta = with pkgs.lib.maintainers; {
-
maintainers = [ schnusch ];
-
};
+
{ pkgs, ... }:
+
let
+
robotsTxt = pkgs.writeText "cgit-robots.txt" ''
+
User-agent: *
+
Disallow: /
+
'';
+
in
+
{
+
name = "cgit";
+
meta = with pkgs.lib.maintainers; {
+
maintainers = [ schnusch ];
+
};
-
nodes = {
-
server =
-
{ ... }:
-
{
-
services.cgit."localhost" = {
-
enable = true;
-
package = pkgs.cgit.overrideAttrs (
-
{ postInstall, ... }:
-
{
-
postInstall = ''
-
${postInstall}
-
cp ${robotsTxt} "$out/cgit/robots.txt"
-
'';
-
}
-
);
-
nginx.location = "/(c)git/";
-
repos = {
-
some-repo = {
-
path = "/tmp/git/some-repo";
-
desc = "some-repo description";
-
};
-
};
-
settings = {
-
readme = [
-
":README.md"
-
":date.txt"
-
];
+
nodes = {
+
server =
+
{ ... }:
+
{
+
services.cgit."localhost" = {
+
enable = true;
+
package = pkgs.cgit.overrideAttrs (
+
{ postInstall, ... }:
+
{
+
postInstall = ''
+
${postInstall}
+
cp ${robotsTxt} "$out/cgit/robots.txt"
+
'';
+
}
+
);
+
nginx.location = "/(c)git/";
+
repos = {
+
some-repo = {
+
path = "/tmp/git/some-repo";
+
desc = "some-repo description";
};
};
-
-
environment.systemPackages = [ pkgs.git ];
+
settings = {
+
readme = [
+
":README.md"
+
":date.txt"
+
];
+
};
};
-
};
-
testScript =
-
{ nodes, ... }:
-
''
-
start_all()
+
environment.systemPackages = [ pkgs.git ];
+
};
+
};
-
server.wait_for_unit("nginx.service")
-
server.wait_for_unit("network.target")
-
server.wait_for_open_port(80)
+
testScript =
+
{ nodes, ... }:
+
''
+
start_all()
-
server.succeed("curl -fsS http://localhost/%28c%29git/cgit.css")
+
server.wait_for_unit("nginx.service")
+
server.wait_for_unit("network.target")
+
server.wait_for_open_port(80)
-
server.succeed("curl -fsS http://localhost/%28c%29git/robots.txt | diff -u - ${robotsTxt}")
+
server.succeed("curl -fsS http://localhost/%28c%29git/cgit.css")
-
server.succeed(
-
"curl -fsS http://localhost/%28c%29git/ | grep -F 'some-repo description'"
-
)
+
server.succeed("curl -fsS http://localhost/%28c%29git/robots.txt | diff -u - ${robotsTxt}")
-
server.fail("curl -fsS http://localhost/robots.txt")
+
server.succeed(
+
"curl -fsS http://localhost/%28c%29git/ | grep -F 'some-repo description'"
+
)
-
server.succeed("sudo -u cgit ${pkgs.writeShellScript "setup-cgit-test-repo" ''
-
set -e
-
git init --bare -b master /tmp/git/some-repo
-
git init -b master reference
-
cd reference
-
git remote add origin /tmp/git/some-repo
-
{ echo -n "cgit NixOS Test at "; date; } > date.txt
-
git add date.txt
-
git -c user.name=test -c user.email=test@localhost commit -m 'add date'
-
git push -u origin master
-
''}")
+
server.fail("curl -fsS http://localhost/robots.txt")
-
# test web download
-
server.succeed(
-
"curl -fsS 'http://localhost/%28c%29git/some-repo/plain/date.txt?id=master' | diff -u reference/date.txt -"
-
)
+
server.succeed("sudo -u cgit ${pkgs.writeShellScript "setup-cgit-test-repo" ''
+
set -e
+
git init --bare -b master /tmp/git/some-repo
+
git init -b master reference
+
cd reference
+
git remote add origin /tmp/git/some-repo
+
{ echo -n "cgit NixOS Test at "; date; } > date.txt
+
git add date.txt
+
git -c user.name=test -c user.email=test@localhost commit -m 'add date'
+
git push -u origin master
+
''}")
-
# test http clone
-
server.succeed(
-
"git clone http://localhost/%28c%29git/some-repo && diff -u reference/date.txt some-repo/date.txt"
-
)
+
# test web download
+
server.succeed(
+
"curl -fsS 'http://localhost/%28c%29git/some-repo/plain/date.txt?id=master' | diff -u reference/date.txt -"
+
)
-
# test list settings by greping for the fallback readme
-
server.succeed(
-
"curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F 'cgit NixOS Test at'"
-
)
+
# test http clone
+
server.succeed(
+
"git clone http://localhost/%28c%29git/some-repo && diff -u reference/date.txt some-repo/date.txt"
+
)
-
# add real readme
-
server.succeed("sudo -u cgit ${pkgs.writeShellScript "cgit-commit-readme" ''
-
set -e
-
echo '# cgit NixOS test README' > reference/README.md
-
git -C reference add README.md
-
git -C reference -c user.name=test -c user.email=test@localhost commit -m 'add readme'
-
git -C reference push
-
''}")
+
# test list settings by greping for the fallback readme
+
server.succeed(
+
"curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F 'cgit NixOS Test at'"
+
)
-
# test list settings by greping for the real readme
-
server.succeed(
-
"curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F '# cgit NixOS test README'"
-
)
-
server.fail(
-
"curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F 'cgit NixOS Test at'"
-
)
-
'';
-
}
-
)
+
# add real readme
+
server.succeed("sudo -u cgit ${pkgs.writeShellScript "cgit-commit-readme" ''
+
set -e
+
echo '# cgit NixOS test README' > reference/README.md
+
git -C reference add README.md
+
git -C reference -c user.name=test -c user.email=test@localhost commit -m 'add readme'
+
git -C reference push
+
''}")
+
+
# test list settings by greping for the real readme
+
server.succeed(
+
"curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F '# cgit NixOS test README'"
+
)
+
server.fail(
+
"curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F 'cgit NixOS Test at'"
+
)
+
'';
+
}