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

4 comments
Comment actions Permalink

Hi Toby

The plugin should add new Tests tab to a build page.
Could you post a build log please.

0
Comment actions Permalink

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.

0
Comment actions Permalink

Bump.  Do we have an answer for this?

0
Comment actions Permalink

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,

  1. Add build step
  2. Set "Runner type" field as "Command Line"
  3. Set "Run" field as "Custom script"


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.

0

Please sign in to leave a comment.