How to use TeamCity TAP plugin?
Hello, I am having trouble getting started with the TAP plugin https://github.com/pavelsher/teamcity-tap-parser
I have verified it was install successfully because it is under "Administration" -> "Server Configurations" -> "Plugins" -> "External Plugins".
It says that it "watches for text output of the build and if TAP output is recognized (http://en.wikipedia.org/wiki/Test_Anything_Protocol) transforms it to TeamCity tests.".
So I had my script output TAP, which shows up in the "Build Log", but I don't know where to go from here. Is there supposed to be a UI that shows me the test results in a table?
Thanks,
Toby
Please sign in to leave a comment.
Hi Toby
The plugin should add new Tests tab to a build page.
Could you post a build log please.
I didn't see any "Tests" tab - maybe I missed a step somewhere. Here is what the "build log" looks like(I removed the middle part because there are lots of test output)
[08:41:06]: Skip checking for changes - there are no VCS roots defined
[08:41:06]: Clearing temporary directory: /usr/local/TeamCity/buildAgent/temp/buildTmp
[08:41:06]: Checkout directory: /usr/local/TeamCity/buildAgent/work/42121fce523648d0
[08:41:06]: Publishing internal artifacts
[08:41:07]: [Publishing internal artifacts] Sending build.start.properties.gz file
[08:41:06]: Starting: /usr/local/TeamCity/buildAgent/temp/agentTmp/custom_script9061160135981042986
[08:41:06]: in directory: /usr/local/TeamCity/buildAgent/work/42121fce523648d0
[08:41:07]: # Satellite emit should call _gaq.push.
[08:41:07]: ok 1 Satellite emit should call _gaq.push.
[08:41:07]: # Satellite data() should set and retrieve property.
[08:41:07]: ok 2 Satellite data() should set and retrieve property.
[08:41:07]: # Satellite execute() should call direct method if there.
[08:41:07]: ok 3 Satellite execute() should call direct method if there.
[08:41:07]: # Satellite execute() should call triggerCommand if no direct method.
[08:41:07]: ok 4 Satellite execute() should call triggerCommand if no direct method.
[08:41:07]: # Satellite execute() should do nothing if hideActivity.
[08:41:07]: ok 5 Satellite execute() should do nothing if hideActivity.
[08:41:07]: # Satellite execute() should allow an array for the tool property.
[08:41:07]: ok 6 Satellite execute() should allow an array for the tool property.
[08:41:07]: # Satellite execute() should trigger all tools of the same engine with the engine property.
[08:41:07]: ok 7 Satellite execute() should trigger all tools of the same engine with the engine property.
[08:41:07]: # Satellite ruleMatches should match when event type matches.
[08:41:07]: ok 8 Satellite ruleMatches should match when event type matches.
[08:41:07]: # Satellite ruleMatches should match by property.
[08:41:07]: ok 9 Satellite ruleMatches should match by property.
[08:41:07]: # Satellite ruleMatches should match by attribute.
[08:41:07]: ok 10 Satellite ruleMatches should match by attribute.
[08:41:07]: # Satellite ruleMatches should match only when all properties/attributes match.
[08:41:07]: ok 11 Satellite ruleMatches should match only when all properties/attributes match.
.
.
.
[08:41:41]: 1..274
[08:41:41]: # tests 274
[08:41:41]: # pass 273
[08:41:41]: # fail 1
[08:41:41]: Process exited with code 0
[08:41:42]: Publishing internal artifacts
[08:41:42]: [Publishing internal artifacts] Sending build.finish.properties.gz file
[08:41:42]: Build finished
Thank you.
Bump. Do we have an answer for this?
What finally worked for me was running the task as a shell script so I could echo "TAP version 13" before running whatever outputted the TAP results.
For example,
In the "Custom script" field, I entered:
echo "TAP version 13"
grunt testem:ci:spec
Then my results showed up in the "Tests" tab.
My environment was Ubuntu 12.04 and TeamCity 8.1.x.