diff options
author | Alistair Bush <ali_bush@gentoo.org> | 2009-02-24 10:54:42 +0000 |
---|---|---|
committer | Alistair Bush <ali_bush@gentoo.org> | 2009-02-24 10:54:42 +0000 |
commit | c178e2938db696a7efd2a2fed0bc383dd88d5f21 (patch) | |
tree | a2035a9d39eedcbfa5d72b43f9924c9ba5868d53 | |
parent | Remove commented out code and extra lines. (diff) | |
download | java-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.py | 19 | ||||
-rw-r--r-- | src/testsuite/Virtual.py | 27 | ||||
-rw-r--r-- | src/testsuite/packages/ant-cores/package.env | 2 | ||||
-rw-r--r-- | src/testsuite/packages/jdbc-mysql/package.env | 11 | ||||
-rw-r--r-- | src/testsuite/packages/jdbc-postgresql/package.env | 11 |
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" |