From f18d9e147d4a242cdfb31a816d91d277b99badae Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 23 Mar 2012 23:46:02 +0100 Subject: selftest.py: Add selftest.target.samba with bindir_path function. --- selftest/target/samba.py | 24 ++++++++++++++++++++++++ selftest/tests/__init__.py | 2 +- selftest/tests/test_samba.py | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 selftest/target/samba.py create mode 100644 selftest/tests/test_samba.py diff --git a/selftest/target/samba.py b/selftest/target/samba.py new file mode 100644 index 0000000000..5e652a3528 --- /dev/null +++ b/selftest/target/samba.py @@ -0,0 +1,24 @@ +#!/usr/bin/perl +# Bootstrap Samba and run a number of tests against it. +# Copyright (C) 2005-2012 Jelmer Vernooij +# Published under the GNU GPL, v3 or later. + +import os +import sys +import warnings + +from selftest.target import Target + +def bindir_path(binary_mapping, bindir, path): + """Find the executable to use. + + :param binary_mapping: Dictionary mapping binary names + :param bindir: Directory with binaries + :param path: Name of the executable to run + :return: Full path to the executable to run + """ + path = binary_mapping.get(path, path) + valpath = os.path.join(bindir, path) + if os.path.isfile(valpath): + return valpath + return path diff --git a/selftest/tests/__init__.py b/selftest/tests/__init__.py index 5ff1f6b8d2..85d0316b46 100644 --- a/selftest/tests/__init__.py +++ b/selftest/tests/__init__.py @@ -25,7 +25,7 @@ import unittest def test_suite(): result = unittest.TestSuite() - names = ['socket_wrapper', 'target', 'testlist', 'run'] + names = ['socket_wrapper', 'target', 'testlist', 'run', 'samba'] module_names = ['selftest.tests.test_' + name for name in names] loader = unittest.TestLoader() result.addTests(loader.loadTestsFromNames(module_names)) diff --git a/selftest/tests/test_samba.py b/selftest/tests/test_samba.py new file mode 100644 index 0000000000..d3da930553 --- /dev/null +++ b/selftest/tests/test_samba.py @@ -0,0 +1,38 @@ +# test_run.py -- Tests for selftest.target.samba +# Copyright (C) 2012 Jelmer Vernooij +# +# 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; version 3 +# of the License or (at your option) any later version of +# the License. +# +# 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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. + +"""Tests for selftest.target.samba.""" + +from selftest.tests import TestCase + +from selftest.target.samba import bindir_path + + +class BinDirPathTests(TestCase): + + def test_mapping(self): + self.assertEquals("exe4", + bindir_path({"exe": "exe4"}, "/some/path", "exe")) + self.assertEquals("/bin/ls", + bindir_path({"exe": "ls"}, "/bin", "exe")) + + def test_no_mapping(self): + self.assertEquals("exe", bindir_path({}, "/some/path", "exe")) + self.assertEquals("/bin/ls", + bindir_path({}, "/bin", "ls")) -- cgit