Package com.github.maven_nar.cpptasks

Examples of com.github.maven_nar.cpptasks.LinkerDef


  /**
   * Tests that the rebuild attribute in the base linker is effective when
   * creating the command line for a linker that extends it.
   */
  public void testExtendsRebuild() {
    testExtendsRebuild(new LinkerDef());
  }
View Full Code Here


  /**
   * Tests that the name attribute in the base linker is effective when
   * creating the command line for a linker that extends it.
   */
  public void testExtendsName() {
    LinkerDef baseLinker = new LinkerDef();
    setLinkerName(baseLinker, "msvc");
    LinkerDef extendedLinker = (LinkerDef) createExtendedProcessorDef(
        baseLinker);
    extendedLinker.setBase(new FlexLong("10000"));
    String[] preArgs = getPreArguments(extendedLinker);
    assertEquals("/NOLOGO", preArgs[0]);
    assertEquals("/SUBSYSTEM:WINDOWS", preArgs[1]);
    assertEquals("/INCREMENTAL:NO", preArgs[2]);
    assertEquals("/BASE:0x2710", preArgs[3]);
View Full Code Here

  /**
   * Tests that the classname attribute in the base linker is effective when
   * creating the command line for a linker that extends it.
   */
  public void testExtendsClassname() {
    LinkerDef baseLinker = new LinkerDef();
    baseLinker
        .setClassname("com.github.maven_nar.cpptasks.msvc.MsvcLinker");
    LinkerDef extendedLinker = (LinkerDef) createExtendedProcessorDef(
        baseLinker);
    extendedLinker.setBase(new FlexLong("10000"));
    String[] preArgs = getPreArguments(extendedLinker);
    assertEquals("/NOLOGO", preArgs[0]);
    assertEquals("/SUBSYSTEM:WINDOWS", preArgs[1]);
    assertEquals("/INCREMENTAL:NO", preArgs[2]);
    assertEquals("/BASE:0x2710", preArgs[3]);
View Full Code Here

   * Creates a processor.
   *
   * @return new linker
   */
  protected ProcessorDef create() {
    return new LinkerDef();
  }
View Full Code Here

  /**
   * Test if setting the classname attribute to the name of the GCC linker
   * results in the singleton GCC linker.
   */
  public void testGetGcc() {
    LinkerDef linkerDef = (LinkerDef) create();
    linkerDef.setClassname("com.github.maven_nar.cpptasks.gcc.GccLinker");
    Linker comp = (Linker) linkerDef.getProcessor();
    assertNotNull(comp);
    assertSame(GccLinker.getInstance(), comp);
  }
View Full Code Here

  /**
   * Test if setting the classname attribute to the name of the MSVC linker
   * results in the singleton MSVC linker.
   */
  public void testGetMSVC() {
    LinkerDef linkerDef = (LinkerDef) create();
    linkerDef
        .setClassname("com.github.maven_nar.cpptasks.devstudio.DevStudioLinker");
    Linker comp = (Linker) linkerDef.getProcessor();
    assertNotNull(comp);
    assertSame(DevStudioLinker.getInstance(), comp);
  }
View Full Code Here

   * Tests if setting the classname attribute to an bogus classname results in
   * a BuildException.
   *
   */
  public void testUnknownClass() {
    LinkerDef linkerDef = (LinkerDef) create();
    try {
      linkerDef
          .setClassname("com.github.maven_nar.cpptasks.bogus.BogusLinker");
    } catch (BuildException ex) {
      return;
    }
    fail("should have thrown exception");
View Full Code Here

   * Tests if setting the classname to the name of a class that doesn't
   * support Linker throws a BuildException.
   *
   */
  public void testWrongType() {
    LinkerDef linkerDef = (LinkerDef) create();
    try {
      linkerDef.setClassname("com.github.maven_nar.cpptasks.CCTask");
    } catch (ClassCastException ex) {
      return;
    }
    fail("should have thrown exception");
  }
View Full Code Here

  /**
   * Tests that linkerarg's that appear in the base linker are effective when
   * creating the command line for a linker that extends it.
   */
  public void testExtendsLinkerArgs() {
    LinkerDef baseLinker = new LinkerDef();
    LinkerArgument linkerArg = new LinkerArgument();
    linkerArg.setValue("/base");
    baseLinker.addConfiguredLinkerArg(linkerArg);
    LinkerDef extendedLinker = (LinkerDef) createExtendedProcessorDef(
        baseLinker);
    String[] preArgs = getPreArguments(extendedLinker);
    assertEquals(1, preArgs.length);
    assertEquals("/base", preArgs[0]);
  }
View Full Code Here

   * creating the command line for a linker that extends it, even if the
   * linker is brought in through a reference.
   */
  public void testExtendsLinkerArgsViaReference() {
    Project project = new Project();
    LinkerDef baseLinker = new LinkerDef();
    baseLinker.setProject(project);
    baseLinker.setId("base");
    project.addReference("base", baseLinker);
    LinkerArgument linkerArg = new LinkerArgument();
    linkerArg.setValue("/base");
    baseLinker.addConfiguredLinkerArg(linkerArg);

    LinkerDef extendedLinker = (LinkerDef) createExtendedProcessorDef(
        baseLinker);
    extendedLinker.setProject(project);
    extendedLinker.setId("extended");
    project.addReference("extended", extendedLinker);

    LinkerDef linkerRef = new LinkerDef();
    linkerRef.setProject(project);
    linkerRef.setRefid(new Reference(project, "extended"));
    String[] preArgs = getPreArguments(linkerRef);
    assertEquals(1, preArgs.length);
    assertEquals("/base", preArgs[0]);
  }
View Full Code Here

TOP

Related Classes of com.github.maven_nar.cpptasks.LinkerDef

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.