From 1381c87965ab669820a4a7b48c09aca026f5b478 Mon Sep 17 00:00:00 2001 From: Mark Donszelmann Date: Fri, 18 Nov 2005 21:02:34 +0000 Subject: --- .../sf/antcontrib/cpptasks/devstudio/CVS/Entries | 4 ++ .../antcontrib/cpptasks/devstudio/CVS/Repository | 1 + .../net/sf/antcontrib/cpptasks/devstudio/CVS/Root | 1 + .../cpptasks/devstudio/TestDevStudioLinker.java | 44 ++++++++++++++++ .../cpptasks/devstudio/TestInstalledDevStudio.java | 31 +++++++++++ .../devstudio/TestInstalledDevStudioLinker.java | 60 ++++++++++++++++++++++ 6 files changed, 141 insertions(+) create mode 100644 test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Entries create mode 100644 test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Repository create mode 100644 test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Root create mode 100644 test/junit/net/sf/antcontrib/cpptasks/devstudio/TestDevStudioLinker.java create mode 100644 test/junit/net/sf/antcontrib/cpptasks/devstudio/TestInstalledDevStudio.java create mode 100644 test/junit/net/sf/antcontrib/cpptasks/devstudio/TestInstalledDevStudioLinker.java (limited to 'test/junit/net/sf/antcontrib/cpptasks/devstudio') diff --git a/test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Entries b/test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Entries new file mode 100644 index 0000000..a84cfa7 --- /dev/null +++ b/test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Entries @@ -0,0 +1,4 @@ +/TestDevStudioLinker.java/1.10/Mon Apr 5 09:34:15 2004// +/TestInstalledDevStudio.java/1.6/Sat Feb 28 19:04:47 2004// +/TestInstalledDevStudioLinker.java/1.7/Sat Feb 28 19:04:47 2004// +D diff --git a/test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Repository b/test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Repository new file mode 100644 index 0000000..54d7855 --- /dev/null +++ b/test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Repository @@ -0,0 +1 @@ +cpptasks/test/junit/net/sf/antcontrib/cpptasks/devstudio diff --git a/test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Root b/test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Root new file mode 100644 index 0000000..1ac95cd --- /dev/null +++ b/test/junit/net/sf/antcontrib/cpptasks/devstudio/CVS/Root @@ -0,0 +1 @@ +:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ant-contrib diff --git a/test/junit/net/sf/antcontrib/cpptasks/devstudio/TestDevStudioLinker.java b/test/junit/net/sf/antcontrib/cpptasks/devstudio/TestDevStudioLinker.java new file mode 100644 index 0000000..7fdaabe --- /dev/null +++ b/test/junit/net/sf/antcontrib/cpptasks/devstudio/TestDevStudioLinker.java @@ -0,0 +1,44 @@ +/* + * + * Copyright 2002-2004 The Ant-Contrib project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package net.sf.antcontrib.cpptasks.devstudio; +import net.sf.antcontrib.cpptasks.compiler.AbstractProcessor; +import net.sf.antcontrib.cpptasks.compiler.TestAbstractLinker; +import org.apache.tools.ant.taskdefs.condition.Os; +/** + * Test for Microsoft Developer Studio linker + * + * Override create to test concrete compiler implementions + */ +public class TestDevStudioLinker extends TestAbstractLinker { + public TestDevStudioLinker(String name) { + super(name); + } + protected AbstractProcessor create() { + return DevStudioLinker.getInstance(); + } + public void testGetIdentfier() { + if (!Os.isFamily("windows")) { + return; + } + AbstractProcessor compiler = create(); + String id = compiler.getIdentifier(); + boolean hasMSLinker = ((id.indexOf("Microsoft") >= 0) && (id + .indexOf("Linker") >= 0)) + || id.indexOf("link") >= 0; + assertTrue(hasMSLinker); + } +} diff --git a/test/junit/net/sf/antcontrib/cpptasks/devstudio/TestInstalledDevStudio.java b/test/junit/net/sf/antcontrib/cpptasks/devstudio/TestInstalledDevStudio.java new file mode 100644 index 0000000..3e29c91 --- /dev/null +++ b/test/junit/net/sf/antcontrib/cpptasks/devstudio/TestInstalledDevStudio.java @@ -0,0 +1,31 @@ +/* + * + * Copyright 2002-2004 The Ant-Contrib project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package net.sf.antcontrib.cpptasks.devstudio; +import junit.framework.TestSuite; +/** + * Tests that depend on DevStudio being installed + * + */ +public class TestInstalledDevStudio extends TestSuite { + public static TestSuite suite() { + return new TestInstalledDevStudio("TestInstalledDevStudio"); + } + public TestInstalledDevStudio(String name) { + super(name); + addTestSuite(net.sf.antcontrib.cpptasks.devstudio.TestInstalledDevStudioLinker.class); + } +} diff --git a/test/junit/net/sf/antcontrib/cpptasks/devstudio/TestInstalledDevStudioLinker.java b/test/junit/net/sf/antcontrib/cpptasks/devstudio/TestInstalledDevStudioLinker.java new file mode 100644 index 0000000..07f1339 --- /dev/null +++ b/test/junit/net/sf/antcontrib/cpptasks/devstudio/TestInstalledDevStudioLinker.java @@ -0,0 +1,60 @@ +/* + * + * Copyright 2002-2004 The Ant-Contrib project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package net.sf.antcontrib.cpptasks.devstudio; + +import java.io.File; + + +/** + * Test for Microsoft Developer Studio linker + * + * Override create to test concrete compiler implementions + */ +public class TestInstalledDevStudioLinker extends TestDevStudioLinker +{ + public TestInstalledDevStudioLinker(String name) { + super(name); + } + + public void testGetLibraryPath() { + File[] libpath = DevStudioLinker.getInstance().getLibraryPath(); + // + // unless you tweak the library path + // it should have more thean three entries + assertTrue(libpath.length >= 2); + // + // check if these files can be found + // + String[] libnames = new String[] { "kernel32.lib", + "advapi32.lib", "msvcrt.lib", "mfc42.lib", "mfc70.lib" }; + boolean[] libfound = new boolean[libnames.length]; + for (int i = 0; i < libpath.length; i++) { + for (int j = 0; j < libnames.length; j++) { + File libfile = new File(libpath[i], libnames[j]); + if (libfile.exists()) { + libfound[j] = true; + } + } + } + assertTrue("kernel32 not found", libfound[0]); + assertTrue("advapi32 not found", libfound[1]); + assertTrue("msvcrt not found", libfound[2]); + if(!(libfound[3] || libfound[4])) { + fail("mfc42.lib or mfc70.lib not found"); + } + } +} -- cgit v1.2.3