CUnit を使用して、開発した共有ライブラリをテストしたいと考えています。
共有ライブラリはLD_PRELOAD
、環境変数を使用してファイル パスを含む文字列を、ファイル パスに基づく新しい日付と時刻に再マップする標準の Solaris メカニズムを介してロードされます。
最初のテストでは、このファイル パスの再マップを制御するために使用される環境変数に単一の値を使用します。
環境変数をCUnit環境に渡すための提案された方法、おそらくレシピはありますか?
オプションのテストスイート設定機能でテスト値を設定しようと考えています。
編集:以下の@ eaanon01によって要求されたもう少し詳細。(-:
私たちの shlib は、ディレクトリ パスを取る関数を実装します。たとえば、
/home/www/my_tld
次に、Unix エポック タイムスタンプを使用して、それをアーカイブ内のディレクトリ パスに変換します。たとえば、
/home/www/my_tld/1088589843
20040630 10:04:03 GMT のその tld の内容について。
傍受されるシステムコールのパラメーターを制御できないため、環境変数を使用して必要なタイムスタンプ (この例では 1088589843 の値) を渡す必要があります。
この shlib で傍受しているすべての Unix syscall の単体テストが必要であり、単体テストに CUnit フレームワークを使用し、環境変数を介して渡されるタイムスタンプの固定値を持ちたいと考えています。
単体テストごとに環境変数を設定する推奨方法はありますか?