設定せずに使えるテストに加えて、product-testというものが存在します。Serverを立ち上げておいて、そのDBに対してクエリを発行し、テストするものです。Serverを立ち上げられる機能等を利用しています。コネクタ内のDBバージョンとproduct-testのバージョンをあえて分けることで複数バージョンに対する保証にもなっています。Cassandraはコネクタ内のテストで使用しているバージョンは2.xでproduct-test内のバージョンは3.xとなっています。それではMac上での最初の設定方法を書いていきます。シェル上で実行する方法もありますが、一番実行することの多そうなIntelliJ上でのテスト方法について書いていきます。MacとUbuntuとで多少異なる部分もありますが、基本的には同じ流れです。シェルでの実行方法や最新の情報を見たい場合はこちらをご覧ください。必要であれば全部起動させますが、1個だけでももちろん大丈夫です。Serverを使用する場合は事前にメモリを3.25GB以上をDockerに割り当てておく必要があります。起動する際も容量が空いてないと失敗します。起動したコンテナに対して以下のようにコマンドを実行すると、IPアドレスが返却されます。$()内のコマンドは前のステップで使用したものを参考にしてください。sqlserver”を追加し、上記で取得したアドレスを追記していきます。Configurations...“のあと以下のように入力します。IDEAのセットアップで作成したPrestoServerの設定をコピーすると楽です。入力が終わったらOKでダイアログを閉じます。presto-product-tests/conf/prestoここまで来たらIntelliJ上でステップ4で作成したConfigurationをRun/DebugするとPrestoServerと同じように起動時のメッセージがコンソールに流れて行くと思います。起動が完了したら、presto-product-tests内にあるテストを実行していけます。Environment半年ほど前から密かにPrestoにコントリビュートしているんですが、メモも兼ねて自分が送ったPRや開発のTipsについて書いていきたいと思います。開発言語はJavaなのと、直すべきところも多々あるので比較的コントリビュートしやすいOSSな気がします。次に開発環境ですが、Windowsはサポートされていません。頑張れば出来るかもしれませんが、スタイルチェッカーで文字コード等々が弾かれエラーになります。約2年以上経過していますが、0/12という進捗率です...。僕は基本Macで時々VM内のUbuntu上で開発しています。後々詳しく書きますが、Dockerを使うテストがあるので、その時はやはりUbuntu上で動かすことが多いです。IDEAとPrestoをローカルにクローン/ダウンロードしておきます。最新のRequirmentsはこちらをご覧ください。環境によっては数十分かかるかもしれないので気長に待ちましょう。Projectでリポジトリ直下のpom.xmlを選択します。そこから先は適当にNextを連打し、JDKの選択画面では1.8のパスを選択します。directoryを入力します。$MODULE_DIR$これでRunもしくはDebugするとPrestoのサーバー側が起動します。起動しているサーバーに接続するためには下記のパスにあるjarを実行することで接続できます。presto-cli/target/presto-cli-*-SNAPSHOT-executable.jarちなみに、サーバー側の設定ファイルはpresto-main/etc配下に存在します。master上の設定ファイルでは全部のコネクタが記載されていないので、もしcatalog内に記載されていないコネクタでデバッグしたい時などはconfig.propertiesを修正し、catalog配下にpropertiesファイルを追加する必要があります。テストですが、全部を回すとなると環境にもよりますが1時間以上はかかるかと思います。CIの無料プランで大体1時間ちょっと、Presto側では30分ちょっとで終わります。CI上で全テストを回すようにしています。presto-product-testsはそれなりの頻度で失敗するので、影響がなさそうな部分を直したのに失敗している時はログを見ないでその部分だけRestartをかけちゃってます。