Skip to content

Conversation

sevenc-nanashi
Copy link
Member

@sevenc-nanashi sevenc-nanashi commented May 7, 2023

内容

Python APIのテストを追加しました。
C APIのe2eテストを移植した感じになっています。

関連 Issue

その他

(なし)

@sevenc-nanashi sevenc-nanashi marked this pull request as draft May 7, 2023 02:58
@sevenc-nanashi sevenc-nanashi marked this pull request as ready for review May 7, 2023 06:45
@sevenc-nanashi
Copy link
Member Author

やっとテスト通りました、Draft外します

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

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

すみません、大作を頂いた後に申し訳ないのですが、現状だと同じテストを別言語で2回書かれている形になるので、メンテナンスが二度手間になってしまっていそうに思いました。
入力内容と出力結果を共通化すれば、Python側のメンテナンスをかなり楽にできそう・・・?

C APIのe2eテストはこちらにあります。これを真似ても(というか真似たほうが)良いかも?
https://github.com/VOICEVOX/voicevox_core/tree/ff7b5a88865d684132f5995ff456273f7cf18f52/crates/voicevox_core_c_api/tests/e2e/testcases
(先に言えてなくて申し訳ないです・・・。)

Python側のテストが落ちたらもうコメントアウトしちゃうくらいの気持ちであればメンテナンス負荷は据え置きなのですが、それはテストとして意味があるのかという・・・・。
楽にしておきたいな~、でもテストあると良いよな~、という微妙なところです!

ちょっとどうすべきか他の方の意見もほしいかもです。

@sevenc-nanashi
Copy link
Member Author

おっと、見逃してました。

C APIのe2eテストはこちらにあります。これを真似ても(というか真似たほうが)良いかも?

ですね、それで良さそうです。変えてみます。

@qryxip
Copy link
Member

qryxip commented May 15, 2023

@sevenc-nanashi vvm-async-apiでいくつか足そうと考えています。
https://github.com/qwerty2501/voicevox_core/tree/feature/new_class_design/crates/voicevox_core_c_api/tests/e2e/testcases
C APIのテストですが、プロセスを分離して実行する必要があるため"test harness"抜きのまわりくどい書き方をしており、#[rstest::fixture]とかが使えてません。Python APIでは普通に書けばいいと思います。

@sevenc-nanashi
Copy link
Member Author

とりあえず現在のC APIテスト準拠にしてみました。
vvm-async-apiはvvm-async-apiでPythonテスト追加のプルリクを出そうと思ってます。vvmやスナップショットなどいくつか大変なところがありそうなので。

@Hiroshiba
Copy link
Member

pythonのテストが落ちてそうでした!
(なぜ…?)

@sevenc-nanashi
Copy link
Member Author

sevenc-nanashi commented Jun 22, 2023

cwdのズレコピーできてなかったっぽいです。
修正しました。

Co-authored-by: Ryo Yamashita <qryxip@gmail.com>
@sevenc-nanashi
Copy link
Member Author

レビューを反映しました(報告遅れました)

@qryxip
Copy link
Member

qryxip commented Jul 1, 2023

今気付いてしまったのですが、project-vvm-async-apiではpredict_/decodeは公開APIにしない方針になっているのでこのままだとtest_engineはproject-vvm-async-apiに持って来れませんね...

@sevenc-nanashi
Copy link
Member Author

レビューを反映しました。

black、isortのチェックをするActionをどこかに足しても良いかも?

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

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

LGTM!!

@qryxip さんもレビューありがとうございます、心強いです!!

Copy link
Member

@qryxip qryxip left a comment

Choose a reason for hiding this comment

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

LGTM。

#484 (comment)については、test_engine.pyは抹消してtest_ttsとかにすればいい感じでしょうか?

@sevenc-nanashi
Copy link
Member Author

そんな感じで大丈夫だと思います。

@Hiroshiba
Copy link
Member

compatible_engineは残るからpredict_系も残るはず・・・?

マージします!

@Hiroshiba Hiroshiba merged commit 82d781c into VOICEVOX:main Jul 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Python APIのテストを作る
3 participants