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* 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 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__':