ndrdump: Move blackbox test to standard python namespace.
authorJelmer Vernooij <jelmer@samba.org>
Wed, 22 Sep 2010 19:52:29 +0000 (12:52 -0700)
committerJelmer Vernooij <jelmer@samba.org>
Thu, 23 Sep 2010 00:48:23 +0000 (17:48 -0700)
source4/librpc/tests/test_ndrdump.sh [deleted file]
source4/scripting/python/samba/tests/__init__.py
source4/scripting/python/samba/tests/blackbox/__init__.py [new file with mode: 0644]
source4/scripting/python/samba/tests/blackbox/ndrdump.py [new file with mode: 0755]
source4/selftest/tests.sh

diff --git a/source4/librpc/tests/test_ndrdump.sh b/source4/librpc/tests/test_ndrdump.sh
deleted file mode 100755 (executable)
index dccf86d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-# Blackbox tests for masktest
-# Copyright (C) 2008 Andrew Tridgell
-# Copyright (C) 2008 Andrew Bartlett
-# based on test_smbclient.sh
-
-. `dirname $0`/../../../testprogs/blackbox/subunit.sh
-
-failed=0
-
-samba4bindir="$BUILDDIR/bin"
-ndrdump="$samba4bindir/ndrdump$EXEEXT"
-files=`dirname $0`/
-
-testit "ndrdump with in" $VALGRIND $ndrdump samr samr_CreateUser in $files/samr-CreateUser-in.dat $@ || failed=`expr $failed + 1`
-testit "ndrdump with out" $VALGRIND $ndrdump samr samr_CreateUser out $files/samr-CreateUser-out.dat $@ || failed=`expr $failed + 1`
-testit "ndrdump with --context-file" $VALGRIND $ndrdump --context-file $files/samr-CreateUser-in.dat samr samr_CreateUser out $files/samr-CreateUser-out.dat $@ || failed=`expr $failed + 1`
-testit "ndrdump with validate" $VALGRIND $ndrdump --validate samr samr_CreateUser in $files/samr-CreateUser-in.dat $@ || failed=`expr $failed + 1`
-
-exit $failed
index cee3397ba680a055ace6ecfbcb7cf0b5d4ed4ae4..9644bad4cf01d9fe32a688731d90c22e914679e5 100644 (file)
@@ -23,6 +23,7 @@ import os
 import ldb
 import samba
 from samba import param
+import subprocess
 import tempfile
 
 # Other modules import these two classes from here, for convenience:
@@ -128,3 +129,15 @@ class ValidNetbiosNameTests(TestCase):
 
     def test_invalid_characters(self):
         self.assertFalse(samba.valid_netbios_name("*BLA"))
+
+
+class BlackboxTestCase(TestCase):
+    """Base test case for blackbox tests."""
+
+    def check_run(self, line):
+        bindir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../../bin"))
+        parts = line.split(" ")
+        if os.path.exists(os.path.join(bindir, parts[0])):
+            parts[0] = os.path.join(bindir, parts[0])
+        line = " ".join(parts)
+        subprocess.check_call(line, shell=True)
diff --git a/source4/scripting/python/samba/tests/blackbox/__init__.py b/source4/scripting/python/samba/tests/blackbox/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/source4/scripting/python/samba/tests/blackbox/ndrdump.py b/source4/scripting/python/samba/tests/blackbox/ndrdump.py
new file mode 100755 (executable)
index 0000000..06c1b5c
--- /dev/null
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+# Blackbox tests for masktest
+# Copyright (C) 2008 Andrew Tridgell
+# Copyright (C) 2008 Andrew Bartlett
+# based on test_smbclient.sh
+
+import os
+from samba.tests import BlackboxTestCase
+
+data_path_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../../../librpc/tests"))
+
+class NdrDumpTests(BlackboxTestCase):
+    """Blackbox tests for ndrdump."""
+
+    def data_path(self, name):
+        return os.path.join(data_path_dir, name)
+
+    def test_ndrdump_with_in(self):
+        self.check_run("ndrdump samr samr_CreateUser in %s" % (self.data_path("samr-CreateUser-in.dat")))
+
+    def test_ndrdump_with_out(self):
+        self.check_run("ndrdump samr samr_CreateUser out %s" % (self.data_path("samr-CreateUser-out.dat")))
+
+    def test_ndrdump_context_file(self):
+        self.check_run("ndrdump --context-file %s samr samr_CreateUser out %s" % (self.data_path("samr-CreateUser-in.dat"), self.data_path("samr-CreateUser-out.dat")))
+
+    def test_ndrdump_with_validate(self):
+        self.check_run("ndrdump --validate samr samr_CreateUser in %s" % (self.data_path("samr-CreateUser-in.dat")))
index 86d483e7de4690b71d19941658b8dd9320010d01..b4f893e2212328909cd144adda4302664ffc5b10 100755 (executable)
@@ -388,7 +388,7 @@ planperltestsuite "selftest.samba4.pl" none $samba4srcdir/../selftest/test_samba
 # the API. These mainly test that the various command-line options of commands 
 # work correctly.
 
-plantestsuite "blackbox.ndrdump" none $samba4srcdir/librpc/tests/test_ndrdump.sh
+planpythontestsuite none samba.tests.blackbox.ndrdump
 plantestsuite "blackbox.net" dc:local $samba4srcdir/utils/tests/test_net.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN"
 plantestsuite "blackbox.pkinit" dc:local $bbdir/test_pkinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" aes256-cts-hmac-sha1-96 $CONFIGURATION 
 plantestsuite "blackbox.kinit" dc:local $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" aes256-cts-hmac-sha1-96 $CONFIGURATION