diff options
author | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2007-07-05 21:41:16 +0000 |
---|---|---|
committer | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2007-07-05 21:41:16 +0000 |
commit | b03f055da64b4bc24b0ccfc5a439827131016226 (patch) | |
tree | c2753cc1a2f25d6f2893ed6f7da36165ef85460a /test/junit/net/sf/antcontrib/cpptasks/types/TestLibrarySet.java | |
parent | a2085fd18c52730d5d85027b77cb4504d06f83c5 (diff) | |
download | cpptasks-parallel-b03f055da64b4bc24b0ccfc5a439827131016226.tar.gz cpptasks-parallel-b03f055da64b4bc24b0ccfc5a439827131016226.tar.bz2 cpptasks-parallel-b03f055da64b4bc24b0ccfc5a439827131016226.tar.xz cpptasks-parallel-b03f055da64b4bc24b0ccfc5a439827131016226.zip |
Updated extra files
Diffstat (limited to 'test/junit/net/sf/antcontrib/cpptasks/types/TestLibrarySet.java')
-rw-r--r-- | test/junit/net/sf/antcontrib/cpptasks/types/TestLibrarySet.java | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/test/junit/net/sf/antcontrib/cpptasks/types/TestLibrarySet.java b/test/junit/net/sf/antcontrib/cpptasks/types/TestLibrarySet.java deleted file mode 100644 index ce0d712..0000000 --- a/test/junit/net/sf/antcontrib/cpptasks/types/TestLibrarySet.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * - * 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.types; - -import java.io.File; -import java.io.IOException; - -import junit.framework.TestCase; -import net.sf.antcontrib.cpptasks.CUtil; -import net.sf.antcontrib.cpptasks.MockBuildListener; -import net.sf.antcontrib.cpptasks.MockFileCollector; -import net.sf.antcontrib.cpptasks.compiler.Linker; -import net.sf.antcontrib.cpptasks.devstudio.DevStudioLinker; -import net.sf.antcontrib.cpptasks.devstudio.DevStudioLibrarian; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Project; - -/** - * Tests for the LibrarySet class. - */ -public class TestLibrarySet - extends TestCase { - - /** - * Constructor. - * - * @param name - * test name - */ - public TestLibrarySet(final String name) { - super(name); - } - - /** - * Evaluate isActive when "if" specifies a property that is set. - */ - public final void testIsActive1() { - LibrarySet libset = new LibrarySet(); - Project project = new Project(); - project.setProperty("windows", ""); - libset.setProject(project); - libset.setIf("windows"); - CUtil.StringArrayBuilder libs = new CUtil.StringArrayBuilder("kernel32"); - libset.setLibs(libs); - boolean isActive = libset.isActive(project); - assertTrue(isActive); - } - - /** - * Evaluate isActive when "if" specifies a property whose value suggests the - * user thinks the value is significant. - * - */ - public final void testIsActive2() { - LibrarySet libset = new LibrarySet(); - Project project = new Project(); - // - // setting the value to false should throw - // exception to warn user that they are misusing if - // - project.setProperty("windows", "false"); - libset.setIf("windows"); - try { - boolean isActive = libset.isActive(project); - } catch (BuildException ex) { - return; - } - fail(); - } - - /** - * Evaluate isActive when "if" specifies a property that is not set. - */ - public final void testIsActive3() { - LibrarySet libset = new LibrarySet(); - Project project = new Project(); - libset.setIf("windows"); - boolean isActive = libset.isActive(project); - assertTrue(!isActive); - } - - /** - * Evaluate isActive when "unless" specifies a property that is set. - * - */ - public final void testIsActive4() { - LibrarySet libset = new LibrarySet(); - Project project = new Project(); - project.setProperty("windows", ""); - libset.setUnless("windows"); - boolean isActive = libset.isActive(project); - assertTrue(!isActive); - } - - /** - * Evaluate isActive when "unless" specifies a property whose value suggests - * the user thinks the value is significant. - * - */ - public final void testIsActive5() { - LibrarySet libset = new LibrarySet(); - Project project = new Project(); - // - // setting the value to false should throw - // exception to warn user that they are misusing if - // - project.setProperty("windows", "false"); - libset.setUnless("windows"); - try { - boolean isActive = libset.isActive(project); - } catch (BuildException ex) { - return; - } - fail(); - } - - /** - * Evaluate isActive when "unless" specifies a property that is not set. - */ - public final void testIsActive6() { - LibrarySet libset = new LibrarySet(); - Project project = new Project(); - libset.setProject(project); - libset.setUnless("windows"); - CUtil.StringArrayBuilder libs = new CUtil.StringArrayBuilder("kernel32"); - libset.setLibs(libs); - boolean isActive = libset.isActive(project); - assertTrue(isActive); - } - - /** - * The libs parameter should not end with .lib, .so, .a etc New behavior is - * to warn if it ends in a suspicious extension. - */ - public final void testLibContainsDot() { - LibrarySet libset = new LibrarySet(); - Project p = new Project(); - MockBuildListener listener = new MockBuildListener(); - p.addBuildListener(listener); - libset.setProject(p); - CUtil.StringArrayBuilder libs = new CUtil.StringArrayBuilder("mylib1.1"); - libset.setLibs(libs); - assertEquals(0, listener.getMessageLoggedEvents().size()); - } - - /** - * The libs parameter should not end with .lib, .so, .a etc however the - * previous test would cause a build exception for any library containing - * periods. Now logs warning message. - */ - public final void testLibContainsDotLib() { - LibrarySet libset = new LibrarySet(); - Project p = new Project(); - MockBuildListener listener = new MockBuildListener(); - p.addBuildListener(listener); - libset.setProject(p); - CUtil.StringArrayBuilder libs = new CUtil.StringArrayBuilder( - "mylib1.lib"); - libset.setLibs(libs); - assertEquals(1, listener.getMessageLoggedEvents().size()); - } - - /** - * Use of a libset or syslibset without a libs attribute should log a - * warning message. - */ - public final void testLibNotSpecified() { - LibrarySet libset = new LibrarySet(); - Project p = new Project(); - MockBuildListener listener = new MockBuildListener(); - p.addBuildListener(listener); - libset.setProject(p); - boolean isActive = libset.isActive(p); - assertEquals(false, isActive); - assertEquals(1, listener.getMessageLoggedEvents().size()); - } - - /** - * this threw an exception prior to 2002-09-05 and started to throw one - * again 2002-11-19 up to 2002-12-11. - */ - public final void testShortLibName() { - LibrarySet libset = new LibrarySet(); - CUtil.StringArrayBuilder libs = new CUtil.StringArrayBuilder("li"); - libset.setProject(new Project()); - libset.setLibs(libs); - } - - /** - * The libs parameter should not end with .lib, .so, .a etc however the - * previous test would cause a build exception for any library containing - * periods. Now logs warning message. - */ - public final void testStartsWithLib() { - LibrarySet libset = new LibrarySet(); - Project p = new Project(); - MockBuildListener listener = new MockBuildListener(); - p.addBuildListener(listener); - libset.setProject(p); - CUtil.StringArrayBuilder libs = new CUtil.StringArrayBuilder( - "libmylib1"); - libset.setLibs(libs); - assertEquals(1, listener.getMessageLoggedEvents().size()); - } - - /** - * This test creates two "fake" libraries in the temporary directory and - * check how many are visited. - * - * @param linker linker - * @param expected expected number of visited files - * @throws IOException - * if unable to write to temporary directory or delete temporary - * files - */ - public final void testVisitFiles(final Linker linker, - final int expected) - throws IOException { - LibrarySet libset = new LibrarySet(); - Project p = new Project(); - MockBuildListener listener = new MockBuildListener(); - p.addBuildListener(listener); - libset.setProject(p); - // - // create temporary files named cpptasksXXXXX.lib - // - File lib1 = File.createTempFile("cpptasks", ".lib"); - String lib1Name = lib1.getName(); - lib1Name = lib1Name.substring(0, lib1Name.indexOf(".lib")); - File lib2 = File.createTempFile("cpptasks", ".lib"); - File baseDir = lib1.getParentFile(); - - // set the dir attribute to the temporary directory - libset.setDir(baseDir); - // set libs to the file name without the suffix - CUtil.StringArrayBuilder libs = new CUtil.StringArrayBuilder(lib1Name); - libset.setLibs(libs); - - // - // collect all files visited - MockFileCollector collector = new MockFileCollector(); - libset.visitLibraries(p, linker, new File[0], collector); - - // - // get the canonical paths for the initial and visited libraries - String expectedCanonicalPath = lib1.getCanonicalPath(); - String actualCanonicalPath = null; - if (collector.size() == 1) { - actualCanonicalPath = new File(collector.getBaseDir(0), collector - .getFileName(0)).getCanonicalPath(); - } - // - // delete the temporary files - lib1.delete(); - lib2.delete(); - // was there only one match - assertEquals(expected, collector.size()); - if (expected == 1) { - // is its canonical path as expected - assertEquals(expectedCanonicalPath, actualCanonicalPath); - } - } - - /** - * Run testVisitFiles with the MSVC Linker - * expect one matching file. - * - * @throws IOException if unable to create or delete temporary file - */ - public final void testLinkerVisitFiles() throws IOException { - Linker linker = DevStudioLinker.getInstance(); - testVisitFiles(linker, 1); - } - - /** - * Run testVisitFiles with the MSVC Linker - * expect one matching file. - * - * @throws IOException if unable to create or delete temporary file - */ - public final void testLibrarianVisitFiles() throws IOException { - Linker linker = DevStudioLibrarian.getInstance(); - testVisitFiles(linker, 0); - } - -} |