diff options
author | Luke Chen <luke.chen@mongodb.com> | 2019-07-05 12:27:29 +1000 |
---|---|---|
committer | Luke Chen <luke.chen@mongodb.com> | 2019-07-05 12:27:29 +1000 |
commit | daceefe370a71036df6e1ecb209e966d29bc2871 (patch) | |
tree | 93d837763bfeb38e8c59bc665742dce99d242e31 /src/third_party/wiredtiger/test/py_install | |
parent | 7d88bdb226e8a3dc9b5eb4b57edcca111619c5f9 (diff) | |
download | mongo-daceefe370a71036df6e1ecb209e966d29bc2871.tar.gz |
Import wiredtiger: b50d65e8560446e2cd205594e07bbcaa2305b144 from branch mongodb-4.2
ref: d86b3a8a33..b50d65e856
for: 4.3.1
WT-4502 Assertion checking hazard pointers on page discard is too strong
WT-4733 Change test/format to do longer-term repeatable read testing
WT-4743 Fix memory leaks and core dumps in page-split error handling
WT-4786 Coverity: Invalid format specifiers in printf-like invocations
WT-4805 Modify error message verification for test_prepare04.py
WT-4812 Fix the Python distribution script for Python3 changes
WT-4818 Add debugging of bad read file descriptor when files are missing during recovery
WT-4840 WT_CURSOR.modify must require explicit, snapshot-isolation transaction
WT-4864 Coverity: Redundant NULL check
WT-4866 Coverity: WT_SESSION.import can leak memory
WT-4867 Skip assertion when reserved updates are seen
WT-4882 Improve checkpoint performance when there are large metadata pages
WT-4887 Skip read timestamp required assert during recovery
WT-4888 Remove support for Berkeley DB
WT-4891 WT_SESSION.verify memory allocation overrun
WT-4895 Fix debug eviction mode so it chooses skew more randomly
WT-4910 Port Windows SConstruct to Python 3
Diffstat (limited to 'src/third_party/wiredtiger/test/py_install')
-rwxr-xr-x | src/third_party/wiredtiger/test/py_install/testbase.py | 52 | ||||
-rwxr-xr-x | src/third_party/wiredtiger/test/py_install/testpack.py | 51 |
2 files changed, 103 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/test/py_install/testbase.py b/src/third_party/wiredtiger/test/py_install/testbase.py new file mode 100755 index 00000000000..a7559981513 --- /dev/null +++ b/src/third_party/wiredtiger/test/py_install/testbase.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python +# +# Public Domain 2014-2019 MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# +# This is free and unencumbered software released into the public domain. +# +# Anyone is free to copy, modify, publish, use, compile, sell, or +# distribute this software, either in source code form or as a compiled +# binary, for any purpose, commercial or non-commercial, and by any +# means. +# +# In jurisdictions that recognize copyright laws, the author or authors +# of this software dedicate any and all copyright interest in the +# software to the public domain. We make this dedication for the benefit +# of the public at large and to the detriment of our heirs and +# successors. We intend this dedication to be an overt act of +# relinquishment in perpetuity of all present and future rights to this +# software under copyright law. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +# A quick sanity test of an installation via 'pip install wiredtiger'. + +import wiredtiger, shutil, os +from wiredtiger import wiredtiger_open, wiredtiger_version + +wthome = "WTPY_TEST" +shutil.rmtree(wthome, ignore_errors=True) +os.mkdir(wthome) +conn = wiredtiger_open(wthome, "create") +session = conn.open_session() +session.create('table:foo', 'key_format=S,value_format=i') +c = session.open_cursor('table:foo') +c['A'] = 100 +c['B'] = 200 +c['C'] = 300 +print('Expect 200 = ' + str(c['B'])) +if c['B'] != 200: + raise Exception('BAD RESULT') +c.close() +session.close() +conn.close() + +print(wiredtiger_version()) +print('testbase success.') diff --git a/src/third_party/wiredtiger/test/py_install/testpack.py b/src/third_party/wiredtiger/test/py_install/testpack.py new file mode 100755 index 00000000000..9c00184fc4f --- /dev/null +++ b/src/third_party/wiredtiger/test/py_install/testpack.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python +# +# Public Domain 2014-2019 MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# +# This is free and unencumbered software released into the public domain. +# +# Anyone is free to copy, modify, publish, use, compile, sell, or +# distribute this software, either in source code form or as a compiled +# binary, for any purpose, commercial or non-commercial, and by any +# means. +# +# In jurisdictions that recognize copyright laws, the author or authors +# of this software dedicate any and all copyright interest in the +# software to the public domain. We make this dedication for the benefit +# of the public at large and to the detriment of our heirs and +# successors. We intend this dedication to be an overt act of +# relinquishment in perpetuity of all present and future rights to this +# software under copyright law. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +# A quick sanity test of an installation via 'pip install wiredtiger'. +# This program only uses the packing API. + +import sys +from wiredtiger.packing import unpack, pack + +testval = '8281e420f2fa4a8381e40c5855ca808080808080e22fc0e20fc0' +# Jump through hoops to make code work for Py2 + Py3 +x = bytes(bytearray.fromhex(testval)) + +unpacked = unpack('iiiiiiiiiiiiii',x) +unexpect = [2, 1, 552802954, 3, 1, 207123978, 0, 0, 0, 0, 0, 0, 20480, 12288] +#print(str(unpacked))) +if unpacked != unexpect: + raise Exception('BAD RESULT FOR UNPACK') + +packed = pack('iiii', 1, 2, 3, 4) +expect = b'\x81\x82\x83\x84' +#print(str(packed))) +if packed != expect: + raise Exception('BAD RESULT FOR PACK') + +print('testpack success.') |