Index: mojo/python/system/mojo/tests/validation_util.pyx |
diff --git a/mojo/python/system/mojo/tests/validation_util.pyx b/mojo/python/system/mojo/tests/validation_util.pyx |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e7bdbcdd5546650f42d931e0b79f54e1c0631ee6 |
--- /dev/null |
+++ b/mojo/python/system/mojo/tests/validation_util.pyx |
@@ -0,0 +1,35 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+# distutils: language = c++ |
+ |
+from libc.stdint cimport uint8_t |
+from libcpp cimport bool |
+from libcpp.string cimport string |
+from libcpp.vector cimport vector |
+ |
+cdef extern from "third_party/cython/python_export.h": |
+ pass |
+ |
+cdef extern from "mojo/public/cpp/bindings/tests/validation_test_input_parser.h": |
+ cdef bool ParseValidationTestInput "mojo::test::ParseValidationTestInput"( |
+ string input, |
+ vector[uint8_t]* data, |
+ size_t* num_handles, |
+ string* error_message) |
+ |
+class Data(object): |
+ def __init__(self, data, num_handles, error_message): |
+ self.data = data |
+ self.num_handles = num_handles |
+ self.error_message = error_message |
+ |
+def ParseData(value): |
+ cdef string value_as_string = value |
+ cdef vector[uint8_t] data_as_vector |
+ cdef size_t num_handles |
+ cdef string error_message |
+ ParseValidationTestInput( |
+ value, &data_as_vector, &num_handles, &error_message) |
+ return Data(bytearray(data_as_vector), num_handles, error_message) |