diff options
author | Josh Haberman <jhaberman@gmail.com> | 2015-12-03 12:54:54 -0800 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2015-12-03 12:54:54 -0800 |
commit | 4b31ffa48856fb1f8293fd4682e603406a6d8e5f (patch) | |
tree | 335fb9fb2db2f99d6eb33441ff4e5bb070efd1dd | |
parent | a3faf080e355d2d89cb7a93a92f76ea5462c2ad0 (diff) | |
download | protobuf-4b31ffa48856fb1f8293fd4682e603406a6d8e5f.tar.gz protobuf-4b31ffa48856fb1f8293fd4682e603406a6d8e5f.tar.bz2 protobuf-4b31ffa48856fb1f8293fd4682e603406a6d8e5f.zip |
Added Python failure lists, and fixes to make sure failure propagates.
-rw-r--r-- | conformance/conformance_test_runner.cc | 6 | ||||
-rw-r--r-- | conformance/failure_list_python.txt | 0 | ||||
-rw-r--r-- | conformance/failure_list_python_cpp.txt | 25 | ||||
-rwxr-xr-x | python/setup.py | 3 |
4 files changed, 33 insertions, 1 deletions
diff --git a/conformance/conformance_test_runner.cc b/conformance/conformance_test_runner.cc index 780e1c44..c3b3db22 100644 --- a/conformance/conformance_test_runner.cc +++ b/conformance/conformance_test_runner.cc @@ -202,6 +202,12 @@ void UsageError() { void ParseFailureList(const char *filename, vector<string>* failure_list) { std::ifstream infile(filename); + + if (!infile.is_open()) { + fprintf(stderr, "Couldn't open failure list file: %s\n", filename); + exit(1); + } + for (string line; getline(infile, line);) { // Remove whitespace. line.erase(std::remove_if(line.begin(), line.end(), ::isspace), diff --git a/conformance/failure_list_python.txt b/conformance/failure_list_python.txt new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/conformance/failure_list_python.txt diff --git a/conformance/failure_list_python_cpp.txt b/conformance/failure_list_python_cpp.txt new file mode 100644 index 00000000..4b16a88b --- /dev/null +++ b/conformance/failure_list_python_cpp.txt @@ -0,0 +1,25 @@ +# This is the list of conformance tests that are known to fail for the +# Python/C++ implementation right now. These should be fixed. +# +# By listing them here we can keep tabs on which ones are failing and be sure +# that we don't introduce regressions in other tests. +# +# TODO(haberman): insert links to corresponding bugs tracking the issue. +# Should we use GitHub issues or the Google-internal bug tracker? + +ProtobufInput.PrematureEofInDelimitedDataForKnownNonRepeatedValue.MESSAGE +ProtobufInput.PrematureEofInDelimitedDataForKnownRepeatedValue.MESSAGE +ProtobufInput.PrematureEofInPackedField.BOOL +ProtobufInput.PrematureEofInPackedField.DOUBLE +ProtobufInput.PrematureEofInPackedField.ENUM +ProtobufInput.PrematureEofInPackedField.FIXED32 +ProtobufInput.PrematureEofInPackedField.FIXED64 +ProtobufInput.PrematureEofInPackedField.FLOAT +ProtobufInput.PrematureEofInPackedField.INT32 +ProtobufInput.PrematureEofInPackedField.INT64 +ProtobufInput.PrematureEofInPackedField.SFIXED32 +ProtobufInput.PrematureEofInPackedField.SFIXED64 +ProtobufInput.PrematureEofInPackedField.SINT32 +ProtobufInput.PrematureEofInPackedField.SINT64 +ProtobufInput.PrematureEofInPackedField.UINT32 +ProtobufInput.PrematureEofInPackedField.UINT64 diff --git a/python/setup.py b/python/setup.py index 05c16fc3..18865e03 100755 --- a/python/setup.py +++ b/python/setup.py @@ -147,7 +147,8 @@ class build_py(_build_py): class test_conformance(_build_py): target = 'test_python' def run(self): - os.system('cd ../conformance && make %s' % (test_conformance.target)) + cmd = 'cd ../conformance && make %s' % (test_conformance.target) + status = subprocess.check_call(cmd, shell=True) if __name__ == '__main__': |