-------------------------------------------------------------------------------
Test set: TestSuite
-------------------------------------------------------------------------------
Tests run: 123, Failures: 2, Errors: 0, Skipped: 4, Time elapsed: 1,554.257 sec <<< FAILURE!
testExtendedOptionsWithCustomizationScript(org.jclouds.bluelock.vcloud.zone01.features.BluelockVCloudZone01VmClientLiveTest)  Time elapsed: 169.644 sec  <<< FAILURE!
java.lang.AssertionError: expected:<cat > /root/foo.txt<<EOF
I '"love"' {asc|!}*&
EOF
> but was:<#!/bin/bash
if [ "$1" = "postcustomization" ]; then
  echo "post customization"
  touch /root/.postcustomization
  sleep 30
  #regenerate keys 
  /bin/rm /etc/ssh/ssh_host_*
  /usr/sbin/dpkg-reconfigure openssh-server
 echo "completed"
fi
cat > /root/foo.txt<<EOF
I '"love"' {asc|!}*&
EOF
>
	at org.testng.Assert.fail(Assert.java:89)
	at org.testng.Assert.failNotEquals(Assert.java:489)
	at org.testng.Assert.assertEquals(Assert.java:118)
	at org.testng.Assert.assertEquals(Assert.java:171)
	at org.testng.Assert.assertEquals(Assert.java:181)
	at org.jclouds.vcloud.features.VmClientLiveTest.checkApiOutput1_0_1(VmClientLiveTest.java:152)
	at org.jclouds.vcloud.features.VmClientLiveTest.checkApiOutput(VmClientLiveTest.java:140)
	at org.jclouds.vcloud.features.VmClientLiveTest.testExtendedOptionsWithCustomizationScript(VmClientLiveTest.java:118)
	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:691)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:883)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1208)
	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:758)
	at org.testng.TestRunner.run(TestRunner.java:613)
	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$CountDownLatchedRunnable.run(ThreadUtil.java:165)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
testReboot(org.jclouds.bluelock.vcloud.zone01.compute.BluelockVCloudZone01ComputeServiceLiveTest)  Time elapsed: 8.532 sec  <<< FAILURE!
java.lang.NullPointerException
	at org.jclouds.vcloud.compute.util.VCloudComputeUtils.toComputeOs(VCloudComputeUtils.java:57)
	at org.jclouds.vcloud.compute.util.VCloudComputeUtils.toComputeOs(VCloudComputeUtils.java:53)
	at org.jclouds.vcloud.compute.util.VCloudComputeUtils.toComputeOs(VCloudComputeUtils.java:47)
	at org.jclouds.vcloud.compute.functions.VAppToNodeMetadata.apply(VAppToNodeMetadata.java:78)
	at org.jclouds.vcloud.compute.functions.VAppToNodeMetadata.apply(VAppToNodeMetadata.java:51)
	at com.google.common.base.Functions$FunctionComposition.apply(Functions.java:205)
	at org.jclouds.compute.strategy.impl.AdaptingComputeServiceStrategies.getNode(AdaptingComputeServiceStrategies.java:116)
	at org.jclouds.compute.strategy.impl.AdaptingComputeServiceStrategies.rebootNode(AdaptingComputeServiceStrategies.java:122)
	at org.jclouds.compute.internal.BaseComputeService.rebootNode(BaseComputeService.java:386)
	at org.jclouds.compute.internal.BaseComputeService$3.apply(BaseComputeService.java:402)
	at org.jclouds.compute.internal.BaseComputeService$3.apply(BaseComputeService.java:398)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:97)
	at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:85)
	at org.jclouds.compute.internal.BaseComputeService.rebootNodesMatching(BaseComputeService.java:397)
	at org.jclouds.compute.BaseComputeServiceLiveTest.testReboot(BaseComputeServiceLiveTest.java:498)
	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:691)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:883)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1208)
	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:758)
	at org.testng.TestRunner.run(TestRunner.java:613)
	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$CountDownLatchedRunnable.run(ThreadUtil.java:165)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
