この前の勉強会でJenkinsについて色々知った。JenkinsってJava向けだろうと思ってたら全然違って基本何でもいけるらしい(シェルから動かせるから)。あとgithubのプロジェクトもいけるらしいので早速pygamessっていう量子化学計算用のモジュールを使って試してみた。
最近GAMESSを仕事で使うことが多いんだけど、きちんとテストしてないと不安ですからね。
Jenkins
さくっと導入するならTraclightningがいいらしいんだけど、Jenkinsを単独で入れた。macだとパッケージをダウンロードして実行するだけでlocalhostの8080に常駐するので楽ちん
あとは、Gitのプラグインを追加でインストールしておく。
Python
Pythonのテストといえばnoseですね。あと、Python版のPerl Testingみたいな本ないのかな?
Perl Testing: A Developer's Notebook (Developers Notebook)
Ian Langworth
Oreilly & Associates Inc / 2160円 ( 2005-08 )
Ian Langworth
Oreilly & Associates Inc / 2160円 ( 2005-08 )
JenkinsとPythonの連携を参考にした。まずはnoseとunittest-xml-reportingをインストールしておく。
あとはJenkinsの設定のシェルの実行っていうところにnoseのテストを書いておく。
nosetests -v --with-xunit -w tests
これでnosetests.xmlっていうファイルにテスト結果が出力されるようになるので、JenkinsのオプションのJUnitテストの結果集計というところにチェックを入れて、nosetests.xmlを追加しておく。
4つテストを走らせて、1つFailしている。
これは環境変数とかの問題で、gamessの実行ファイルがきちんと呼び出せてないせいで、テストがこけているんだけど、Jenkinsのほうにエラーの内容が吐かれてないのでどこでこけているのかつかめていない。
そもそもrungms使うのが間違っているのかなぁ。あとでよく考える。