はじめに
この記事は2020年ふりかえりアドベントカレンダー 11日目です。これを書いているのは12月14日ですが、あまり気にしないことにしました。昨日の記事は サロゲートペアとRubyのStringについての覚書 - いまブログ です。
先日 Ruby の標準添付ライブラリの reline に PR を送って無事マージされました。
reline のテストについて教えていただいたので書き残しておきます。
reline の概要
reline は GNU readline を Ruby で再実装したライブラリです。 Ruby の標準添付ライブラリとして Ruby 同梱されています。
reline のテスト
rake test
と rake test_yamatanooroti
で実行できます。
rake test
rake test
を実行すると Rakefile
の ENCODING_LIST
に定義されているエンコーディングでテストが実行されます。とても便利です。
❯ rake test Test Encoding: Shift_JIS Loaded suite -e Started ........................................................................................................................................... ............................................................................................................. Finished in 0.291866 seconds. ------------------------------------------------------------------------------------------------------------------------------------------- 248 tests, 2670 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed ------------------------------------------------------------------------------------------------------------------------------------------- 849.71 tests/s, 9148.03 assertions/s Test Encoding: EUC-JP Loaded suite -e Started ........................................................................................................................................... ............................................................................................................. Finished in 0.256047 seconds. ------------------------------------------------------------------------------------------------------------------------------------------- 248 tests, 2670 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed ------------------------------------------------------------------------------------------------------------------------------------------- 968.57 tests/s, 10427.77 assertions/s Test Encoding: UTF-8 Loaded suite -e Started ........................................................................................................................................... ............................................................................................................... Finished in 0.232133 seconds. ------------------------------------------------------------------------------------------------------------------------------------------- 250 tests, 2710 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed ------------------------------------------------------------------------------------------------------------------------------------------- 1076.97 tests/s, 11674.34 assertions/s Test Encoding: Windows-31J Loaded suite -e Started ........................................................................................................................................... ............................................................................................................. Finished in 0.235805 seconds. ------------------------------------------------------------------------------------------------------------------------------------------- 248 tests, 2670 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed ------------------------------------------------------------------------------------------------------------------------------------------- 1051.72 tests/s, 11322.92 assertions/s
rake test_yamatanooroti
yamatanooroti
というgemを使い、仮想端末上でテストを実行します。
yamatanooroti
を使うには、 libvterm
、gem vterm
をインストールします。
$ brew install libvterm $ gem install vterm
rake test_yamatanooroti
でテストを実行できます。