diff options
author | Florian Klink <flokli@flokli.de> | 2019-11-22 21:21:05 +0100 |
---|---|---|
committer | Florian Klink <flokli@flokli.de> | 2019-11-22 21:21:05 +0100 |
commit | 51217069517064f463006823c4aa15bb7ed56cb3 (patch) | |
tree | e38381ba2bede13b34d9d6e35645afd8b06debbc /nixos/tests/mpd.nix | |
parent | c81e4f10c2fb8d63a0694a5c5661ed9ade050990 (diff) | |
download | nixpkgs-51217069517064f463006823c4aa15bb7ed56cb3.tar nixpkgs-51217069517064f463006823c4aa15bb7ed56cb3.tar.gz nixpkgs-51217069517064f463006823c4aa15bb7ed56cb3.tar.bz2 nixpkgs-51217069517064f463006823c4aa15bb7ed56cb3.tar.lz nixpkgs-51217069517064f463006823c4aa15bb7ed56cb3.tar.xz nixpkgs-51217069517064f463006823c4aa15bb7ed56cb3.tar.zst nixpkgs-51217069517064f463006823c4aa15bb7ed56cb3.zip |
nixosTests.mpd: port to python
Diffstat (limited to 'nixos/tests/mpd.nix')
-rw-r--r-- | nixos/tests/mpd.nix | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/nixos/tests/mpd.nix b/nixos/tests/mpd.nix index a992576808d..895b7e2014c 100644 --- a/nixos/tests/mpd.nix +++ b/nixos/tests/mpd.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ({ pkgs, lib, ... }: let track = pkgs.fetchurl { # Sourced from http://freemusicarchive.org/music/Blue_Wave_Theory/Surf_Music_Month_Challenge/Skyhawk_Beach_fade_in @@ -94,40 +94,39 @@ import ./make-test.nix ({ pkgs, lib, ... }: }; testScript = '' - my $mpc = "${pkgs.mpc_cli}/bin/mpc --wait"; + mpc = "${pkgs.mpc_cli}/bin/mpc --wait" # Connects to the given server and attempts to play a tune. - sub play_some_music { - my $server = $_[0]; + def play_some_music(server): + server.wait_for_unit("mpd.service") + server.succeed(f"{mpc} update") + _, tracks = server.execute(f"{mpc} ls") - $server->waitForUnit("mpd.service"); - $server->succeed("$mpc update"); - my @tracks = $server->execute("$mpc ls"); + for track in tracks.splitlines(): + server.succeed(f"{mpc} add {track}") - for my $track (split(/\n/, $tracks[1])) { - $server->succeed("$mpc add $track"); - }; + _, added_tracks = server.execute(f"{mpc} listall") - my @added_tracks = $server->execute("$mpc listall"); - (length $added_tracks[1]) > 0 or die "Failed to add audio tracks to the playlist."; + # Check we succeeded adding audio tracks to the playlist + assert len(added_tracks.splitlines()) > 0 - $server->succeed("$mpc play"); + server.succeed(f"{mpc} play") - my @status = $server->execute("$mpc status"); - my @output = split(/\n/, $status[1]); - $output[1] =~ /.*playing.*/ or die "Audio track is not playing, as expected."; + _, output = server.execute(f"{mpc} status") + # Assure audio track is playing + assert "playing" in output + + server.succeed(f"{mpc} stop") - $server->succeed("$mpc stop"); - }; - play_some_music($serverALSA); - play_some_music($serverPulseAudio); + play_some_music(serverALSA) + play_some_music(serverPulseAudio) - $client->waitForUnit("multi-user.target"); - $client->succeed("$mpc -h serverALSA status"); + client.wait_for_unit("multi-user.target") + client.succeed(f"{mpc} -h serverALSA status") # The PulseAudio-based server is configured not to accept external client connections # to perform the following test: - $client->fail("$mpc -h serverPulseAudio status"); + client.fail(f"{mpc} -h serverPulseAudio status") ''; }) |