summaryrefslogtreecommitdiffstats
path: root/tests/tests.py
diff options
context:
space:
mode:
authorMihai Ibanescu <misa@redhat.com>2006-05-04 19:20:12 -0400
committerJim Meyering <jim@meyering.net>2006-05-04 19:20:12 -0400
commit17dc6975f607468c4a0c6b428a5cfaeeaf58fb9e (patch)
tree8e9715d3c5b0dfed126275e7216d0bb3463ca213 /tests/tests.py
parent48cf03916eb198e1b5a11c3e110c4d32787789fc (diff)
downloadthird_party-cobbler-17dc6975f607468c4a0c6b428a5cfaeeaf58fb9e.tar.gz
third_party-cobbler-17dc6975f607468c4a0c6b428a5cfaeeaf58fb9e.tar.xz
third_party-cobbler-17dc6975f607468c4a0c6b428a5cfaeeaf58fb9e.zip
Test case runs from a clean dir now
We create temp dirs and we remove them when we're done.
Diffstat (limited to 'tests/tests.py')
-rw-r--r--tests/tests.py53
1 files changed, 35 insertions, 18 deletions
diff --git a/tests/tests.py b/tests/tests.py
index 440c588..2673cdd 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -7,6 +7,8 @@ import sys
import unittest
import os
import subprocess
+import tempfile
+import shutil
sys.path.append('../cobbler')
sys.path.append('./cobbler')
@@ -14,16 +16,27 @@ sys.path.append('./cobbler')
import api
import config
-FAKE_INITRD="/tmp/initrd-2.6.15-1.2054_FAKE.img"
-FAKE_INITRD2="/tmp/initrd-2.5.16-2.2055_FAKE.img"
-FAKE_INITRD3="/tmp/initrd-1.8.18-3.9999_FAKE.img"
-FAKE_KERNEL="/tmp/vmlinuz-2.6.15-1.2054_FAKE"
-FAKE_KERNEL2="/tmp/vmlinuz-2.5.16-2.2055_FAKE"
-FAKE_KERNEL3="/tmp/vmlinuz-1.8.18-3.9999_FAKE"
+FAKE_INITRD="initrd-2.6.15-1.2054_FAKE.img"
+FAKE_INITRD2="initrd-2.5.16-2.2055_FAKE.img"
+FAKE_INITRD3="initrd-1.8.18-3.9999_FAKE.img"
+FAKE_KERNEL="vmlinuz-2.6.15-1.2054_FAKE"
+FAKE_KERNEL2="vmlinuz-2.5.16-2.2055_FAKE"
+FAKE_KERNEL3="vmlinuz-1.8.18-3.9999_FAKE"
FAKE_KICKSTART="http://127.0.0.1/fake.ks"
class BootTest(unittest.TestCase):
+
def setUp(self):
+ # Create temp dir
+ self.topdir = tempfile.mkdtemp(prefix="_cobbler-")
+ self.fk_initrd = os.path.join(self.topdir, FAKE_INITRD)
+ self.fk_initrd2 = os.path.join(self.topdir, FAKE_INITRD2)
+ self.fk_initrd3 = os.path.join(self.topdir, FAKE_INITRD3)
+
+ self.fk_kernel = os.path.join(self.topdir, FAKE_KERNEL)
+ self.fk_kernel2 = os.path.join(self.topdir, FAKE_KERNEL2)
+ self.fk_kernel3 = os.path.join(self.topdir, FAKE_KERNEL3)
+
try:
# it will interfere with results...
os.remove("/etc/cobbler.conf")
@@ -31,20 +44,21 @@ class BootTest(unittest.TestCase):
pass
self.api = api.BootAPI()
self.hostname = os.uname()[1]
- create = [FAKE_INITRD,FAKE_INITRD2,FAKE_INITRD3,
- FAKE_KERNEL,FAKE_KERNEL2,FAKE_KERNEL3]
+ create = [ self.fk_initrd, self.fk_initrd2, self.fk_initrd3,
+ self.fk_kernel, self.fk_kernel2, self.fk_kernel3 ]
for fn in create:
f = open(fn,"w+")
self.make_basic_config()
def tearDown(self):
+ shutil.rmtree(self.topdir, ignore_errors=1)
self.api = None
def make_basic_config(self):
distro = self.api.new_distro()
self.assertTrue(distro.set_name("testdistro0"))
- self.assertTrue(distro.set_kernel(FAKE_KERNEL))
- self.assertTrue(distro.set_initrd(FAKE_INITRD))
+ self.assertTrue(distro.set_kernel(self.fk_kernel))
+ self.assertTrue(distro.set_initrd(self.fk_initrd))
self.assertTrue(self.api.get_distros().add(distro))
self.assertTrue(self.api.get_distros().find("testdistro0"))
@@ -63,25 +77,28 @@ class BootTest(unittest.TestCase):
class Utilities(BootTest):
+ def _expeq(self, expected, actual):
+ self.failUnlessEqual(expected, actual,
+ "Expected: %s; actual: %s" % (expected, actual))
def test_kernel_scan(self):
- self.assertTrue(self.api.utils.find_kernel(FAKE_KERNEL))
+ self.assertTrue(self.api.utils.find_kernel(self.fk_kernel))
self.assertFalse(self.api.utils.find_kernel("/etc/fstab"))
self.assertFalse(self.api.utils.find_kernel("filedoesnotexist"))
- self.assertTrue(self.api.utils.find_kernel("/tmp") == FAKE_KERNEL)
+ self._expeq(self.fk_kernel, self.api.utils.find_kernel(self.topdir))
def test_initrd_scan(self):
- self.assertTrue(self.api.utils.find_initrd(FAKE_INITRD))
+ self.assertTrue(self.api.utils.find_initrd(self.fk_initrd))
self.assertFalse(self.api.utils.find_kernel("/etc/fstab"))
self.assertFalse(self.api.utils.find_initrd("filedoesnotexist"))
- self.assertTrue(self.api.utils.find_initrd("/tmp") == FAKE_INITRD)
+ self._expeq(self.fk_initrd, self.api.utils.find_initrd(self.topdir))
def test_kickstart_scan(self):
# we don't check to see if kickstart files look like anything
# so this will pass
- self.assertTrue(self.api.utils.find_kickstart(FAKE_INITRD) is None)
+ self.assertTrue(self.api.utils.find_kickstart(self.fk_initrd) is None)
self.assertTrue(self.api.utils.find_kickstart("filedoesnotexist") is None)
- self.assertTrue(self.api.utils.find_kickstart("/tmp") == None)
+ self.assertTrue(self.api.utils.find_kickstart(self.topdir) == None)
self.assertTrue(self.api.utils.find_kickstart("http://bar"))
self.assertTrue(self.api.utils.find_kickstart("ftp://bar"))
self.assertTrue(self.api.utils.find_kickstart("nfs://bar"))
@@ -106,14 +123,14 @@ class Additions(BootTest):
distro = self.api.new_distro()
self.assertTrue(distro.set_name("testdistro2"))
self.assertFalse(distro.set_kernel("filedoesntexist"))
- self.assertTrue(distro.set_initrd(FAKE_INITRD))
+ self.assertTrue(distro.set_initrd(self.fk_initrd))
self.assertFalse(self.api.get_distros().add(distro))
self.assertFalse(self.api.get_distros().find("testdistro2"))
def test_invalid_distro_non_referenced_initrd(self):
distro = self.api.new_distro()
self.assertTrue(distro.set_name("testdistro3"))
- self.assertTrue(distro.set_kernel(FAKE_KERNEL))
+ self.assertTrue(distro.set_kernel(self.fk_kernel))
self.assertFalse(distro.set_initrd("filedoesntexist"))
self.assertFalse(self.api.get_distros().add(distro))
self.assertFalse(self.api.get_distros().find("testdistro3"))