Skip to content
This repository was archived by the owner on Nov 7, 2024. It is now read-only.

add Python3.9 and Django 2.2 support, drop Python2.7 and Django 1.11support #13

Merged
merged 35 commits into from
Mar 11, 2022
Merged
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
1c7ce2f
Python3.9対応の記述を追加
imaxyz Mar 4, 2022
d1fd47f
READMEにPython3.9を追加
imaxyz Mar 4, 2022
62b696c
Travis CIの設定を削除。Github Actionsの設定を追加。
imaxyz Mar 8, 2022
804876d
toxを使わない場合の動作確認
imaxyz Mar 8, 2022
fb40940
toxを使わない場合のgithub actions動作確認
imaxyz Mar 8, 2022
3838514
wip: github actions動作確認
imaxyz Mar 8, 2022
9897f35
wip: github actions動作確認
imaxyz Mar 8, 2022
6ce6c6b
wip: github actions動作確認
imaxyz Mar 8, 2022
f66940e
wip: toxで実行するように戻す
imaxyz Mar 8, 2022
8fcfc5f
bpmailerのユニットテストのpathの記述を修正。コメントを追加。
imaxyz Mar 9, 2022
1b33848
Readmeに記載されているパッケージをrequirements.txtに記述。各種設定ファイルにコメントを追記。
imaxyz Mar 9, 2022
ebc3d14
コメント文を日本語に変更
imaxyz Mar 9, 2022
3ea2674
コメントを修正
imaxyz Mar 10, 2022
96079fb
Github Actionsの python-version にREADMEで対応の表記がある、2.7を追加
imaxyz Mar 10, 2022
e699981
tox-gh-actionsのtox.ini設定に2.7を追加
imaxyz Mar 10, 2022
f537538
2.7でエラーになったのでコメントを一旦英語に変更
imaxyz Mar 10, 2022
7888314
python 2.7サポートを外しました
imaxyz Mar 10, 2022
a1ce88e
python 2.7サポートを外しました
imaxyz Mar 10, 2022
aa6ebde
Travis CIのビルド結果アイコンを、Github Actionsのワークフロー結果のアイコンに変更
imaxyz Mar 10, 2022
733479d
github actionsのワークフローに、これから実行するtoxの動きを確認するコマンドを追加
imaxyz Mar 10, 2022
e40af11
何のためにあるrequirements.txtファイルなのかを説明するコメントを記述しました。
imaxyz Mar 10, 2022
6979781
Githu Actionsのジョブを並列実行するように修正
imaxyz Mar 11, 2022
ed5c025
READMEにおけるgithub actionsのリンクを修正
imaxyz Mar 11, 2022
76d2427
READMEにおけるgithub actionsのリンクを修正
imaxyz Mar 11, 2022
fecf1ae
READMEにおけるgithub actionsのリンクを修正
imaxyz Mar 11, 2022
76b6b17
リンク表現の向上のためREADMEの書式をmarkdownからreStructuredTextに変更
imaxyz Mar 11, 2022
fbe6534
Django 1.11を非対応にする
imaxyz Mar 11, 2022
46d2807
Django 1.11のサポートをドロップする旨を反映
imaxyz Mar 11, 2022
848e7f6
不要と思われるジョブの制御を削除
imaxyz Mar 11, 2022
22a2dd6
ファイル名に意図を込めました
imaxyz Mar 11, 2022
411ef07
classifiersの記述を最新の内容に変更
imaxyz Mar 11, 2022
a1a425a
パッケージを使用する際に要求するPythonバージョンを指定
imaxyz Mar 11, 2022
6b9b31c
`tox -l` はmasterにマージするワークフローには入れないようにする
imaxyz Mar 11, 2022
ba0fbfe
tox.iniの書き方を推敲
imaxyz Mar 11, 2022
2063bf7
依存パッケージの記述を追記。
imaxyz Mar 11, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
bpmailerのユニットテストのpathの記述を修正。コメントを追加。
  • Loading branch information
imaxyz committed Mar 9, 2022
commit 8fcfc5f4b95efce6bf1699803c66a893a46ea376
12 changes: 8 additions & 4 deletions tests.py
Original file line number Diff line number Diff line change
@@ -56,11 +56,15 @@ def main():
django.setup()

from django.test.utils import get_runner
test_runner = get_runner(global_settings)

test_runner = test_runner()
tests = ['beproud.django.mailer']
failures = test_runner.run_tests(tests)
# Get a Django test runner class
TestRunner = get_runner(global_settings)

# Create a test runner object
test_runner = TestRunner()

# set 'bpmailer unit test path' and run the unit test
failures = test_runner.run_tests(['beproud.django.mailer.tests'])
Copy link
Contributor Author

@imaxyz imaxyz Mar 9, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Djangoのバージョンが変わったためか?) toxが通らなくなっていたので、Djangoのrun_tests()メソッドのドキュメントを参考に、テストモジュールへのPathを修正しました。

Test labels should be dotted Python paths to test modules, test classes, or test methods.

https://github.com/django/django/blob/e541f2d05b88e58c18b82b622aacc38d670eb5f6/django/test/runner.py#L618

Copy link
Collaborator

@kashewnuts kashewnuts Mar 10, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

原因はsetuptoolsの更新のためのようです。 変更自体はまずはこれでよさそう。

このPRで対応するかは任せますが、 python setup.py test コマンド自体が非推奨になっているのでpytestに置き換えた方がよさそうです。 https://setuptools.pypa.io/en/latest/userguide/commands.html?highlight=test_suite#test-build-package-and-run-a-unittest-suite

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MUST: レビューのために、この修正の妥当性の説明が欲しいです。

(Djangoのバージョンが変わったためか?)

確信はないけどこうしたら動いた、ということでしょうか。

Copy link
Contributor Author

@imaxyz imaxyz Mar 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

現在 bpmailerのtoxがfailする原因について

@kashewnuts

  • 頂いたコメントに関して、py36, py39共に、bpmailerのtox.iniの testenv - deps の項目に、次の行を追加することでtoxから実行する単体テストがpassすることを確認しました。
setuptools<=51.1.2

この改修がsetuptoolsの51.1.2の次のバージョンである51.2.0でマージされたことも確認しました

このことから、今回の作業でbpmailerのtoxがfailしている原因は、setuptoolsが、bpmailerをpy36対応した時の作業の時と比べてバージョンアップしていて、動作が変わっていたことが原因と思いました。

python setup.py test コマンドが非推奨の件

@kashewnuts

#14 でissueにしました。別PRで対応できればと思います。

今回の改修方法の妥当性について

@shimizukawa

(Djangoのバージョンが変わったためか?)

最初上記のようにコメントしたのですが、上述のsetuptoolsの調査結果から、Djnagoのバージョンは関係なさそうです。

setuptoolsの改修で使われているメソッドの差分について調べられたらベストなのですが、まだ調べられていません。

改修方法の妥当性について、確信は無いのですが、bpmailerが使用するバージョンのDjnagoのrun_tests()のコメント

Test labels should be dotted Python paths to test modules, test classes, or test methods.
意訳: ラベルは「テストモジュールか、テストクラスか、テストメソッド」にすべき

と書かれているのに対して、テストモジュールの上位のパッケージ名(mailer)を指定していることから、Djangoが想定するパラメータ仕様に近づける意味で、適切ではと考えました。

# before
test_runner.run_tests(['beproud.django.mailer'])

# after
test_runner.run_tests(['beproud.django.mailer.tests'])

あと、tox.iniのdeps項目に、setuptoolsのバージョンを指定すべきか?を考えました。

現在の改修方法だと、setuptoolsのバージョンが51.2.0未満でも51.2.0以上でもtoxがpassしました。
なので、tox.iniにsetuptoolsのバージョン指定を記述する必要ないと考えました。

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OKです。別PRでtest.pyを削除するのであれば、問題ないです。


sys.exit(failures)