2010年03月15日
Clang の test suite を実行する
まず、Python と GnuWin32 をインストールしました。(python-2.6.4.msi と GetGnuWin32-0.6.3.exe を使用。)
python は msi をダブルクリックするだけで問題無いですが、GnuWin32 のインストールはけっこう面倒ですし、時間がかかります。
(インストールツールが GetGnuWin32-0.6.3.exe となってますが、どうもこれは 0.6.30 の間違いじゃないかと思います。)
まず、インストールツールの exe をダブルクリックして(私の場合は)c:\gnuwin32 以下に unzip や wget などのインストールツール群を展開した後、以下のようにバッチファイルでパッケージのダウンロードと展開を行います。
download.bat を編集して jaist のミラーにすると良いという情報もありましたが、どうも上手く行かなかったので、デフォルトのまま実行しました。
(以下、Windows XP の場合。Vista 以降は UAC を切ってから行わないと、何十回も許可ダイアログをクリックするはめになるそうです。)
(なぜかこの後 python.exe が実行できなくなってしまったので、再インストールしました… 因果はちょっと不明です。) PATH を通した後、テストを実行。しかし、上記サイトの記述通りにやると、
python は msi をダブルクリックするだけで問題無いですが、GnuWin32 のインストールはけっこう面倒ですし、時間がかかります。
(インストールツールが GetGnuWin32-0.6.3.exe となってますが、どうもこれは 0.6.30 の間違いじゃないかと思います。)
まず、インストールツールの exe をダブルクリックして(私の場合は)c:\gnuwin32 以下に unzip や wget などのインストールツール群を展開した後、以下のようにバッチファイルでパッケージのダウンロードと展開を行います。
download.bat を編集して jaist のミラーにすると良いという情報もありましたが、どうも上手く行かなかったので、デフォルトのまま実行しました。
(以下、Windows XP の場合。Vista 以降は UAC を切ってから行わないと、何十回も許可ダイアログをクリックするはめになるそうです。)
C:\gnuwin32\GetGnuWin32>download.bat C:\gnuwin32\GetGnuWin32>install.bat
(なぜかこの後 python.exe が実行できなくなってしまったので、再インストールしました… 因果はちょっと不明です。) PATH を通した後、テストを実行。しかし、上記サイトの記述通りにやると、
lit.py: lit.site.cfg:17: fatal: unable to find 'build_config' parameter, use '-- param=build_config=VALUE'というエラーが出てしまい困りました。キーワードを頼りに検索した結果、--param=build_config=${CMAKE_CFG_INTDIR} のようにしている実行例があったので、試してみると、とりあえずテストは動き出しました。
C:\llvm\work>C:\llvm\work>PATH c:\gnuwin32\GetGnuWin32\gnuwin32\bin;c:\llvm\bin\Debug;%PATH% C:\llvm\work>which grep c:\gnuwin32\GetGnuWin32\gnuwin32\bin\grep.EXE C:\llvm\work>c:\Python26\python.exe c:\llvm\utils\lit\lit.py --param=build_confi g=${CMAKE_CFG_INTDIR} -sv --no-progress-bar c:\llvm\tools\clang\test実行結果です。Unexpected Failures が 8 つも出てるのが気になりますが、そのうち 5 つは arm と darwin と出ているのであまり関係無さそう ? (また、もともと Windows 版には、既知の通らないテストが存在するそうです。)
******************** Testing Time: 63.89s ******************** Failing Tests (8): Clang :: CodeGen/arm-arguments.c Clang :: CodeGen/arm_asm_clobber.c Clang :: CodeGen/builtin-attributes.c Clang :: CodeGen/builtins-arm.c Clang :: CodeGen/darwin-string-literals.c Clang :: CodeGen/parameter-passing.c Clang :: Coverage/targets.c Clang :: Driver/darwin-iphone-defaults.m Expected Passes : 2068 Expected Failures : 17 Unexpected Failures: 8