Boost Build を使用して実行している DB 統合テストがあります。テストには、いくつかのコマンドライン引数 (DB ユーザー名、パスワード) が必要です。Boost Build を介して (環境変数、bjam コマンドライン、user-config.jam を介して) ユーザーが構成できるように設定する最良の方法は何ですか?
私は変数でこれを行うことができることを知っています:
import os ;
local DB_PASS = [ os.environ DB_PASS ] ;
run dbtest : test.cpp : --dbpass $(DB_PASS) ;
これは、コマンドライン ( bjam -s DB_PASS=pass
) または環境変数を介して設定できます。
一方、Boost Build は、機能メカニズムを介して構成のほとんどを行う傾向があります。おそらく、新しい機能を定義して、構成データを適切な場所に配置することができます。
各アプローチの長所と短所は何ですか? どちらを取るべきですか?機能の場合: どうすればいいですか?
注: 実際のテストは、Jamroot によって使用される Jamfile 内にあるため、ルート ファイルに直接ではありません。