turns out that this has to do with datasources somehow.
you can trigger a slightly different error by putting the -ds file into META-INF.
then you get this:
[testng] [Parser] Running:
[testng] C:\workspace\SUPCockpit\src\de\nexum\supcockpit\ooxml\testng.xml
[testng] ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Real: name=vfsfile:/C:/workspace/SUPCockpit/test-build/ state=PostClassLoader mode=Manual requiredState=Real
[testng] org.jboss.deployment.DeploymentException: Error during install jboss.jca:service=ManagedConnectionFactory,name=supcockpitDatasource
[testng] at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:52)
[testng] at org.jboss.system.ServiceController.install(ServiceController.java:277)
[testng] at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:98)
[testng] at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
[testng] at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:65)
[testng] at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
[testng] at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169)
[testng] at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:853)
[testng] at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:874)
[testng] at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:906)
[testng] at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:794)
[testng] at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
[testng] at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
[testng] at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
[testng] at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
[testng] at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
[testng] at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
[testng] at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
[testng] at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:498)
[testng] at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:506)
[testng] at org.jboss.embedded.DeploymentGroup.process(DeploymentGroup.java:127)
[testng] at org.jboss.embedded.Bootstrap.deployResourceBases(Bootstrap.java:289)
[testng] at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:15)
[testng] at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1041)
[testng] at org.jboss.seam.mock.BaseSeamTest.startSeam(BaseSeamTest.java:935)
[testng] at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:923)
[testng] at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[testng] at java.lang.reflect.Method.invoke(Method.java:597)
[testng] at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
[testng] at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:394)
[testng] at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142)
[testng] at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:79)
[testng] at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:165)
[testng] at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:103)
[testng] at org.testng.TestRunner.runWorkers(TestRunner.java:678)
[testng] at org.testng.TestRunner.privateRun(TestRunner.java:624)
[testng] at org.testng.TestRunner.run(TestRunner.java:495)
[testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
[testng] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
[testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
[testng] at org.testng.SuiteRunner.run(SuiteRunner.java:190)
[testng] at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
[testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
[testng] at org.testng.TestNG.run(TestNG.java:699)
[testng] at org.testng.TestNG.privateMain(TestNG.java:824)
[testng] at org.testng.TestNG.main(TestNG.java:802)
[testng] Caused by: java.lang.IllegalStateException: jboss.jca:name=supcockpitDatasource,service=ManagedConnectionFactory is already installed.
[testng] at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:525)
[testng] at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:398)
[testng] at org.jboss.system.ServiceController.doInstall(ServiceController.java:641)
[testng] at org.jboss.system.ServiceController.install(ServiceController.java:271)
[testng] ... 47 more
[testng] FAILED CONFIGURATION: @BeforeClass init
[testng] org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
[testng] *** CONTEXTS IN ERROR: Name -> Error
[testng] vfsfile:/C:/workspace/SUPCockpit/test-build/ -> java.lang.IllegalStateException: jboss.jca:name=supcockpitDatasource,service=ManagedConnectionFactory is already installed.
[testng] at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:576)
[testng] at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:559)
[testng] at org.jboss.embedded.DeploymentGroup.process(DeploymentGroup.java:128)
[testng] at org.jboss.embedded.Bootstrap.deployResourceBases(Bootstrap.java:289)
[testng] at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:15)
[testng] at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1041)
[testng] at org.jboss.seam.mock.BaseSeamTest.startSeam(BaseSeamTest.java:935)
[testng] at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:923)
[testng] at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
[testng] ... Removed 22 stack frames
[testng] SKIPPED CONFIGURATION: @BeforeMethod begin
[testng] SKIPPED CONFIGURATION: @AfterMethod end
[testng] SKIPPED CONFIGURATION: @AfterClass cleanup
[testng] SKIPPED: testCreateDelete
[testng] ===============================================
[testng] de.nexum.supcockpit.utils.ConverterTest
[testng] Tests run: 1, Failures: 0, Skips: 1
[testng] Configuration Failures: 1, Skips: 3
[testng] ===============================================
[testng] ===============================================
[testng] SUPCockpit
[testng] Total tests run: 1, Failures: 0, Skips: 1
[testng] Configuration Failures: 1, Skips: 3
[testng] ===============================================
which is absolutely fascinating. now what to do next?
n.