Skip to content

Commit 030ec2d

Browse files
vkreschjdsika
authored andcommitted
Add proto3 syntax check (#352)
1 parent 84cfaf2 commit 030ec2d

2 files changed

Lines changed: 113 additions & 41 deletions

File tree

.travis.yml

Lines changed: 108 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -61,46 +61,113 @@ addons:
6161
- doxygen-gui
6262
- graphviz
6363

64-
# Change directory back to default build directory.
65-
before_script:
66-
- cd "${TRAVIS_BUILD_DIR}"
6764

68-
# Run the build script and generate documentation.
69-
script:
70-
- mkdir -p build
71-
- cd build
72-
- cmake -D CMAKE_PREFIX_PATH:PATH=${DEPS_DIR}/protobuf/install -D CMAKE_INSTALL_PREFIX:PATH=${TESTINST_DIR} ..
73-
- cmake --build .
74-
- cd ..
75-
- python setup.py build
76-
- python setup.py sdist
77-
- cd build
78-
- cmake --build . --target install
79-
- cd ..
80-
- cp VERSION VERSION.SAVED
81-
- echo "" >> VERSION
82-
- echo "VERSION_PATCH = \"GitHub_MasterBranch\"" >> VERSION
83-
- cd build
84-
- cmake -D FILTER_PROTO2CPP_PY_PATH=${DEPS_DIR}/proto2cpp ..
85-
- echo "EXCLUDE_PATTERNS = */osi3/*" >> Doxyfile
86-
- echo "GENERATE_TREEVIEW = YES" >> Doxyfile
87-
- doxygen
88-
- cd ..
89-
- python -m unittest discover tests
90-
- mv VERSION.SAVED VERSION
91-
- sh convert-to-proto3.sh
92-
- mkdir -p build3
93-
- cd build3
94-
- cmake -D CMAKE_PREFIX_PATH:PATH=${DEPS_DIR}/protobuf/install ..
95-
- cmake --build .
96-
- cd ..
65+
jobs:
66+
include:
67+
# Run the build script and generate documentation.
68+
- stage: test OSI protobuf
9769

98-
# Deploy the documentation on github (only for master branch).
99-
deploy:
100-
provider: pages
101-
skip_cleanup: true
102-
local_dir: doc/html
103-
keep-history: true
104-
github_token: ${GH_REPO_TOKEN}
105-
on:
106-
branch: master
70+
name: 'Test protobuf 2.6.1 syntax'
71+
script:
72+
- cd "${TRAVIS_BUILD_DIR}"
73+
- mkdir -p build
74+
- cd build
75+
- cmake -D CMAKE_PREFIX_PATH:PATH=${DEPS_DIR}/protobuf/install -D CMAKE_INSTALL_PREFIX:PATH=${TESTINST_DIR} ..
76+
- cmake --build .
77+
- cd ..
78+
- python setup.py build
79+
- python setup.py sdist
80+
- cd build
81+
- cmake --build . --target install
82+
- cd ..
83+
- cp VERSION VERSION.SAVED
84+
- echo "" >> VERSION
85+
- echo "VERSION_PATCH = \"GitHub_MasterBranch\"" >> VERSION
86+
- cd build
87+
- cmake -D FILTER_PROTO2CPP_PY_PATH=${DEPS_DIR}/proto2cpp ..
88+
- echo "EXCLUDE_PATTERNS = */osi3/*" >> Doxyfile
89+
- echo "GENERATE_TREEVIEW = YES" >> Doxyfile
90+
- doxygen
91+
- cd ..
92+
- python -m unittest discover tests
93+
- mv VERSION.SAVED VERSION
94+
- sh convert-to-proto3.sh
95+
- mkdir -p build3
96+
- cd build3
97+
- cmake -D CMAKE_PREFIX_PATH:PATH=${DEPS_DIR}/protobuf/install ..
98+
- cmake --build .
99+
- cd ..
100+
101+
- script:
102+
- cd "${TRAVIS_BUILD_DIR}"
103+
- bash convert-to-proto3.sh
104+
- rm *.pb2
105+
- mkdir -p build
106+
- cd build
107+
- cmake -D CMAKE_PREFIX_PATH:PATH=${DEPS_DIR}/protobuf/install -D CMAKE_INSTALL_PREFIX:PATH=${TESTINST_DIR} ..
108+
- cmake --build .
109+
- cd ..
110+
- python setup.py build
111+
- python setup.py sdist
112+
- cd build
113+
- cmake --build . --target install
114+
- cd ..
115+
- cp VERSION VERSION.SAVED
116+
- echo "" >> VERSION
117+
- echo "VERSION_PATCH = \"GitHub_MasterBranch\"" >> VERSION
118+
- cd build
119+
- cmake -D FILTER_PROTO2CPP_PY_PATH=${DEPS_DIR}/proto2cpp ..
120+
- echo "EXCLUDE_PATTERNS = */osi3/*" >> Doxyfile
121+
- echo "GENERATE_TREEVIEW = YES" >> Doxyfile
122+
- doxygen
123+
- cd ..
124+
- python -m unittest discover tests
125+
- mv VERSION.SAVED VERSION
126+
- sh convert-to-proto3.sh
127+
- mkdir -p build3
128+
- cd build3
129+
- cmake -D CMAKE_PREFIX_PATH:PATH=${DEPS_DIR}/protobuf/install ..
130+
- cmake --build .
131+
- cd ..
132+
name: 'Test protobuf 3.0.0 syntax'
133+
134+
- stage: deploy
135+
script:
136+
- cd "${TRAVIS_BUILD_DIR}"
137+
- mkdir -p build
138+
- cd build
139+
- cmake -D CMAKE_PREFIX_PATH:PATH=${DEPS_DIR}/protobuf/install -D CMAKE_INSTALL_PREFIX:PATH=${TESTINST_DIR} ..
140+
- cmake --build .
141+
- cd ..
142+
- python setup.py build
143+
- python setup.py sdist
144+
- cd build
145+
- cmake --build . --target install
146+
- cd ..
147+
- cp VERSION VERSION.SAVED
148+
- echo "" >> VERSION
149+
- echo "VERSION_PATCH = \"GitHub_MasterBranch\"" >> VERSION
150+
- cd build
151+
- cmake -D FILTER_PROTO2CPP_PY_PATH=${DEPS_DIR}/proto2cpp ..
152+
- echo "EXCLUDE_PATTERNS = */osi3/*" >> Doxyfile
153+
- echo "GENERATE_TREEVIEW = YES" >> Doxyfile
154+
- doxygen
155+
- cd ..
156+
- python -m unittest discover tests
157+
- mv VERSION.SAVED VERSION
158+
- sh convert-to-proto3.sh
159+
- mkdir -p build3
160+
- cd build3
161+
- cmake -D CMAKE_PREFIX_PATH:PATH=${DEPS_DIR}/protobuf/install ..
162+
- cmake --build .
163+
- cd ..
164+
165+
# Deploy the documentation on github (only for master branch).
166+
deploy:
167+
provider: pages
168+
skip_cleanup: true
169+
local_dir: doc/html
170+
keep-history: true
171+
github_token: ${GH_REPO_TOKEN}
172+
on:
173+
branch: master

tests/test_invalid_message.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,11 @@ def test_field_multiplicity(self):
296296
saveStatement = ""
297297

298298
for line in fin:
299+
300+
# Skipping test on multiplicity for protobuf 3.0.0
301+
if '"proto3"' in line:
302+
break
303+
299304
i += 1
300305

301306
# Divide statement and comment. Concatenate multi line statements.

0 commit comments

Comments
 (0)