Haftpflicht Blogger
Virtual Server von Host Europe

Vmware – Testen von datumsabhängigen Funktionen

| 19. Dezember 2010 | Keine Kommentare

Der einhundertste BlogartikelGerade im Bereich der Softwareentwicklung können virtuelle Maschinen zum Testen von Programmen sehr sinnvoll eingesetzt werden. Sie ermöglichen den Programm- oder Funktionstest unter verschiedenen Betriebssystemen und garantieren durch die Snapshotfunktion die absolute Reproduzierbarkeit eines Testfalls.

Schwieriger zu testen sind dabei datumsabhängige Funktionen, womit Funktionen gemeint sind, die auf Basis der Systemzeit eine Aktion ausführen.

Geburtstag: Blogartikel Nr. 100

Beispiel: 

Eine Funktion verarbeitet die Daten des Vortages. In der Datenbank seien hierbei viele Datensätze für den 11. Mai abgespeichert. Die korrekte Abarbeitung der Funktion hängt nun davon ab, dass die Systemzeit den 12. Mai als Datum zurückliefert.

Problem:

Das Gastsystem der virtuellen Maschine syncronisiert sich mit der Systemzeit des Hostrechners beim Start der virtuellen Maschine.   Der Versuch, die Gastrechnersystemzeit manuell einzustellen, zeigt nur einen kurzfristigen Erfolg, da die Systemzeit vom Gastsystem periodisch (Defaultwert ca. 1 min) mit dem Hostsystem syncronisiert wird, so dass die Veränderung wieder verloren geht.

Zielsetzung:

Die Systemzeit des Gastsystems soll unabhängig von der Systemzeit des Hostsystems sein und im Idealfall bei jedem Start der virtuellen Maschine auf einen bestimmten Datums-/Zeitwert gesetzt werden.

Lösung:

In der *.vmx Steuerungsdatei der virtuelle Maschine sind folgende Einträge einzufügen:

Anmerk.:  Der letzte Befehl rtc.startTime setzt die virtuelle Maschine auf den gewünschten Datums-/Zeitpunkt vom 1. Mai 2007, 9:00:00 Uhr  (s. a. UTC Linkverweis)

 

Siehe auch:

Vmware: Timekeeping in Virtual Maschines  (Information Guide)

Vmware: Timekeeping in Virtual Maschines (White Paper)

Wikipedia: Koordinierte Weltzeit UTC

Stichworte: , ,

Kategorie: Programmierung, VMware

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.