[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:cloudsigma-zrh:bundle:1.6.0-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.6.0-SNAPSHOT (/private/tmp/jclouds/project/pom.xml) points at org.jclouds:jclouds-multi instead of org.sonatype.oss:oss-parent, please verify your project structure @ org.jclouds:jclouds-project:1.6.0-SNAPSHOT, /private/tmp/jclouds/project/pom.xml, line 24, column 13
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building jclouds CloudSigma provider 1.6.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ cloudsigma-zrh ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-maven) @ cloudsigma-zrh ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-banned-dependencies) @ cloudsigma-zrh ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-java) @ cloudsigma-zrh ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.4:process (process-remote-resources) @ cloudsigma-zrh ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ cloudsigma-zrh ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /private/tmp/jclouds/providers/cloudsigma-zrh/src/main/clojure
[INFO] Copying 1 resource
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ cloudsigma-zrh ---
[INFO] Compiling 1 source file to /private/tmp/jclouds/providers/cloudsigma-zrh/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ cloudsigma-zrh ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /private/tmp/jclouds/providers/cloudsigma-zrh/src/test/clojure
[INFO] skip non existing resourceDirectory /private/tmp/jclouds/providers/cloudsigma-zrh/src/test/resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ cloudsigma-zrh ---
[INFO] Compiling 4 source files to /private/tmp/jclouds/providers/cloudsigma-zrh/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ cloudsigma-zrh ---
[INFO] Surefire report directory: /private/tmp/jclouds/providers/cloudsigma-zrh/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jclouds.cloudsigma.CloudSigmaZurichProviderTest
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@5a77a7f9
Starting test testOfApiContains(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest)
Starting test testWithId(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest)
Starting test testTransformableToContains(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest)
Starting test testAllContains(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest)
[pool-1-thread-1] Test testAllContains(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest) succeeded: 12ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-1-thread-2] Test testOfApiContains(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest) succeeded: 16ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-1-thread-3] Test testTransformableToContains(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest) succeeded: 17ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-1-thread-4] Test testWithId(org.jclouds.cloudsigma.CloudSigmaZurichProviderTest) succeeded: 18ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.506 sec

Results :

Tests run: 4, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-bundle-plugin:2.3.7:bundle (default-bundle) @ cloudsigma-zrh ---
[WARNING] Bundle org.jclouds.provider:cloudsigma-zrh:bundle:1.6.0-SNAPSHOT : Split package org/jclouds/cloudsigma
Use directive -split-package:=(merge-first|merge-last|error|first) on Export/Private Package instruction to get rid of this warning
Package found in   [Jar:., Jar:cloudsigma]
Reference from     /Users/adrianc/.m2/repository/org/jclouds/api/cloudsigma/1.6.0-SNAPSHOT/cloudsigma-1.6.0-SNAPSHOT.jar
Classpath          [Jar:., Jar:cloudsigma, Jar:jclouds-compute, Jar:jsr311-api, Jar:guice-assistedinject, Jar:guice, Jar:aopalliance, Jar:rocoto, Jar:javax.inject, Jar:jsr250-api, Jar:gson, Jar:guava, Jar:jclouds-scriptbuilder, Jar:jclouds-core, Jar:clojure, Jar:tools.logging, Jar:core.incubator]
[INFO] 
[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ cloudsigma-zrh ---
[INFO] Building jar: /private/tmp/jclouds/providers/cloudsigma-zrh/target/cloudsigma-zrh-1.6.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (integration) @ cloudsigma-zrh ---
[INFO] Surefire report directory: /private/tmp/jclouds/providers/cloudsigma-zrh/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@68861f24
Starting test testCompareSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
Starting test setServiceDefaults(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test setServiceDefaults(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testCompareSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testCompareSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 210081ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testCorrectExceptionRunningNodesNotFound(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
smallest {id=cpu=1000.000000,ram=512,disk=10.000000, providerId=cpu=1000.000000,ram=512,disk=10.000000, processors=[{cores=1.0, speed=1000.0}], ram=512, volumes=[{type=LOCAL, size=10.0, bootDevice=true, durable=true}], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(10.0)}
fastest {id=cpu=20000.000000,ram=512,disk=200.000000, providerId=cpu=20000.000000,ram=512,disk=200.000000, processors=[{cores=1.0, speed=20000.0}], ram=512, volumes=[{type=LOCAL, size=200.0, bootDevice=true, durable=true}], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(200.0)}
biggest {id=cpu=20000.000000,ram=32768,disk=200.000000, providerId=cpu=20000.000000,ram=32768,disk=200.000000, processors=[{cores=1.0, speed=20000.0}], ram=32768, volumes=[{type=LOCAL, size=200.0, bootDevice=true, durable=true}], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(200.0)}
[TestNG] Test testCompareSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 210747ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testFromTemplate(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testFromTemplate(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 18ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testGetAssignableLocations(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 5, failed: 1, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 6, failed: 1, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 7, failed: 1, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 8, failed: 1, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 9, failed: 1, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 10, failed: 1, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 11, failed: 1, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 11, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 12, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 13, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 14, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 15, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 9ms
Test suite progress: tests succeeded: 16, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 17, failed: 2, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 17, failed: 3, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 18, failed: 3, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 19, failed: 3, skipped: 0.
Starting test testTemplateBuilderCanUseImageId(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testCorrectExceptionRunningNodesNotFound(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1054ms
Test suite progress: tests succeeded: 20, failed: 3, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testGetAssignableLocations(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 21, failed: 3, skipped: 0.
Starting test testImageById(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testImageById(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1043ms
Test suite progress: tests succeeded: 22, failed: 3, skipped: 0.
Starting test testImagesCache(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testImagesCache(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 23, failed: 3, skipped: 0.
Starting test testListImages(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testListImages(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 24, failed: 3, skipped: 0.
Starting test testListSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testListSizes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 25, failed: 3, skipped: 0.
Starting test testOptionToNotBlock(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testOptionToNotBlock(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 26, failed: 3, skipped: 0.
Starting test testCreateAndRunAService(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
Starting test testCreateAndDestroyVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testCreateAndDestroyVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) failed.
Test suite progress: tests succeeded: 26, failed: 4, skipped: 0.
Starting test testCreateDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testCreateDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 13311ms
Test suite progress: tests succeeded: 27, failed: 4, skipped: 0.
Starting test testGetDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
Fedora 15 Linux 64bit Preinstalled System with Automated SSH Access
Windows Web Server 2008 R2 64bit English with VirtIO support
Ubuntu 11.04 Desktop Edition Linux 64bit Preinstalled System pub
Windows Server Standard 2008 R2 64bit English
Centos 6.2 Linux 64bit Preinstalled System with automated SSH Access and VirtIO enabled
Windows Server Standard 2008 R2 64bit English
Windows Server 2008 Standard R2 SP1 64bit English with VirtIO and sysprep pub
CernVM batch-node 2.5.1-3-1 x86_64 Pre-install System
CernVM batch-node 2.4.0-1.1-1 x86_64 Pre-installed System
CentOS 6.1 64bit minimal Preinstalled System with Automated SSH Access and VirtIO enabled
Ubuntu 10.04 Linux Server Edition 64bit Preinstalled System with Automated SSH Access
CernVM basic 2.5.1-3-1 x86_64 Pre-installed System
CernVM basic 2.4.0-1.1-1 x86_64 Pre-installed System
CernVM desktop 2.4.0-1.1-1 x86_64 Pre-installed System
Ubuntu 12.04 Desktop Edition Linux 32bit Preinstalled System with Automated SSH Access and VirtIO enabled
CernVM head-node 2.5.1-3-1 x86_64 Pe-installed System
Ubuntu 10.04 LTS Server 32bit Preinstalled System and VirtIO enabled
CentOS 5.7 Linux 64bit Preinstalled System with Automated SSH Access and VirtIO enabled pub
stackato-new pub
Ubuntu 10.4.3 LTS Linux Server Edition 32bit Preinstalled System with automated SSH Access and VirtIO enabled
Windows Server 2008 Standard 32bit English
Ubuntu 10.04.4 LTS Linux Server Edition 64bit Preinstalled System with automated SSH and VirtIO enabled
CernVM head-node 2.4.0-1.1-1 x86_64 Pre-installed System
Ubuntu 10.04 Linux Server Edition 64bit Preinstalled System with automated SSH Access
CernVM desktop 2.5.1-3-1 x86_64 Pre-installed System
Slackware 13.37 32bit pub
halon-vsp-2.3.4
CentOS 6.0 Linux 64bit Preinstalled System with Automated SSH Access and VirtIO enabled
Ubuntu 10.04 Linux Server Edition 64bit Preinstalled System with automated SSH Access and VirtIO enabled
Ubuntu 11.04 Linux Server Edition 64bit Preinstalled System with Automated SSH Access and VirtIO enabled
SQL Server Standard 2008 R2 - Windows Server Standard 2008 R2 - 64bit English and VirtIO enabled
Ubuntu 12.04 Linux Server Edition 64bit Preinstalled System with Automated SSH Access and VirtIO enabled
SmartPay pub
Oracle Solaris 11 Express Preinstalled System pub
stackato-new pub
Windows Server 2008 Standard 32bit English
Debian 6.0 No X Minimal Linux 64bit Preinstalled System and VirtIO enabled
Ubuntu 10.4.3 LTS Linux Server Edition 64bit Preinstalled System with automated SSH Access and VirtIO enabled
Ubuntu 11.10 Desktop Edition Linux 32bit Preinstalled System with Automated SSH Access and VirtIO enabled
Windows Server 2008 Standard 32bit English with VirtIO support
Windows SQL Server 2008 R2 Web Edition 64bit English with VirtIO support
[TestNG] Test testTemplateBuilderCanUseImageId(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 222202ms
Test suite progress: tests succeeded: 28, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 29, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 30, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 31, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 32, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 33, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 34, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 35, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 36, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 37, failed: 4, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 37, failed: 5, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 38, failed: 5, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 38, failed: 6, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 39, failed: 6, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 40, failed: 6, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 41, failed: 6, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 42, failed: 6, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 43, failed: 6, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 44, failed: 6, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 44, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 45, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 46, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 47, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 48, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 49, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 50, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 51, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 52, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 53, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 54, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 55, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 56, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 57, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 58, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 59, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 60, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 61, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 62, failed: 7, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 62, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 63, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 64, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 65, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 66, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 67, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 68, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 69, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 70, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 71, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 72, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 73, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 74, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 75, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 76, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 77, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 78, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 79, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 80, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 81, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 82, failed: 8, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 82, failed: 9, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 83, failed: 9, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 84, failed: 9, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 85, failed: 9, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 85, failed: 10, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 86, failed: 10, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 87, failed: 10, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 88, failed: 10, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 89, failed: 10, skipped: 0.
Starting test testTemplateBuilderWithImageIdSpecified(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
FreeBSD 9.0 Preinstalled System and VirtIO enabled
Centos 5.7 Linux 64bit Preinstalled System with automated SSH Access
Fedora 17 Linux 64bit Preinstalled System with SSH and VirtIO support
Windows Server 2003 Standard 64bit English
[TestNG] Test testGetDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 225372ms
Test suite progress: tests succeeded: 90, failed: 10, skipped: 0.
Starting test testGetProfileInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testGetProfileInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1070ms
Test suite progress: tests succeeded: 91, failed: 10, skipped: 0.
Starting test testGetServer(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testGetServer(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 2226ms
Test suite progress: tests succeeded: 92, failed: 10, skipped: 0.
Starting test testGetStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testGetStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 10883ms
Test suite progress: tests succeeded: 93, failed: 10, skipped: 0.
Starting test testGetVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testGetVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1314ms
Test suite progress: tests succeeded: 94, failed: 10, skipped: 0.
Starting test testListDriveInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListDriveInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1135ms
Test suite progress: tests succeeded: 95, failed: 10, skipped: 0.
Starting test testListDrives(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListDrives(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1073ms
Test suite progress: tests succeeded: 96, failed: 10, skipped: 0.
Starting test testListServerInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListServerInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1041ms
Test suite progress: tests succeeded: 97, failed: 10, skipped: 0.
Starting test testListServers(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListServers(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 993ms
Test suite progress: tests succeeded: 98, failed: 10, skipped: 0.
Starting test testListStandardCds(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListStandardCds(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1060ms
Test suite progress: tests succeeded: 99, failed: 10, skipped: 0.
Starting test testListStandardDrives(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListStandardDrives(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1123ms
Test suite progress: tests succeeded: 100, failed: 10, skipped: 0.
Starting test testListStandardImages(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListStandardImages(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1212ms
Test suite progress: tests succeeded: 101, failed: 10, skipped: 0.
Starting test testListStaticIPInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListStaticIPInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1023ms
Test suite progress: tests succeeded: 102, failed: 10, skipped: 0.
Starting test testListStaticIPs(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListStaticIPs(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1052ms
Test suite progress: tests succeeded: 103, failed: 10, skipped: 0.
Starting test testListVLANInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListVLANInfo(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1433ms
Test suite progress: tests succeeded: 104, failed: 10, skipped: 0.
Starting test testListVLANs(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testListVLANs(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1254ms
Test suite progress: tests succeeded: 105, failed: 10, skipped: 0.
Starting test testSetDriveData(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testSetDriveData(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) succeeded: 1505ms
Test suite progress: tests succeeded: 106, failed: 10, skipped: 0.
Starting test testCreateAndDestroyStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)
[TestNG] Test testCreateAndDestroyStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) failed.
Test suite progress: tests succeeded: 106, failed: 11, skipped: 0.
[TestNG] Test testCreateAndStartServer(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 11, skipped: 1.
[TestNG] Test testConnectivity(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 11, skipped: 2.
[TestNG] Test testLifeCycle(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 11, skipped: 3.
[TestNG] Test testSetServerConfiguration(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 11, skipped: 4.
[TestNG] Test testDestroyServer(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 11, skipped: 5.
[TestNG] Test testDestroyDrive(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest) skipped.
Test suite progress: tests succeeded: 106, failed: 11, skipped: 6.
[TestNG] Test testCreateAndRunAService(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 354490ms
Test suite progress: tests succeeded: 107, failed: 11, skipped: 6.
Starting test testCorrectAuthException(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testCorrectAuthException(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1179ms
Test suite progress: tests succeeded: 108, failed: 11, skipped: 6.
Starting test testStartNodeWithSSD(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testStartNodeWithSSD(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 162782ms
Test suite progress: tests succeeded: 109, failed: 11, skipped: 6.
Starting test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testTemplateBuilderWithImageIdSpecified(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 455014ms
Test suite progress: tests succeeded: 110, failed: 11, skipped: 6.
Starting test testTemplateBuilderWithLoginUserSpecified(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 307963ms
Test suite progress: tests succeeded: 111, failed: 11, skipped: 6.
Starting test testConcurrentUseOfComputeServiceToCreateNodes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testConcurrentUseOfComputeServiceToCreateNodes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 241098ms
Test suite progress: tests succeeded: 112, failed: 11, skipped: 6.
Starting test testTemplateMatch(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testTemplateMatch(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 113, failed: 11, skipped: 6.
Starting test testCreateTwoNodesWithRunScript(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testTemplateBuilderWithLoginUserSpecified(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) succeeded: 467012ms
Test suite progress: tests succeeded: 114, failed: 11, skipped: 6.
Starting test testDefaultTemplateBuilder(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)
[TestNG] Test testDefaultTemplateBuilder(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest) failed.
Test suite progress: tests succeeded: 114, failed: 12, skipped: 6.
[TestNG] Test testCreateTwoNodesWithRunScript(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 271536ms
Test suite progress: tests succeeded: 115, failed: 12, skipped: 6.
Starting test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 437633ms
Test suite progress: tests succeeded: 116, failed: 12, skipped: 6.
Starting test testCredentialsCache(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testCredentialsCache(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 92ms
Test suite progress: tests succeeded: 117, failed: 12, skipped: 6.
Starting test testGet(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testGet(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 245177ms
Test suite progress: tests succeeded: 118, failed: 12, skipped: 6.
Starting test testReboot(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testReboot(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 15933ms
Test suite progress: tests succeeded: 119, failed: 12, skipped: 6.
Starting test testSuspendResume(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testSuspendResume(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 87767ms
Test suite progress: tests succeeded: 120, failed: 12, skipped: 6.
Starting test testGetNodesWithDetails(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testGetNodesWithDetails(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1045ms
Test suite progress: tests succeeded: 121, failed: 12, skipped: 6.
Starting test testListNodes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testListNodes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1216ms
Test suite progress: tests succeeded: 122, failed: 12, skipped: 6.
Starting test testListNodesByIds(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testListNodesByIds(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 1334ms
Test suite progress: tests succeeded: 123, failed: 12, skipped: 6.
Starting test testDestroyNodes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest)
[TestNG] Test testDestroyNodes(org.jclouds.cloudsigma.compute.CloudSigmaZurichComputeServiceLiveTest) succeeded: 24264ms
Test suite progress: tests succeeded: 124, failed: 12, skipped: 6.
Tests run: 142, Failures: 12, Errors: 0, Skipped: 6, Time elapsed: 2,370.994 sec <<< FAILURE!
testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)  Time elapsed: 0.004 sec  <<< FAILURE!
java.util.NoSuchElementException: no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(windows),osVersion(^2003$),os64Bit(false)))
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.throwNoSuchElementExceptionAfterLoggingImageIds(TemplateBuilderImpl.java:723)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.findSupportedImages(TemplateBuilderImpl.java:697)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:679)
	at org.jclouds.compute.internal.BaseTemplateBuilderLiveTest.testTemplateBuilderCanFind(BaseTemplateBuilderLiveTest.java:141)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
java.util.NoSuchElementException: no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osVersion(^10.10$),os64Bit(true)))
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.throwNoSuchElementExceptionAfterLoggingImageIds(TemplateBuilderImpl.java:723)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.findSupportedImages(TemplateBuilderImpl.java:697)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:679)
	at org.jclouds.compute.internal.BaseTemplateBuilderLiveTest.testTemplateBuilderCanFind(BaseTemplateBuilderLiveTest.java:141)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)  Time elapsed: 0.002 sec  <<< FAILURE!
java.util.NoSuchElementException: no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osVersion(^11.04$),os64Bit(false)))
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.throwNoSuchElementExceptionAfterLoggingImageIds(TemplateBuilderImpl.java:723)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.findSupportedImages(TemplateBuilderImpl.java:697)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:679)
	at org.jclouds.compute.internal.BaseTemplateBuilderLiveTest.testTemplateBuilderCanFind(BaseTemplateBuilderLiveTest.java:141)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testCreateAndDestroyVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)  Time elapsed: 1.019 sec  <<< FAILURE!
java.lang.IllegalArgumentException: errors:system VLAN could not be created as you do not have a current unused VLAN subscription. Please purchase an additional VLAN subscription then try again.
	at org.jclouds.cloudsigma.handlers.CloudSigmaErrorHandler.handleError(CloudSigmaErrorHandler.java:69)
	at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:69)
	at org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:182)
	at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:152)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:133)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:99)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:60)
	at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:159)
	at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:126)
	at com.sun.proxy.$Proxy57.createVLAN(Unknown Source)
	at org.jclouds.cloudsigma.CloudSigmaClientLiveTest.testCreateAndDestroyVLAN(CloudSigmaClientLiveTest.java:242)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)
Caused by: org.jclouds.http.HttpResponseException: command: POST https://api.zrh.cloudsigma.com/resources/vlan/create HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [errors:system VLAN could not be created as you do not have a current unused VLAN subscription. Please purchase an additional VLAN subscription then try again.]
	at org.jclouds.cloudsigma.handlers.CloudSigmaErrorHandler.handleError(CloudSigmaErrorHandler.java:56)
	... 31 more
Caused by: org.jclouds.http.HttpResponseException: command: POST https://api.zrh.cloudsigma.com/resources/vlan/create HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [errors:system VLAN could not be created as you do not have a current unused VLAN subscription. Please purchase an additional VLAN subscription then try again.]
	at org.jclouds.cloudsigma.handlers.CloudSigmaErrorHandler.handleError(CloudSigmaErrorHandler.java:56)
	... 31 more

testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
org.testng.TestException: 
Method BaseTemplateBuilderLiveTest.testTemplateBuilderCannotFind(org.jclouds.compute.domain.OsFamilyVersion64Bit)[pri:0, instance:org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest@254e8cee] should have thrown an exception of class java.util.NoSuchElementException
	at org.testng.internal.Invoker.handleInvocationResults(Invoker.java:1512)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:754)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
org.testng.TestException: 
Method BaseTemplateBuilderLiveTest.testTemplateBuilderCannotFind(org.jclouds.compute.domain.OsFamilyVersion64Bit)[pri:0, instance:org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest@254e8cee] should have thrown an exception of class java.util.NoSuchElementException
	at org.testng.internal.Invoker.handleInvocationResults(Invoker.java:1512)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:754)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
org.testng.TestException: 
Method BaseTemplateBuilderLiveTest.testTemplateBuilderCannotFind(org.jclouds.compute.domain.OsFamilyVersion64Bit)[pri:0, instance:org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest@254e8cee] should have thrown an exception of class java.util.NoSuchElementException
	at org.testng.internal.Invoker.handleInvocationResults(Invoker.java:1512)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:754)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)  Time elapsed: 0.002 sec  <<< FAILURE!
org.testng.TestException: 
Method BaseTemplateBuilderLiveTest.testTemplateBuilderCannotFind(org.jclouds.compute.domain.OsFamilyVersion64Bit)[pri:0, instance:org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest@254e8cee] should have thrown an exception of class java.util.NoSuchElementException
	at org.testng.internal.Invoker.handleInvocationResults(Invoker.java:1512)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:754)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
org.testng.TestException: 
Method BaseTemplateBuilderLiveTest.testTemplateBuilderCannotFind(org.jclouds.compute.domain.OsFamilyVersion64Bit)[pri:0, instance:org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest@254e8cee] should have thrown an exception of class java.util.NoSuchElementException
	at org.testng.internal.Invoker.handleInvocationResults(Invoker.java:1512)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:754)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
org.testng.TestException: 
Method BaseTemplateBuilderLiveTest.testTemplateBuilderCannotFind(org.jclouds.compute.domain.OsFamilyVersion64Bit)[pri:0, instance:org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest@254e8cee] should have thrown an exception of class java.util.NoSuchElementException
	at org.testng.internal.Invoker.handleInvocationResults(Invoker.java:1512)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:754)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testCreateAndDestroyStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest)  Time elapsed: 0.992 sec  <<< FAILURE!
java.lang.IllegalArgumentException: errors:system IP address could not be created as you do not have a current unused static IP address subscription. Please purchase an additional static IP address subscription then try again.
	at org.jclouds.cloudsigma.handlers.CloudSigmaErrorHandler.handleError(CloudSigmaErrorHandler.java:69)
	at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:69)
	at org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:182)
	at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:152)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:133)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:99)
	at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:60)
	at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:159)
	at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:126)
	at com.sun.proxy.$Proxy57.createStaticIP(Unknown Source)
	at org.jclouds.cloudsigma.CloudSigmaClientLiveTest.testCreateAndDestroyStaticIP(CloudSigmaClientLiveTest.java:258)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)
Caused by: org.jclouds.http.HttpResponseException: command: POST https://api.zrh.cloudsigma.com/resources/ip/create HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [errors:system IP address could not be created as you do not have a current unused static IP address subscription. Please purchase an additional static IP address subscription then try again.]
	at org.jclouds.cloudsigma.handlers.CloudSigmaErrorHandler.handleError(CloudSigmaErrorHandler.java:56)
	... 31 more
Caused by: org.jclouds.http.HttpResponseException: command: POST https://api.zrh.cloudsigma.com/resources/ip/create HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [errors:system IP address could not be created as you do not have a current unused static IP address subscription. Please purchase an additional static IP address subscription then try again.]
	at org.jclouds.cloudsigma.handlers.CloudSigmaErrorHandler.handleError(CloudSigmaErrorHandler.java:56)
	... 31 more

testDefaultTemplateBuilder(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest)  Time elapsed: 1.245 sec  <<< FAILURE!
java.lang.AssertionError: expected [] but found [11.04]
	at org.testng.Assert.fail(Assert.java:94)
	at org.testng.Assert.failNotEquals(Assert.java:494)
	at org.testng.Assert.assertEquals(Assert.java:123)
	at org.testng.Assert.assertEquals(Assert.java:176)
	at org.testng.Assert.assertEquals(Assert.java:186)
	at org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest.testDefaultTemplateBuilder(CloudSigmaZurichTemplateBuilderLiveTest.java:76)


Results :

Failed tests:   testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(windows),osVersion(^2003$),os64Bit(false)))
  testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osVersion(^10.10$),os64Bit(true)))
  testTemplateBuilderCanFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): no image matched predicate: And(nullEqualToIsParentOrIsGrandparentOfCurrentLocation(),And(osFamily(ubuntu),osVersion(^11.04$),os64Bit(false)))
  testCreateAndDestroyVLAN(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest): errors:system VLAN could not be created as you do not have a current unused VLAN subscription. Please purchase an additional VLAN subscription then try again.
  testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): (..)
  testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): (..)
  testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): (..)
  testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): (..)
  testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): (..)
  testTemplateBuilderCannotFind(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): (..)
  testCreateAndDestroyStaticIP(org.jclouds.cloudsigma.CloudSigmaZurichClientLiveTest): errors:system IP address could not be created as you do not have a current unused static IP address subscription. Please purchase an additional static IP address subscription then try again.
  testDefaultTemplateBuilder(org.jclouds.cloudsigma.compute.CloudSigmaZurichTemplateBuilderLiveTest): expected [] but found [11.04]

Tests run: 142, Failures: 12, Errors: 0, Skipped: 6

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 39:36.625s
[INFO] Finished at: Sat Apr 27 16:26:49 PDT 2013
[INFO] Final Memory: 18M/125M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (integration) on project cloudsigma-zrh: There are test failures.
[ERROR] 
[ERROR] Please refer to /private/tmp/jclouds/providers/cloudsigma-zrh/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
