From 683d490074d93baa8a47db7ec43b7bd31145a12a Mon Sep 17 00:00:00 2001 From: Mark Donszelmann Date: Thu, 5 Nov 2009 23:00:15 +0100 Subject: Tar file expanded and committed --- .../sf/antcontrib/cpptasks/gcc/TestGccLinker.java | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/test/java/net/sf/antcontrib/cpptasks/gcc/TestGccLinker.java (limited to 'src/test/java/net/sf/antcontrib/cpptasks/gcc/TestGccLinker.java') diff --git a/src/test/java/net/sf/antcontrib/cpptasks/gcc/TestGccLinker.java b/src/test/java/net/sf/antcontrib/cpptasks/gcc/TestGccLinker.java new file mode 100644 index 0000000..84e8d57 --- /dev/null +++ b/src/test/java/net/sf/antcontrib/cpptasks/gcc/TestGccLinker.java @@ -0,0 +1,79 @@ +/* + * + * Copyright 2003-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.gcc; +import junit.framework.TestCase; +import net.sf.antcontrib.cpptasks.OutputTypeEnum; +import net.sf.antcontrib.cpptasks.compiler.LinkType; +import net.sf.antcontrib.cpptasks.compiler.Linker; +/** + * @author CurtA + */ +public class TestGccLinker extends TestCase { + private final String realOSName; + /** + * Constructor + * + * @param name test name + */ + public TestGccLinker(String name) { + super(name); + realOSName = System.getProperty("os.name"); + } + protected void tearDown() throws java.lang.Exception { + System.setProperty("os.name", realOSName); + } + public void testGetLinkerDarwinPlugin() { + System.setProperty("os.name", "Mac OS X"); + GccLinker linker = GccLinker.getInstance(); + OutputTypeEnum outputType = new OutputTypeEnum(); + outputType.setValue("plugin"); + LinkType linkType = new LinkType(); + linkType.setOutputType(outputType); + Linker pluginLinker = linker.getLinker(linkType); + assertEquals("libfoo.bundle", pluginLinker.getOutputFileNames("foo", null)[0]); + } + public void testGetLinkerDarwinShared() { + System.setProperty("os.name", "Mac OS X"); + GccLinker linker = GccLinker.getInstance(); + OutputTypeEnum outputType = new OutputTypeEnum(); + outputType.setValue("shared"); + LinkType linkType = new LinkType(); + linkType.setOutputType(outputType); + Linker sharedLinker = linker.getLinker(linkType); + assertEquals("libfoo.dylib", sharedLinker.getOutputFileNames("foo", null)[0]); + } + public void testGetLinkerNonDarwinPlugin() { + System.setProperty("os.name", "Microsoft Windows"); + GccLinker linker = GccLinker.getInstance(); + OutputTypeEnum outputType = new OutputTypeEnum(); + outputType.setValue("plugin"); + LinkType linkType = new LinkType(); + linkType.setOutputType(outputType); + Linker pluginLinker = linker.getLinker(linkType); + assertEquals("libfoo.so", pluginLinker.getOutputFileNames("foo", null)[0]); + } + public void testGetLinkerNonDarwinShared() { + System.setProperty("os.name", "Microsoft Windows"); + GccLinker linker = GccLinker.getInstance(); + OutputTypeEnum outputType = new OutputTypeEnum(); + outputType.setValue("shared"); + LinkType linkType = new LinkType(); + linkType.setOutputType(outputType); + Linker sharedLinker = linker.getLinker(linkType); + assertEquals("libfoo.so", sharedLinker.getOutputFileNames("foo", null)[0]); + } +} -- cgit v1.2.3