danielgtaylor / danielgtaylor/python-betterproto
Regenerating the proto files make the tests fail
- 主要言語
- Python
- スター
- 1.8k
- フォーク
- 234
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
### Summary
Regenerating the proto files make the tests fail
### Reproduction Steps
Re-generate the files used in the compiler, as documented in the `README`:
```
protoc \
--plugin=protoc-gen-custom=src/betterproto/plugin/main.py \
--custom_opt=INCLUDE_GOOGLE \
--custom_out=src/betterproto/lib/std \
-I /usr/include/ \
/usr/include/google/protobuf/*.proto
```
Then, run `poe generate` and `poe test`
### Expected Results
The tests should pass.
### Actual Results
The `test_struct` test actually fails.
My guess is that the output files of the compiler have been manually edited to change the `to_dict` and `from_dict` methods of `Struct` (see https://github.com/danielgtaylor/python-betterproto/blame/master/src/betterproto/lib/std/google/protobuf/__init__.py#L2225 )
### System Information
libprotoc 3.12.4
Python 3.12.6
Name: betterproto
Version: 2.0.0b7
Summary: A better Protobuf / gRPC generator & library
Home-page: https://github.com/danielgtaylor/python-betterproto
Author: Daniel G. Taylor
Author-email: danielgtaylor@gmail.com
License: MIT
Location: /[...]/.venv/lib/python3.12/site-packages
Editable project location: [...]
Requires: grpclib, python-dateutil, typing-extensions
Required-by:
### Checklist
- [X] I have searched the issues for duplicates.
- [X] I have shown the entire traceback, if possible.
- [X] I have verified this issue occurs on the latest prelease of betterproto which can be installed using `pip install -U --pre betterproto`, if possible.
コントリビューションガイド
調査の方向性
README の再生成コマンドから始め、`poe generate` と `poe test` を実行して `test_struct` の失敗を再現します。`src/betterproto/lib/std/google/protobuf/__init__.py` を調べ、特に生成された `Struct` の `to_dict` メソッドと `from_dict` メソッドを確認します。再生成されたファイルが期待される動作を維持し、テストスイートがパスすれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- build-system, compilers, testing
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100