テスト

Mroongaでgrn_p()を利用する方法

最近、Mroongaの開発をしている児玉です。

Mroongaを開発する中で特定のオブジェクトの中身をデバッグしたい状況になりました。 そんな時に、便利なのがGroongaのオブジェクトの状態を標準出力に表示するgrn_p()です。

しかし、grn_p()を使ってターミナル上にオブジェクトの状態を表示しようとしたところ、 うまく表示されませんでした。どうやら標準出力が別の場所に向けられているようです。

今回この問題を解決し、grn_p()で快適にMroongaをデバッグできるようになったので、 その方法を紹介します!

この記事が、Mroongaのデバッグをしたい方の参考になれば幸いです。 MroongaはMySQLやMariaDBと組み合わせて利用できますが、今回はMariaDBを例に説明します。 (Mroongaに限らず、標準出力先がどこか分からずに困っている方にも役立つかもしれません。)

もっと読む

debやrpmの中身を一部書き換えてパッケージを再作成する方法

開発したソフトウェアを簡単に導入してもらえるようにするための工夫として、debやrpmといったパッケージを用意し、パッケージを含むリポジトリから インストールできるようにするということがよく行われています。

debやrpmといったパッケージを提供する側にとっては、提供したパッケージを問題なく更新できるように、(パッケージの一部だけ変更したものを用意するなどして)パッケージ更新時の挙動を検証したくなることがあります。

今回はそんなときのために、debおよびrpmの内容を一部書き換えてパッケージを再作成する方法について紹介します。

もっと読む

PGroongaのユニットテスト

ユニットテストについてお勉強中の阿部です。

今回はPGroongaのユニットテストについて説明します。 どのようなツールを使って、どのようなテストをしているのかと新たにテストを追加する方法を説明します。

Groonga開発者に聞け!(グルカイ!)第60回でも 解説しているので、あわせてご覧ください!

もっと読む

macOSでファイルをたくさん開きたい!

macOSでファイルをたくさん開きたい阿部です。

PGroongaのCIで system call error: Too many open files というエラーが発生しました。 開いているファイルが多すぎてエラーになったようです。

このエラーを回避してCIが成功するように対応したので、その内容を紹介します。 今回はmacOSのCIで生じたエラーなので、macOSでの回避方法の紹介です。

同じエラーに遭遇した方は参考にしてください!

もっと読む

回帰テストの対象は適切に設定しよう

先日、Bug 1541748 - New tab and restored tab notified via tabs.onCreated can have invalid (too large) index という報告をFirefoxのバグトラッキングシステムに行った結果、提出したパッチがFirefox 68に反映される事になりました。

もっと読む

Cutterで画像を使ったテストを書くには

はじめに

今回は弊社が中心となって開発しているCutterという、書きやすさ・デバッグのしやすさを重視したC言語・C++言語用のテスティングフレームワークを使って、画像を使ったテストを簡単に書く方法を紹介します。

もっと読む

test-unitならRSpec 3のComposable Matchers相当のことをどう書くか

RSpec 3の新機能であるComposable Matchersの使い方の例をtest-unitならどう書くか紹介します。リンク先のコードを示し、それのtest-unitバージョンを示す、という流れを繰り返します。

もっと読む

インターンシップで学んだこと4:何をテストするか

前回は3日目に3つ学んだことの中の2つめ「テストを整理する方法」についてまとめました。今回は3日目に学んだことの最後、3つめである「何をテストするか」についてまとめます。

もっと読む

インターンシップで学んだこと3:テストを整理する方法

インターン募集を開始したのが半年前の2月で、6月に開催されたRubyKaigi 2013までは1件も応募がありませんでした。RubyKaigi 2013に参加したところ1件応募があり、6月後半から7月にかけて実施しました。ここ最近まとめているインターンシップで学んだことはこの時期に実施したインターンシップで学んだことです。

もっと読む

インターンシップで学んだこと2:1人で開発しているときはていねいに開発を進める

インターンシップ1日目と2日目ではコメントに注目するとよいということを学びました。インターンシップ3日目のメモを読み返すと3日目は3つ学んだことがありました。今回はそのうちの1つ「1人で開発しているときにtypoとどうつきあっていくか」です。

もっと読む