nixos/filesystems: don't silently ignore label when device is set (#361418)
[NixPkgs.git] / pkgs / by-name / tv / tvbrowser / test.nix
blobbee843ccbecc818553d7766866e94804ad7279c7
1 { lib
2 , xvfb-run
3 , tvbrowser
4 , runCommand
5 , writeShellApplication
6 , xorg
7 }:
9 let
10   testScript = writeShellApplication {
11     name = "tvbrowser-test-script";
12     runtimeInputs = [ xorg.xwininfo tvbrowser ];
13     text = ''
14       function find_tvbrowser_windows {
15         for window_name in java tvbrowser-TVBrowser 'Setup assistant' ; do
16           grep -q "$window_name" "$1"  ||  return 1
17         done
18       }
19       tvbrowser &
20       for _ in {0..900} ; do
21         xwininfo -root -tree  \
22             | sed 's/.*0x[0-9a-f]* \"\([^\"]*\)\".*/\1/; t; d'  \
23             | tee window-names
24         echo
25         if find_tvbrowser_windows window-names ; then
26           break
27         fi
28         sleep 1
29       done
30       find_tvbrowser_windows window-names
31     '';
32   };
34 runCommand
35 "tvbrowser-test"
36 { buildInputs = [ xvfb-run ]; }
38   HOME=$PWD xvfb-run ${lib.getExe testScript}
39   touch ${placeholder "out"}