summaryrefslogtreecommitdiff
path: root/contrib/python/examples/test_buffer.py
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2013-02-15 13:51:54 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2013-02-15 13:51:54 +0000
commit2f10c3e258216a4694be7302c4a039b26be832bf (patch)
tree0cc5ddc89809341208b405e0e4b030b820ac614f /contrib/python/examples/test_buffer.py
parenta1ba2d1ca3a1d6c9c36a79a196dd3ccb83ede353 (diff)
Notes
Diffstat (limited to 'contrib/python/examples/test_buffer.py')
-rwxr-xr-xcontrib/python/examples/test_buffer.py843
1 files changed, 843 insertions, 0 deletions
diff --git a/contrib/python/examples/test_buffer.py b/contrib/python/examples/test_buffer.py
new file mode 100755
index 0000000000000..0baf76f6ab02f
--- /dev/null
+++ b/contrib/python/examples/test_buffer.py
@@ -0,0 +1,843 @@
+#!/usr/bin/env python
+
+#
+# ldns_buffer testing script.
+#
+# Do not use constructs that differ between Python 2 and 3.
+# Use write on stdout or stderr.
+#
+
+
+import ldns
+import sys
+import os
+import inspect
+
+
+class_name = "ldns_buffer"
+method_name = None
+error_detected = False
+
+
+def set_error():
+ """
+ Writes an error message and sets error flag.
+ """
+ global class_name
+ global method_name
+ global error_detected
+ error_detected = True
+ sys.stderr.write("(line %d): malfunctioning method %s.\n" % \
+ (inspect.currentframe().f_back.f_lineno, method_name))
+
+
+# Buffer creation.
+capacity = 1024
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.__init__()"
+ try:
+ buf = ldns.ldns_buffer(1024)
+ except:
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.__str__()"
+ buf.printf("abcedf")
+ try:
+ string = buf.__str__()
+ except:
+ set_error()
+ if not isinstance(string, str):
+ # Should be string.
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.at()"
+ try:
+ ret = buf.at(512)
+ except:
+ set_error()
+ try:
+ # Must raise TypeError.
+ ret = buf.at("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.available()"
+ try:
+ ret = buf.available(capacity)
+ except:
+ set_error()
+ if not isinstance(ret, bool):
+ # Should be bool.
+ set_error()
+ if not buf.available(capacity):
+ # Should return True.
+ set_error()
+ if buf.available(capacity + 1):
+ # Should return False.
+ set_error()
+ try:
+ # Must raise TypeError.
+ ret = buf.available("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# # Must raise ValueError.
+# ret = buf.available("")
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.available_at()"
+ try:
+ ret = buf.available_at(512, capacity - 512)
+ except:
+ set_error()
+ if not isinstance(ret, bool):
+ # Should be bool.
+ set_error()
+ if not buf.available_at(512, capacity - 512):
+ # Should return True.
+ set_error()
+ if buf.available_at(512, capacity - 512 + 1):
+ # Should return False.
+ set_error()
+ try:
+ # Must raise TypeError.
+ ret = buf.available_at("", 1)
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+ try:
+ # Must raise TypeError.
+ ret = buf.available_at(1, "")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# # Must raise ValueError.
+# ret = buf.available_at(-1, 512)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+# try:
+# # Must raise ValueError.
+# ret = buf.available_at(512, -1)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.begin()"
+ try:
+ ret = buf.begin()
+ except:
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.capacity()"
+ try:
+ ret = buf.capacity()
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ # Should be int.
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.clear()"
+ try:
+ buf.clear()
+ except:
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.copy()"
+ sys.stderr.write("%s not tested.\n" % (method_name))
+# buf2 = ldns.ldns_buffer(10)
+# buf2.printf("abcdef")
+# try:
+# buf.copy(buf2)
+# print buf.capacity()
+# print buf2.capacity()
+# except:
+# set_error()
+# buf.printf("2")
+# print buf
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.current()"
+ try:
+ ret = buf.current()
+ except:
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.end()"
+ try:
+ ret = buf.end()
+ except:
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.export()"
+ sys.stderr.write("%s not tested.\n" % (method_name))
+
+
+#if not error_detected:
+if True:
+ mehod_name = "ldns_buffer.flip()"
+ buf.printf("abcdef")
+ try:
+ buf.flip()
+ except:
+ set_error()
+# if buf.remaining() != capacity:
+# # Should be at beginning.
+# set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.getc()"
+ buf.printf("a")
+ buf.rewind()
+ try:
+ ret = buf.getc()
+ except:
+ set_error()
+ if ret != ord("a"):
+ set_error()
+# Test return value for -1
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.invariant()"
+ try:
+ buf.invariant()
+ except:
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.limit()"
+ try:
+ ret = buf.limit()
+ except:
+ set_error()
+ if ret != capacity:
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.position()"
+ try:
+ ret = buf.position()
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.printf()"
+ try:
+ ret = buf.printf("abcdef")
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ set_error()
+ try:
+ ret = buf.printf(10)
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.read()"
+ sys.stderr.write("%s not tested.\n" % (method_name))
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.read_at()"
+ sys.stderr.write("%s not tested.\n" % (method_name))
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.read_u16()"
+ buf.printf("aac")
+ buf.rewind()
+ try:
+ ret = buf.read_u16()
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ set_error()
+ if ret != (ord("a") * 0x0101):
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.read_u16_at()"
+ buf.printf("abbc")
+ try:
+ ret = buf.read_u16_at(1)
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ set_error()
+ if ret != (ord("b") * 0x0101):
+ set_error()
+ try:
+ ret = buf.read_u16_at("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# ret = buf.read_u16_at(-1)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.read_u32()"
+ buf.printf("aaaac")
+ buf.rewind()
+ try:
+ ret = buf.read_u32()
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ set_error()
+ if ret != (ord("a") * 0x01010101):
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.read_u32_at()"
+ buf.printf("abbbbc")
+ try:
+ ret = buf.read_u32_at(1)
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ set_error()
+ if ret != (ord("b") * 0x01010101):
+ set_error()
+ try:
+ ret = buf.read_u32_at("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# ret = buf.read_u32_at(-1)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.read_u8()"
+ buf.printf("ac")
+ buf.rewind()
+ try:
+ ret = buf.read_u8()
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ set_error()
+ if ret != ord("a"):
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.read_u8_at()"
+ buf.printf("abc")
+ try:
+ ret = buf.read_u8_at(1)
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ set_error()
+ if ret != ord("b"):
+ set_error()
+ try:
+ ret = buf.read_u8_at("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# ret = buf.read_u8_at(-1)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.remaining()"
+ buf.printf("abcdef")
+ try:
+ ret = buf.remaining()
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ set_error()
+ if ret != (capacity - 6):
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.remaining_at()"
+ buf.printf("abcdef")
+ try:
+ ret = buf.remaining_at(1)
+ except:
+ set_error()
+ if not isinstance(ret, int):
+ set_error()
+ if ret != (capacity - 1):
+ set_error()
+ try:
+ ret = buf.remaining_at("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# ret = buf.remaining_at(-1)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.reserve()"
+ buf2 = ldns.ldns_buffer(512)
+ try:
+ ret = buf2.reserve(1024)
+ except:
+ set_error()
+ if not isinstance(ret, bool):
+ set_error()
+ try:
+ ret = buf2.reserve("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# ret = buf2.reserve(-1)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.rewind()"
+ buf.printf("abcdef")
+ try:
+ buf.rewind()
+ except:
+ set_error()
+ if buf.position() != 0:
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.set_capacity()"
+ try:
+ ret = buf.set_capacity(capacity)
+ except:
+ set_error()
+ if not isinstance(ret, bool):
+ set_error()
+ try:
+ ret = buf.set_capacity("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# ret = buf.set_capacity(-1)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.set_limit()"
+ try:
+ buf.set_limit(0)
+ except:
+ set_error()
+ try:
+ buf.set_limit("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# buf.set_limit(-1)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.set_position()"
+ try:
+ buf.set_position(0)
+ except:
+ set_error()
+ try:
+ buf.set_position("")
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# buf.set_position(-1)
+# except ValueError:
+# pass
+# except:
+# set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.skip()"
+ try:
+ buf.skip(10)
+ except:
+ set_error()
+ try:
+ buf.skip(-1)
+ except:
+ set_error()
+ try:
+ buf.skip("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.status()"
+ try:
+ ret = buf.status()
+ except:
+ set_error()
+ # Returned status is an integer.
+ if not isinstance(ret, int):
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.status_ok()"
+ try:
+ ret = buf.status_ok()
+ except:
+ set_error()
+ if not isinstance(ret, bool):
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.write()"
+ sys.stderr.write("%s not tested.\n" % (method_name))
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.write_at()"
+ sys.stderr.write("%s not tested.\n" % (method_name))
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.write_string()"
+ try:
+ buf.write_string("abcdef")
+ except:
+ set_error()
+# try:
+# buf.write_sring(-1)
+# set_error()
+# except TypeError:
+# pass
+# except:
+# set_error()
+ sys.stderr.write("%s not tested for parameter correctness.\n" % \
+ (method_name))
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.write_string_at()"
+ sys.stderr.write("%s not tested.\n" % (method_name))
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.write_u16()"
+ try:
+ buf.write_u16(ord("b") * 0x0101)
+ except:
+ set_error()
+ try:
+ buf.write_u16("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.write_u16_at()"
+ buf.printf("a")
+ try:
+ buf.write_u16_at(1, ord("b") * 0x0101)
+ except:
+ set_error()
+ try:
+ buf.write_u16_at("", ord("b") * 0x0101)
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# buf.write_u16_at(-1, ord("b") * 0x0101)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+ try:
+ buf.write_u16_at(1, "")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.write_u32()"
+ try:
+ buf.write_u32(ord("b") * 0x01010101)
+ except:
+ set_error()
+ try:
+ buf.write_u32("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.write_u32_at()"
+ buf.printf("a")
+ try:
+ buf.write_u32_at(1, ord("b") * 0x01010101)
+ except:
+ set_error()
+ try:
+ buf.write_u32_at("", ord("b") * 0x01010101)
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# buf.write_u32_at(-1, ord("b") * 0x01010101)
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+ try:
+ buf.write_u32_at(1, "")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.write_u8()"
+ try:
+ buf.write_u8(ord("b"))
+ except:
+ set_error()
+ try:
+ buf.write_u8("")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+ buf.clear()
+
+
+#if not error_detected:
+if True:
+ method_name = "ldns_buffer.write_u8_at()"
+ buf.printf("a")
+ try:
+ buf.write_u8_at(1, ord("b"))
+ except:
+ set_error()
+ try:
+ buf.write_u8_at("", ord("b"))
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+# try:
+# buf.write_u8_at(-1, ord("b"))
+# set_error()
+# except ValueError:
+# pass
+# except:
+# set_error()
+ try:
+ buf.write_u8_at(1, "")
+ set_error()
+ except TypeError:
+ pass
+ except:
+ set_error()
+
+
+if not error_detected:
+ sys.stdout.write("%s: passed.\n" % (os.path.basename(__file__)))
+else:
+ sys.stdout.write("%s: errors detected.\n" % (os.path.basename(__file__)))
+ sys.exit(1)