Mroongaのテストから学ぶ、メンテナンスしやすいテストを書く工夫 by 堀本 泰弘

YAPC::Fukuoka 2025
トーク(40分)
当日の配信可(OK) アーカイブ配信可(OK)

Mroongaのテストから学ぶ、メンテナンスしやすいテストを書く工夫

堀本 泰弘
3

MySQL,MariaDBで高速な全文検索を可能にするストレージエンジンにMroonga(むるんが)があります。
MroongaはMySQL, MariaDBのLTSのみサポートしていますが、それでも現時点で以下の6つのバージョンをサポートする必要があります。

  • MySQL 8.0
  • MySQL 8.4
  • MariaDB 10.6
  • MariaDB 10.11
  • MariaDB 11.4
  • MariaDB 11.8

バージョンによって、同じテストが使える場合もありますが、互換性のない変更が入った場合はバージョンによって動かないテストが出てきてしまいます。
その都度、別ファイルを作成していてはテストファイルが膨大になってしまいメンテンナンスできなくなってしまいますが
Mroongaでは、一つのテストファイルで複数のバージョンのテストを実行できるようにしてメンテンナンス不能になるのを防いでいます。

このトークでは、(Perlで作られている)MySQL Test Frameworkを使って、一つのテストで複数バージョンのMySQL、MariaDBをテストする方法を実例を交えて解説します。

Mroongaのテストで得たノウハウから、一般的なテストでも役立つメンテナンスしやすいテストを書く工夫を解説する予定なので、テストでお困りの皆さんはご期待ください!