osyo-manga / vital-over

18 stars 3 forks source link

Fix split special keys #122

Closed haya14busa closed 9 years ago

haya14busa commented 9 years ago

やったこと

テスト手動でOwlRunしにいくのめんどい(かつパスが通ってないと実行できない) という不便さあるので themis + Vital.Vim.ScriptLocal でテストするPRとか投げたらマッジ & travis etc...でCIまわしていただけたりします? (まぁすぐやるとは言ってないけど)

osyo-manga commented 9 years ago

ありがとうございます。

テスト手動でOwlRunしにいくのめんどい(かつパスが通ってないと実行できない) という不便さあるので themis + Vital.Vim.ScriptLocal でテストするPRとか投げたらマッジ & travis etc...でCIまわしていただけたりします? (まぁすぐやるとは言ってないけど)

これですがそちらで追加する分にはまぁよいと思うのですが、既存のテストをごっそりと移動させるのはちょっと手間かなーという感じです。 できれば既存のテストを残しつつ他のテストでラップできるような仕組みがほしいです。 ところで『かつパスが通ってないと実行できない』というのは具体的にどういう状況でしょうか。

osyo-manga commented 9 years ago

個人的には themis を導入する理由がないというのが現状です。 逆にいうと owl.vim で TravisCI が実行できればよいという感じなのでしょうか。

haya14busa commented 9 years ago

これですがそちらで追加する分にはまぁよいと思うのですが、既存のテストをごっそりと移動させるのはちょっと手間かなーという感じです。

まぁやるなら僕がやります(というか残ってるやつを一気に移動させる必要はないはず. やるにしても徐々にでよさそう)

できれば既存のテストを残しつつ他のテストでラップできるような仕組みがほしいです。

んー個人的には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

haya14busa commented 9 years ago

テストのメッセージがコピペのままのとこあった...

まぁ気に入らない場合は勝手にforkリポジトリでも作って回しときます.

osyo-manga commented 9 years ago

対象のファイル (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 で便利に使っているので。

osyo-manga commented 9 years ago

つまり owl.vim なんとかします(なんとかするとは言ってない。

osyo-manga commented 9 years ago

もしかしたら @haya14busa さんが鬼のように themis を使ったテストコードを投げつけてきて便利アピールしてくれるなら気持ちが変わるかも知れませんが(ニッコリ

osyo-manga commented 9 years ago

ここからはチラシの裏ですが、themis にしても owl.vim にしてもテスト機構ではなくて、もっと汎用的にテストを実行する仕組みがほしいですね。

haya14busa commented 9 years ago

なるほど, じゃあ時間があるときにちょこちょこthemisテストかいて回して, 気が向いたpingしてみま.

テストランナーとテストライブラリがいい感じにわけられる仕組みがあると便利そう. themisもまだプラガブルじゃないってマンボウの人がおっしゃってたし, themis/owl にキタイしておきます(キタイ)

osyo-manga commented 9 years ago

究極的に言ってしまえば "Travis CI で Vim script が実行できてそれが成功したか失敗したかだけを判定できればよい"わけで、そういう仕組みがほしいですねぇ。

haya14busa commented 9 years ago

まぁなんで落ちたのかの理由は欲しいですね. 手元の環境で必ずしも再現するわけじゃないので

haya14busa commented 9 years ago

あとはtravisでというよりコマンドから実行できるようになってるってのがミソっぽい(僕は現在つかってないですがguard? とかでローカルで書きながらテスト自動実行とかもできるし, circle ci つかっても別によい)

osyo-manga commented 9 years ago

そこが難しいんですよねぇ。 環境によって実行方法が違うので。 いっそのこと Ruby 経由で叩いてしまうほうが楽なのでは、と思ったりしてます。

haya14busa commented 9 years ago

ruby経由で叩いてるのが vim-vspec で, シェルスクリプト or batスクリプトで叩いてるのが themisっぽい(ゲンジョウ) ちなみに両方使ったことありますが両方特に環境によって実行できなくてつらくなったことはあまりなさですね.

haya14busa commented 9 years ago

あーいや, vim-vspecだとwindows非対応なんだったっけ. その点ではthemisだとwindowsも対応していてよさ

osyo-manga commented 9 years ago

vim-vspec はそう聞いていますね>Windows 非対応

haya14busa commented 9 years ago

windows実行app veyorでくらいしかしないので忘れてました. あといろいろとgem管理めんどかったりして基本Vim scriptで完結してるthemisだとそのへん楽という部分もあった気がする