1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

ndrdump: Move blackbox test to standard python namespace.

This commit is contained in:
Jelmer Vernooij
2010-09-22 12:52:29 -07:00
parent 18f10eec0e
commit 5a75fb194a
5 changed files with 42 additions and 21 deletions

View File

@ -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

View 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)

View File

@ -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")))

View File

@ -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