2014-04-19
TravisCI で pg_dump が使えないっぽい
表記の通りなんですが、、最近 Otogiri::Plugin::TableInfo というモジュールを作ってます。 んで、これで PostgreSQL のテーブル定義を出すために異常な努力をしているのですが、正解の CREATE TABLE 文を pg_dump で出したやつ(を元に要らない行を消したやつ)としています。
なので、pg_dump したやつと、僕が書いてるモジュールが出してるテーブル定義が一致するかをテストするのを書いてたのですが、
なんかこんな感じの悲しい感じになってます。
286 t/03_pg.t ....... 1/? pg_dump: server version: 9.3.2; pg_dump version: 9.1.11
287 pg_dump: aborting because of server version mismatch
うーん、コレ何とかする方法あるんでしょうか?
ってか、なんでこんな良くわからん事になってるんだろ…
2014-04-25 追記
travis って CPAN モジュールだけじゃなくて、ふつうにパッケージ入れたりできるみたいですね。なので、変な入れ方してるとダメな場合があるのだと思います。
.travis.yml
に頑張って色々書いても良いのかもですが、それもそれでどうなのよ?って感じに思えたので、pg_dump がおかしかったらテストを skip するように
書き換えました。
2015-01-11 追記2
いつ対応したのか忘れましたが、pg_dump のインストール状態に応じてカバレッジ、というか流れるテストが変わってしまうのは良くないと思い、頑張ってインストールするようにしました。今のところ、これで問題なく動いているみたいです。
https://github.com/tsucchi/p5-Otogiri-Plugin-TableInfo/blob/master/.travis.yml
language: perl
perl:
- 5.16
- 5.18
- "5.20"
before_install:
- sudo apt-get remove postgresql-client
- sudo apt-get install postgresql-client
- cpanm --force Test::mysqld Test::PostgreSQL
- cpanm -n Devel::Cover::Report::Coveralls
- cover -delete
script:
perl Build.PL && ./Build build && cover -test -report coveralls