Frage

Wir wollen CUnit verwenden, um eine gemeinsame Bibliothek zu testen, die wir entwickelt haben.

Die gemeinsam genutzte Bibliothek ist über den Standard-Solaris LD_PRELOAD Mechanismus geladen, wo es eine Umgebungsvariable verwendet eine Zeichenfolge, die einen Dateipfad zu einem neuen Datum und Uhrzeit auf der Grundlage der Dateipfad neu zugeordnet werden.

Erste Tests einen einzelnen Wert für die Umgebungsvariable verwenden, verwendet werden diese remap der Dateipfade zu steuern.

Gibt es eine vorgeschlagene Art und Weise, ein Rezept vielleicht ?, unsere Umgebungsvariable in die Umwelt CUnit passieren?

Ich denke, den Testwert im optionalen Test-Suite-Setup-Funktion zu setzen.

Edit: Ein bisschen mehr Detail wie gewünscht von @ eaanon01 unten. (-:

Unsere shlib implementiert eine Funktion, die einen Verzeichnispfad, zum Beispiel nimmt

/home/www/my_tld

und dann einen Unix Unix-Zeitstempel verwendet wird, wandelt diese in einen Verzeichnispfad in unserem Archiv, zum Beispiel

/home/www/my_tld/1088589843

Für die Inhalte dieser TLD bei 20040630 10.04.03 GMT.

Da wir keine Kontrolle über die Parameter des syscalls haben abgefangen werden, müssen wir eine Umgebungsvariable verwenden, in dem erforderlichen Zeitmarke passieren, in diesem Beispiel einen Wert von 1088589843.

Wir wollen Unit-Tests für alle Unix syscalls wir mit diesem shlib sind Abfangen und wir wollen die CUnit Rahmen für die Unit-Tests verwenden und einen festen Wert des Zeitstempels haben, die in über die Umgebungsvariable übergeben wird.

Gibt es eine empfohlene Weg, um die Umgebungsvariable für jede Einheit Test der Einstellung?

War es hilfreich?

Lösung

Sie haben die Möglichkeit, Auf- und Abbau in einer „init-Suite“ -Funktion und eine „saubere Suite“ Funktion init. Nicht sicher, ob ich voll und ganz die Frage fassen, bitte erarbeiten mehr.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top