diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 0d75a616e23a..4b35f538e590 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -480,7 +480,7 @@ in imports = [ ./firefox.nix ]; _module.args.firefoxPackage = pkgs.floorp; }; - fluent-bit = handleTest ./fluent-bit.nix { }; + fluent-bit = runTest ./fluent-bit.nix; fluentd = handleTest ./fluentd.nix { }; fluidd = handleTest ./fluidd.nix { }; fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix { }; diff --git a/nixos/tests/fluent-bit.nix b/nixos/tests/fluent-bit.nix index 729a586784ad..f9923e3ada7e 100644 --- a/nixos/tests/fluent-bit.nix +++ b/nixos/tests/fluent-bit.nix @@ -1,63 +1,56 @@ -import ./make-test-python.nix ( - { lib, pkgs, ... }: - { - name = "fluent-bit"; - - nodes.machine = - { config, pkgs, ... }: - { - services.fluent-bit = { - enable = true; - settings = { - pipeline = { - inputs = [ - { - name = "systemd"; - systemd_filter = "_SYSTEMD_UNIT=fluent-bit-regression-395128.service"; - } - ]; - outputs = [ - { - name = "file"; - path = "/var/log/fluent-bit"; - file = "fluent-bit.out"; - } - ]; - }; - }; - }; - - systemd.services.fluent-bit.serviceConfig.LogsDirectory = "fluent-bit"; - - # Logs get compressed when larger than 1024 bytes - # Lets generate some logs that trigger that - # This causes libzstd to be dlopen'd by systemd which breaks fluent-bit 3.2.7+ - # https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html#Compress= - systemd.services.fluent-bit-regression-395128 = { - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - script = '' - for i in {1..20}; do - (head -c 1200 < /dev/zero | tr '\0' 'A') && echo - sleep 1 - done - ''; +# Regression test for https://github.com/NixOS/nixpkgs/pull/395128 +{ + name = "fluent-bit"; + nodes.machine = { + services.fluent-bit = { + enable = true; + settings = { + pipeline = { + inputs = [ + { + name = "systemd"; + systemd_filter = "_SYSTEMD_UNIT=fluent-bit-regression-395128.service"; + } + ]; + outputs = [ + { + name = "file"; + path = "/var/log/fluent-bit"; + file = "fluent-bit.out"; + } + ]; }; }; + }; + systemd.services.fluent-bit.serviceConfig.LogsDirectory = "fluent-bit"; - testScript = '' - start_all() + # Logs get compressed when larger than 1024 bytes + # Lets generate some logs that trigger that + # This causes libzstd to be dlopen'd by systemd which breaks fluent-bit 3.2.7+ + # https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html#Compress= + systemd.services.fluent-bit-regression-395128 = { + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + script = '' + for i in {1..20}; do + (head -c 1200 < /dev/zero | tr '\0' 'A') && echo + sleep 1 + done + ''; + }; + }; - machine.wait_for_unit("fluent-bit.service") + testScript = '' + start_all() - # Regression test for https://github.com/NixOS/nixpkgs/pull/395128 - with subtest("fluent-bit handles zstd-compressed journal logs"): - machine.succeed("systemctl start fluent-bit-regression-395128.service") - machine.succeed("systemctl show -p NRestarts fluent-bit.service | grep -q 'NRestarts=0'") + machine.wait_for_unit("fluent-bit.service") - machine.wait_for_file("/var/log/fluent-bit/fluent-bit.out") - ''; - } -) + with subtest("fluent-bit handles zstd-compressed journal logs"): + machine.succeed("systemctl start fluent-bit-regression-395128.service") + machine.succeed("systemctl show -p NRestarts fluent-bit.service | grep -q 'NRestarts=0'") + + machine.wait_for_file("/var/log/fluent-bit/fluent-bit.out") + ''; +}