danielgtaylor / danielgtaylor/python-betterproto

Regenerating the proto files make the tests fail

オープン
#640 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug investigation needed
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。