at 23.05-pre 1.3 kB view raw
1import ./make-test-python.nix ({ pkgs, ... }: 2 3{ 4 name = "power-profiles-daemon"; 5 meta = with pkgs.lib.maintainers; { 6 maintainers = [ mvnetbiz ]; 7 }; 8 nodes.machine = { pkgs, ... }: { 9 services.power-profiles-daemon.enable = true; 10 environment.systemPackages = [ pkgs.glib ]; 11 }; 12 13 testScript = '' 14 def get_profile(): 15 return machine.succeed( 16 """gdbus call --system --dest net.hadess.PowerProfiles --object-path /net/hadess/PowerProfiles \ 17 --method org.freedesktop.DBus.Properties.Get 'net.hadess.PowerProfiles' 'ActiveProfile' 18 """ 19 ) 20 21 22 def set_profile(profile): 23 return machine.succeed( 24 """gdbus call --system --dest net.hadess.PowerProfiles --object-path /net/hadess/PowerProfiles \ 25 --method org.freedesktop.DBus.Properties.Set 'net.hadess.PowerProfiles' 'ActiveProfile' "<'{profile}'>" 26 """.format( 27 profile=profile 28 ) 29 ) 30 31 32 machine.wait_for_unit("multi-user.target") 33 34 set_profile("power-saver") 35 profile = get_profile() 36 if not "power-saver" in profile: 37 raise Exception("Unable to set power-saver profile") 38 39 40 set_profile("balanced") 41 profile = get_profile() 42 if not "balanced" in profile: 43 raise Exception("Unable to set balanced profile") 44 ''; 45})