46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
|   | { | ||
|  |   timezone-static = import ./make-test.nix ({ pkgs, ... }: { | ||
|  |     name = "timezone-static"; | ||
|  |     meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ]; | ||
|  | 
 | ||
|  |     machine.time.timeZone = "Europe/Amsterdam"; | ||
|  | 
 | ||
|  |     testScript = ''
 | ||
|  |       $machine->waitForUnit("dbus.socket"); | ||
|  |       $machine->fail("timedatectl set-timezone Asia/Tokyo"); | ||
|  |       my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"'); | ||
|  |       $dateResult[1] eq "1970-01-01 01:00:00\n" or die "Timezone seems to be wrong"; | ||
|  |     '';
 | ||
|  |   }); | ||
|  | 
 | ||
|  |   timezone-imperative = import ./make-test.nix ({ pkgs, ... }: { | ||
|  |     name = "timezone-imperative"; | ||
|  |     meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ]; | ||
|  | 
 | ||
|  |     machine.time.timeZone = null; | ||
|  | 
 | ||
|  |     testScript = ''
 | ||
|  |       $machine->waitForUnit("dbus.socket"); | ||
|  | 
 | ||
|  |       # Should default to UTC | ||
|  |       my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"'); | ||
|  |       print $dateResult[1]; | ||
|  |       $dateResult[1] eq "1970-01-01 00:00:00\n" or die "Timezone seems to be wrong"; | ||
|  | 
 | ||
|  |       $machine->succeed("timedatectl set-timezone Asia/Tokyo"); | ||
|  | 
 | ||
|  |       # Adjustment should be taken into account | ||
|  |       my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"'); | ||
|  |       print $dateResult[1]; | ||
|  |       $dateResult[1] eq "1970-01-01 09:00:00\n" or die "Timezone was not adjusted"; | ||
|  | 
 | ||
|  |       # Adjustment should persist across a reboot | ||
|  |       $machine->shutdown; | ||
|  |       $machine->waitForUnit("dbus.socket"); | ||
|  |       my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"'); | ||
|  |       print $dateResult[1]; | ||
|  |       $dateResult[1] eq "1970-01-01 09:00:00\n" or die "Timezone adjustment was not persisted"; | ||
|  |     '';
 | ||
|  |   }); | ||
|  | } |