summary refs log tree commit diff
path: root/nixos/tests/yabar.nix
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2018-09-20 12:47:46 +0200
committerxeji <36407913+xeji@users.noreply.github.com>2018-09-20 12:47:46 +0200
commit8b58a7187c9f3c8f1997f328c27c536effccdac3 (patch)
treea41c3c899244509ff527850627aaa7d1f9fbbbe6 /nixos/tests/yabar.nix
parentc6d02602390130ef897c03a4b6c5060000e72ea8 (diff)
downloadnixpkgs-8b58a7187c9f3c8f1997f328c27c536effccdac3.tar
nixpkgs-8b58a7187c9f3c8f1997f328c27c536effccdac3.tar.gz
nixpkgs-8b58a7187c9f3c8f1997f328c27c536effccdac3.tar.bz2
nixpkgs-8b58a7187c9f3c8f1997f328c27c536effccdac3.tar.lz
nixpkgs-8b58a7187c9f3c8f1997f328c27c536effccdac3.tar.xz
nixpkgs-8b58a7187c9f3c8f1997f328c27c536effccdac3.tar.zst
nixpkgs-8b58a7187c9f3c8f1997f328c27c536effccdac3.zip
nixos/yabar: fix module & test (#46954)
The `pkgs.yabar` package is relatively old (2016-04) and contains
several issues fixed on master. `yabar-unstable` containsa recent master
build with several fixes and a lot of new features (I use
`yabar-unstable` for some time now and had no issues with it).

In the upstream bugtracker some bugs could be fixed on ArchLinux by
simply installing `yabar-git` (an AUR package which builds a recent
master).

To stabilize the module, the option `programs.yabar.package` now
defaults to `pkgs.yabar-unstable` and yields a warning with several
linked issues that are known on `pkgs.yabar`.

The test has been refactored as well to ensure that `yabar` actually
starts (and avoid non-deterministic random success) and takes a
screenshot of a very minimalistic configuration on IceWM.

Fixes #46899
Diffstat (limited to 'nixos/tests/yabar.nix')
-rw-r--r--nixos/tests/yabar.nix16
1 files changed, 12 insertions, 4 deletions
diff --git a/nixos/tests/yabar.nix b/nixos/tests/yabar.nix
index 06fe5bc2b27..bbc0cf4c7dd 100644
--- a/nixos/tests/yabar.nix
+++ b/nixos/tests/yabar.nix
@@ -8,18 +8,26 @@ with lib;
     maintainers = [ ma27 ];
   };
 
-  nodes.yabar = {
+  machine = {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
 
     services.xserver.displayManager.auto.user = "bob";
 
     programs.yabar.enable = true;
+    programs.yabar.bars = {
+      top.indicators.date.exec = "YABAR_DATE";
+    };
   };
 
   testScript = ''
-    $yabar->start;
-    $yabar->waitForX;
+    $machine->start;
+    $machine->waitForX;
 
-    $yabar->waitForUnit("yabar.service", "bob");
+    # confirm proper startup
+    $machine->waitForUnit("yabar.service", "bob");
+    $machine->sleep(10);
+    $machine->waitForUnit("yabar.service", "bob");
+
+    $machine->screenshot("top_bar");
   '';
 })