私はCで書かれ、automake/autoconfを使ってビルドされたプログラムがあり、2つのテストスイートがあります。一つはCで書かれたユニットテストスイートです。もう一方はエンドツーエンドであり、(現在)Pythonで書かれています。単体テストを常に実行する "make check"と、Pythonがインストールされている場合にのみエンドツーエンドのテストが必要です。これは私が今持っているものです。Pythonが利用可能であればテストプログラムを有効にする - automake
TESTS = unittests
if HAVE_PYTHON
TESTS += tester.py
tester_py_SOURCES = src/test/tester.py.in
tester.py: src/test/tester.py.in Makefile
$(SED) -e 's,[@]PYTHON[@],$(PYTHON),' < $< > [email protected]
chmod +x [email protected]
endif
HAVE_PYTHON
が
AM_PATH_PYTHON([2.6],, [:])
AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != ":"])
でconfigureスクリプトによって設定されているこれは、UNIX上で正常に動作しますが、「tester.py.exeを作ることなしルール」で吹きますWindowsの場合また、#!
行を取得するためのコピー&代用テクニックは、テストスイートを複数のモジュールに分割できないことを意味します。
これを行うより良い方法はありますか?
'check_SCRIPTS'もちろん、私はそれを考えなければなりませんでした。もう一つは 'AS_IF'の中に' AC_CONFIG_FILES'を置くことはできないと思っていましたが、とにかくそれを適切なPythonスタイルに変換しなければならないという問題は解決しませんでした。ここで本当に欲しいのは、 ''。/ tester.py'の代わりに '$(PYTHON)$(srcdir)/ src/test/tester.py'を実行する 'check-TESTS'ターゲットを取得する方法です' (私は結局、あきらめてラッパースクリプトを実行するかもしれませんが、それ以上のWindowsのクラップを処理しなければならないので、避けています) – zwol
@Zack:編集を確認してください。 –
うん、チェックローカルは行く方法だと思われる。ありがとう。 – zwol