-
Notifications
You must be signed in to change notification settings - Fork 120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C APIのテストにvoicevox_core.hを使う #774
C APIのテストにvoicevox_core.hを使う #774
Conversation
for result_code in [ | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_OK, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_NOT_LOADED_OPENJTALK_DICT_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_GET_SUPPORTED_DEVICES_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_GPU_SUPPORT_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_STYLE_NOT_FOUND_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_MODEL_NOT_FOUND_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_INFERENCE_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_EXTRACT_FULL_CONTEXT_LABEL_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_INVALID_UTF8_INPUT_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_PARSE_KANA_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_INVALID_AUDIO_QUERY_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_INVALID_ACCENT_PHRASE_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_OPEN_ZIP_FILE_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_READ_ZIP_ENTRY_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_MODEL_ALREADY_LOADED_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_STYLE_ALREADY_LOADED_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_INVALID_MODEL_DATA_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_LOAD_USER_DICT_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_SAVE_USER_DICT_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_USER_DICT_WORD_NOT_FOUND_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_USE_USER_DICT_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_INVALID_USER_DICT_WORD_ERROR, | ||
c_api::VoicevoxResultCode_VOICEVOX_RESULT_INVALID_UUID_ERROR, | ||
] { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ResultCode
一覧をC API実装側から引っ張って来れていないのは前から。
今後エラーを追加するときにこっちの更新を忘れるかもしれませんが、網羅すべきなテストでもないのでいっそのことOK
とERROR
一つに限定してもいいかもしれません。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
いやbindgen側にstrumを差し込めるかも...?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
いやbindgen側にstrumを差し込めるかも...?
あーこれ、rustified_enum
にする時点で厳しい… #[derive(strum::EnumIter)]
を差し込むだけならbindgenの生成結果の上からsynで加工しようと思ってたのですが、rustified_enum
の面倒を見るのは手間がかかりすぎる… (できなくはないけど、メンテするコード量的に)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
よくわかってないですが、なんとかできそうだけどコピペのが手っ取り早そうな雰囲気を感じました!
なんか嫌な感じの落ち方してる… |
よく見たら単にbindgen単体がコケているっぽい。ちゃんと調べずに使ったのが悪かったのかもしれない。 |
いやそんなことないな。確かに落ちているのはbindgenだけど、何もしてないのに落ちるようになった。 …ということで試しに依存グラフ上のclang-sys (bindgenが依存)を1.4.0から1.6.0に引き上げてみたらなんか通るようになりました。 bindgenのChangelog 考えられる可能性としては、GHAのイメージ更新があってそれとclang-sys v1.4.0の挙動が悪い方向に噛み合ってしまった感じ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTMです。(symbols.rsの更新要らなくなったの嬉し過ぎる)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!
よくわかってないですが、コード量が減ったことはよくわかりました!!
内容
#488 で言った次のことをします。
bindgenの生成物はcrates/test_utilの
$OUT_DIR
下に作るようにしました。compatible_engineに関しては、COREの0.13を参考にcompatible_engine.hを書きました。関連 Issue
その他