aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlistair Bush <ali_bush@gentoo.org>2009-02-24 10:54:42 +0000
committerAlistair Bush <ali_bush@gentoo.org>2009-02-24 10:54:42 +0000
commitc178e2938db696a7efd2a2fed0bc383dd88d5f21 (patch)
treea2035a9d39eedcbfa5d72b43f9924c9ba5868d53
parentRemove commented out code and extra lines. (diff)
downloadjava-config-c178e2938db696a7efd2a2fed0bc383dd88d5f21.tar.gz
java-config-c178e2938db696a7efd2a2fed0bc383dd88d5f21.tar.bz2
java-config-c178e2938db696a7efd2a2fed0bc383dd88d5f21.zip
Updated unittests. Made unittests provide there own packages, vms, virtuals, etc to provide known state to test against.
svn path=/projects/java-config-2/trunk/; revision=7552
-rw-r--r--src/testsuite/Package.py19
-rw-r--r--src/testsuite/Virtual.py27
-rw-r--r--src/testsuite/packages/ant-cores/package.env2
-rw-r--r--src/testsuite/packages/jdbc-mysql/package.env11
-rw-r--r--src/testsuite/packages/jdbc-postgresql/package.env11
5 files changed, 62 insertions, 8 deletions
diff --git a/src/testsuite/Package.py b/src/testsuite/Package.py
index 3dffcb0..c555927 100644
--- a/src/testsuite/Package.py
+++ b/src/testsuite/Package.py
@@ -1,8 +1,27 @@
import unittest
import os
+from java_config_2.Package import Package
+
class TestPackage(unittest.TestCase):
path = os.path.join(os.path.dirname(__file__), 'packages', '%s/package.env')
+ def load_package(self, package):
+ config = TestPackage.path % package
+ return Package(package, config)
+
+ def setUp(self):
+ self.ant = self.load_package('ant-cores')
+
+ def test_package_info(self):
+ #using a package we definitely
+ #know will not be into the tree
+ #to ensure we ain't using real system packages.
+ self.assertEqual(self.ant.name(), 'ant-cores')
+ self.assertEqual(self.ant.description(), "Description: %s" % self.ant.name())
+ self.assertEqual(self.ant.target(), "1.4")
+ self.assertTrue(self.ant.query('JAVADOC_PATH'))
+ self.assertFalse(self.ant.query('VAR_SHOULD_NOT_EXIST'))
+
if __name__ == '__main__':
unittest.main()
diff --git a/src/testsuite/Virtual.py b/src/testsuite/Virtual.py
index bd529cc..f88664e 100644
--- a/src/testsuite/Virtual.py
+++ b/src/testsuite/Virtual.py
@@ -1,22 +1,35 @@
import unittest
+import os
from java_config_2.Virtual import Virtual
from java_config_2.EnvironmentManager import EnvironmentManager as em
-import os
+from java_config_2.Errors import ProviderUnavailableError
+
+def load_virtual(virtual):
+ config = os.path.join(TestVirtual.path, virtual)
+ return Virtual(virtual, em, config)
class TestVirtual(unittest.TestCase):
path = os.path.join(os.path.dirname(__file__), "virtual_configs") + "/"
- def load_virtual(self, virtual):
- config = os.path.join(TestVirtual.path,virtual)
- return Virtual(virtual, em, config)
-
def setUp(self):
- self.jaf = self.load_virtual('jaf')
- self.jdbc = self.load_virtual('jdbc')
+ self.jaf = load_virtual('jaf')
def test_get_vms(self):
self.assertEqual(self.jaf.get_vms(), ['sun-jdk-1.6'])
+
+class TestMultiProviderVirtual(unittest.TestCase):
+
+ def setUp(self):
+ em.set_active_vm(em.get_vm('sun-jdk-1.6'))
+ self.jdbc = load_virtual('jdbc')
+ def test_classpath_multiple(self):
+ self.assertEqual( len(self.jdbc.classpath().split(':')), 2)
+
+ def test_invalid_vm_error(self):
+ em.set_active_vm(em.get_vm('ibm-jdk-bin-1.5'))
+ self.assertRaises( ProviderUnavailableError, self.jdbc.classpath )
+
if __name__ == '__main__':
unittest.main()
diff --git a/src/testsuite/packages/ant-cores/package.env b/src/testsuite/packages/ant-cores/package.env
index ab3b69e..ebda9b7 100644
--- a/src/testsuite/packages/ant-cores/package.env
+++ b/src/testsuite/packages/ant-cores/package.env
@@ -1,4 +1,4 @@
-DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files."
+DESCRIPTION="Description: ant-cores"
GENERATION="2"
SLOT="0"
CLASSPATH="/usr/share/ant-core/lib/ant.jar:/usr/share/ant-core/lib/ant-bootstrap.jar:/usr/share/ant-core/lib/ant-launcher.jar"
diff --git a/src/testsuite/packages/jdbc-mysql/package.env b/src/testsuite/packages/jdbc-mysql/package.env
new file mode 100644
index 0000000..4b10cef
--- /dev/null
+++ b/src/testsuite/packages/jdbc-mysql/package.env
@@ -0,0 +1,11 @@
+DESCRIPTION="MySQL JDBC driver"
+GENERATION="2"
+SLOT="0"
+CLASSPATH="/usr/share/jdbc-mysql/lib/jdbc-mysql.jar"
+DEPEND="commons-logging.jar@commons-logging:commons-logging-adapters.jar@commons-logging:commons-logging-api.jar@commons-logging:log4j.jar@log4j:c3p0.jar@c3p0"
+VM=">=virtual/jre-1.4"
+TARGET="1.4"
+SOURCE="1.4"
+JAVA_SOURCES="/usr/share/jdbc-mysql/sources//jdbc-mysql-src.zip"
+MERGE_VM="sun-jdk-1.5"
+MERGE_COMPILER="javac"
diff --git a/src/testsuite/packages/jdbc-postgresql/package.env b/src/testsuite/packages/jdbc-postgresql/package.env
new file mode 100644
index 0000000..2beb488
--- /dev/null
+++ b/src/testsuite/packages/jdbc-postgresql/package.env
@@ -0,0 +1,11 @@
+DESCRIPTION="JDBC Driver for PostgreSQL"
+GENERATION="2"
+SLOT="0"
+CLASSPATH="/usr/share/jdbc-postgresql/lib/jdbc-postgresql.jar"
+VM=">=virtual/jre-1.6"
+TARGET="1.5"
+SOURCE="1.5"
+JAVADOC_PATH="/usr/share/doc/jdbc-postgresql-8.3_p603-r1/html/api"
+JAVA_SOURCES="/usr/share/jdbc-postgresql/sources//jdbc-postgresql-src.zip"
+MERGE_VM="sun-jdk-1.5"
+MERGE_COMPILER="javac"