3.0 以降に入ったコマンドやimprovement に対する対応が一切入っていない
皆それはわかっているが、patch が投稿されていないっぽいように見える
3.2 がそろそろ出るタイミングなので、いつまでもビルド環境が 2.8 なのもどうかと思う。
よって、redis-py で 3.0 以降に対応された機能の対応状況やビルド環境について調べ、patch をどう送るかを考える
GEO 関係のものがある。けど取り込まれていない。まぁそうか。
redis/redis-py#695
あんまし皆考えずに投稿しているっぽい。そんなもんだよねー。
2.8.9 以降でしかテストされていないように見えるので、実際やってみた上で、あげてみればいいじゃない、と思う
2015/12/27 現在取り込まれている機能には、3.0 以降のものは存在しない
mumumu@mumumu-W330SU2 05:10:41 ~/redis-py [travis_customize_test] $ ag skip_if
tests/conftest.py
34:def skip_if_server_version_lt(min_version):
tests/test_commands.py
13:from .conftest import skip_if_server_version_lt
62: @skip_if_server_version_lt('2.6.9')
66: @skip_if_server_version_lt('2.6.9')
156: @skip_if_server_version_lt('2.6.0')
170: @skip_if_server_version_lt('2.6.0')
189: @skip_if_server_version_lt('2.6.0')
195: @skip_if_server_version_lt('2.6.0')
203: @skip_if_server_version_lt('2.6.0')
211: @skip_if_server_version_lt('2.6.0')
222: @skip_if_server_version_lt('2.6.0')
233: @skip_if_server_version_lt('2.8.7')
246: @skip_if_server_version_lt('2.8.7')
280: @skip_if_server_version_lt('2.6.0')
388: @skip_if_server_version_lt('2.6.0')
441: @skip_if_server_version_lt('2.6.0')
450: @skip_if_server_version_lt('2.6.0')
457: @skip_if_server_version_lt('2.6.0')
462: @skip_if_server_version_lt('2.6.0')
470: @skip_if_server_version_lt('2.6.0')
476: @skip_if_server_version_lt('2.6.0')
502: @skip_if_server_version_lt('2.6.0')
508: @skip_if_server_version_lt('2.6.0')
516: @skip_if_server_version_lt('2.6.0')
523: @skip_if_server_version_lt('2.6.0')
530: @skip_if_server_version_lt('2.6.0')
535: @skip_if_server_version_lt('2.6.0')
541: @skip_if_server_version_lt('2.6.0')
716: @skip_if_server_version_lt('2.8.0')
727: @skip_if_server_version_lt('2.8.0')
737: @skip_if_server_version_lt('2.8.0')
746: @skip_if_server_version_lt('2.8.0')
754: @skip_if_server_version_lt('2.8.0')
763: @skip_if_server_version_lt('2.8.0')
771: @skip_if_server_version_lt('2.8.0')
780: @skip_if_server_version_lt('2.8.0')
856: @skip_if_server_version_lt('2.6.0')
903: @skip_if_server_version_lt('2.8.9')
956: @skip_if_server_version_lt('2.8.9')
966: @skip_if_server_version_lt('2.9.9')
1012: @skip_if_server_version_lt('2.8.9')
1112: @skip_if_server_version_lt('2.8.9')
1119: @skip_if_server_version_lt('2.8.9')
1129: @skip_if_server_version_lt('2.8.9')
1182: @skip_if_server_version_lt('2.6.0')
1367: @skip_if_server_version_lt('2.6.0')
tests/test_connection_pool.py
10:from .conftest import skip_if_server_version_lt
381: @skip_if_server_version_lt('2.8.8')
393: @skip_if_server_version_lt('2.8.8')
408: @skip_if_server_version_lt('2.8.8')
423: @skip_if_server_version_lt('2.8.8')
vagrant の redis_vars.sh のバージョンを任意のバージョンにして vagrant up すれば、それ向けの環境が作れる。
https://github.com/andymccurdy/redis-py/blob/master/vagrant/redis_vars.sh#L6
現状のtravis の Redis の環境は 2.8.19 だった。
https://dl.dropboxusercontent.com/u/15537366/travis_current_redis_version.png
3.0対応にするには、travisのビルド環境を3.0以降にする必要がある。そうしないと Github に PR を作成しても 3.0 以降のテストが走らない。
ビルド環境が完全にアップデートされるまでは、3.0 に一時的に設定するアドオンがあった。これを使えば 3.0.6 でテスト可能
travis で 3.0.6 にしてテストを完全に通すことができた。
https://travis-ci.org/mumumu-test/redis-py/builds/98899930
また、Python 2.7 に限るが、vagrant でもテストを通すことができた。
patches are welcome って作者が言ってるんだから、送ってみればいいじゃない。
以下のpatchはすぐにでも送れるので、やってみればいいんじゃないかな。
- 3.0 へのテスト環境のアップデート
- restore コマンドの replace オプション追加
- https://github.com/andymccurdy/redis-py/blob/master/redis/client.py#L1034
- http://redis.io/commands/restore
2つPRを送ったったわ(`ー´)
Mergeされるかはしらんけど。
redis/redis-py#697
redis/redis-py#698