Closed haya14busa closed 9 years ago
ありがとうございます。
テスト手動でOwlRunしにいくのめんどい(かつパスが通ってないと実行できない) という不便さあるので themis + Vital.Vim.ScriptLocal でテストするPRとか投げたらマッジ & travis etc...でCIまわしていただけたりします? (まぁすぐやるとは言ってないけど)
これですがそちらで追加する分にはまぁよいと思うのですが、既存のテストをごっそりと移動させるのはちょっと手間かなーという感じです。 できれば既存のテストを残しつつ他のテストでラップできるような仕組みがほしいです。 ところで『かつパスが通ってないと実行できない』というのは具体的にどういう状況でしょうか。
個人的には themis
を導入する理由がないというのが現状です。
逆にいうと owl.vim
で TravisCI が実行できればよいという感じなのでしょうか。
これですがそちらで追加する分にはまぁよいと思うのですが、既存のテストをごっそりと移動させるのはちょっと手間かなーという感じです。
まぁやるなら僕がやります(というか残ってるやつを一気に移動させる必要はないはず. やるにしても徐々にでよさそう)
できれば既存のテストを残しつつ他のテストでラップできるような仕組みがほしいです。
んー個人的にはowl/themisの書き方が汎用的なわけでもないのでラップする仕組みは難しそうだとおもいました.
ところで『かつパスが通ってないと実行できない』というのは具体的にどういう状況でしょうか。
対象のファイル (e.g. let owl_SID = owl#filename_to_SID("vital-over/autoload/vital/__latest__/Over/String.vim")
) をまだ:source
してない状態でOwlRun
してもSIDとれなくてエラーになります
個人的には themis を導入する理由がないというのが現状です。
自動で実行できないという時点で個人的にはthemisつかいたい感が高まります. テスト書いてても自動で実行されないと, なにかのコミットで壊したときにそれにきづけないのが悲しい.(あと手動で実行めんどい)
プラス, 例えば今回のような正規表現のテストはVim7.3/7.4でも回したい.
逆にいうと owl.vim で TravisCI が実行できればよいという感じなのでしょうか。
ですねー. まぁエラーの出力がthemisにくらべて見づらいとかは個人的には感じますが大きな理由は自動実行です
ちなみにthemisで書いた感じのProof of concept (ジッサイに実行できる. コミットメッセージ参考) https://github.com/haya14busa/vital-over/commit/92eca92b6b021e19d45c7e5b07f4e369a1886490
テストのメッセージがコピペのままのとこあった...
まぁ気に入らない場合は勝手にforkリポジトリでも作って回しときます.
対象のファイル (e.g. let owl_SID = owl#filename_to_SID("vital-over/autoload/vital/latest/Over/String.vim")) をまだ:sourceしてない状態でOwlRunしてもSIDとれなくてエラーになります
んーこれは仕様上しょうがないですね。
内部で自動に :source
することで回避できるとは思いますが。
個人的には確かに自動テストないのは確かに不便なのでなんとかしたいとは思いますが、できれば themis 使わないで(もしくは owl.vim のテストと併用できる形で)考えたいと思います。
owl.vim は owl.vim で便利に使っているので。
つまり owl.vim なんとかします(なんとかするとは言ってない。
もしかしたら @haya14busa さんが鬼のように themis を使ったテストコードを投げつけてきて便利アピールしてくれるなら気持ちが変わるかも知れませんが(ニッコリ
ここからはチラシの裏ですが、themis にしても owl.vim にしてもテスト機構ではなくて、もっと汎用的にテストを実行する仕組みがほしいですね。
なるほど, じゃあ時間があるときにちょこちょこthemisテストかいて回して, 気が向いたpingしてみま.
テストランナーとテストライブラリがいい感じにわけられる仕組みがあると便利そう. themisもまだプラガブルじゃないってマンボウの人がおっしゃってたし, themis/owl にキタイしておきます(キタイ)
究極的に言ってしまえば "Travis CI で Vim script が実行できてそれが成功したか失敗したかだけを判定できればよい"わけで、そういう仕組みがほしいですねぇ。
まぁなんで落ちたのかの理由は欲しいですね. 手元の環境で必ずしも再現するわけじゃないので
あとはtravisでというよりコマンドから実行できるようになってるってのがミソっぽい(僕は現在つかってないですがguard? とかでローカルで書きながらテスト自動実行とかもできるし, circle ci つかっても別によい)
そこが難しいんですよねぇ。 環境によって実行方法が違うので。 いっそのこと Ruby 経由で叩いてしまうほうが楽なのでは、と思ったりしてます。
ruby経由で叩いてるのが vim-vspec で, シェルスクリプト or batスクリプトで叩いてるのが themisっぽい(ゲンジョウ) ちなみに両方使ったことありますが両方特に環境によって実行できなくてつらくなったことはあまりなさですね.
あーいや, vim-vspecだとwindows非対応なんだったっけ. その点ではthemisだとwindowsも対応していてよさ
vim-vspec はそう聞いていますね>Windows 非対応
windows実行app veyorでくらいしかしないので忘れてました. あといろいろとgem管理めんどかったりして基本Vim scriptで完結してるthemisだとそのへん楽という部分もあった気がする
やったこと
おもったこと
テスト手動でOwlRunしにいくのめんどい(かつパスが通ってないと実行できない) という不便さあるので themis + Vital.Vim.ScriptLocal でテストするPRとか投げたらマッジ & travis etc...でCIまわしていただけたりします? (まぁすぐやるとは言ってないけど)