summaryrefslogtreecommitdiff
path: root/source3/stf
diff options
context:
space:
mode:
Diffstat (limited to 'source3/stf')
-rw-r--r--source3/stf/standardcheck.py33
-rwxr-xr-xsource3/stf/strings.py69
2 files changed, 102 insertions, 0 deletions
diff --git a/source3/stf/standardcheck.py b/source3/stf/standardcheck.py
new file mode 100644
index 0000000000..5af1c78376
--- /dev/null
+++ b/source3/stf/standardcheck.py
@@ -0,0 +1,33 @@
+#! /usr/bin/python
+
+# Comfychair test cases for Samba
+
+# Copyright (C) 2003 by Martin Pool <mbp@samba.org>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA
+
+"""These tests are run by Samba's "make check"."""
+
+import strings, comfychair
+
+# There should not be any actual tests in here: this file just serves
+# to define the ones run by default. They're imported from other
+# modules.
+
+tests = strings.tests
+
+if __name__ == '__main__':
+ comfychair.main(tests)
diff --git a/source3/stf/strings.py b/source3/stf/strings.py
new file mode 100755
index 0000000000..a67e137058
--- /dev/null
+++ b/source3/stf/strings.py
@@ -0,0 +1,69 @@
+#! /usr/bin/python
+
+# Comfychair test cases for Samba string functions.
+
+# Copyright (C) 2003 by Martin Pool <mbp@samba.org>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA
+
+import sys, re, comfychair
+
+def signum(a):
+ if a < 0:
+ return -1
+ elif a > 0:
+ return +1
+ else:
+ return 0
+
+
+class StrCaseCmp_Ascii_Tests(comfychair.TestCase):
+ """String comparisons in simple ASCII"""
+ def run_strcmp(self, a, b, expect):
+ out = self.runcmd('t_strcmp \"%s\" \"%s\"' % (a, b))
+ if signum(int(out)) != expect:
+ self.fail("comparison failed:\n"
+ " a=%s\n"
+ " b=%s\n"
+ " expected=%s\n"
+ " result=%s\n" % (`a`, `b`, `expect`, `out`))
+
+ def runtest(self):
+ # A, B, strcasecmp(A, B)
+ cases = [('hello', 'hello', 0),
+ ('hello', 'goodbye', +1),
+ ('goodbye', 'hello', -1),
+ ('hell', 'hello', -1),
+ ('', '', 0),
+ ('a', '', +1),
+ ('', 'a', -1),
+ ('a', 'A', 0),
+ ('aa', 'aA', 0),
+ ('Aa', 'aa', 0),
+ ('longstring ' * 100, 'longstring ' * 100, 0),
+ ('longstring ' * 100, 'longstring ' * 100 + 'a', -1),
+ ('longstring ' * 100 + 'a', 'longstring ' * 100, +1),
+ ]
+ for a, b, expect in cases:
+ self.run_strcmp(a, b, expect)
+
+# Define the tests exported by this module
+tests = [StrCaseCmp_Ascii_Tests]
+
+# Handle execution of this file as a main program
+if __name__ == '__main__':
+ comfychair.main(tests)
+