@@ -12,9 +12,6 @@ PY_VER_UNIT_TESTS="${PY_VER_UNIT_TESTS_3:=3.8.11} ${PY_VER_UNIT_TESTS_2:=2.7.18}
1212PROTOC_ARGS=" --proto_path=proto/ --experimental_allow_proto3_optional"
1313GRPC_PROTOS=$( find proto/testproto/grpc -name " *.proto" )
1414
15- # Clean out generated/ directory - except for .generated / __init__.py
16- find test/generated -type f -not \( -name " *.expected" -or -name " __init__.py" \) -delete
17-
1815if [ -e $CUSTOM_TYPESHED_DIR ]; then
1916 export MYPYPATH=$CUSTOM_TYPESHED_DIR /stubs/protobuf
2017fi
@@ -91,6 +88,11 @@ MYPY_PROTOBUF_VENV=venv_$PY_VER_MYPY_PROTOBUF
9188 exit 1
9289 fi
9390
91+ # CI Check to make sure generated files are committed
92+ SHA_BEFORE=$( find test/generated -name " *.pyi" | xargs sha1sum)
93+ # Clean out generated/ directory - except for __init__.py
94+ find test/generated -type f -not -name " __init__.py" -delete
95+
9496 # Compile protoc -> python
9597 $PROTOC $PROTOC_ARGS --python_out=test/generated ` find proto -name " *.proto" `
9698
@@ -108,6 +110,11 @@ MYPY_PROTOBUF_VENV=venv_$PY_VER_MYPY_PROTOBUF
108110
109111 # Generate grpc protos
110112 $PROTOC $PROTOC_ARGS --mypy_grpc_out=test/generated $GRPC_PROTOS
113+
114+ if [[ -n $VALIDATE ]] && ! diff <( echo " $SHA_BEFORE " ) <( find test/generated -name " *.pyi" | xargs sha1sum) ; then
115+ echo -e " ${RED} Some .pyi files did not match. Please commit those files${NC} "
116+ exit 1
117+ fi
111118)
112119
113120for PY_VER in $PY_VER_UNIT_TESTS ; do
@@ -171,7 +178,7 @@ for PY_VER in $PY_VER_UNIT_TESTS; do
171178 )
172179
173180 (
174- # Run unit tests. These tests generate .expected files
181+ # Run unit tests.
175182 source $UNIT_TESTS_VENV /bin/activate
176183 if [[ $PY_VER =~ ^2.* ]]; then IGNORE=" --ignore=test/test_grpc_usage.py" ; else IGNORE=" " ; fi
177184 PYTHONPATH=test/generated py.test --ignore=test/generated $IGNORE -v
0 commit comments