{"id":17109731,"url":"https://github.com/bleargh45/tap-formatter-junit","last_synced_at":"2025-07-02T09:05:05.204Z","repository":{"id":40647319,"uuid":"327199280","full_name":"bleargh45/TAP-Formatter-JUnit","owner":"bleargh45","description":"Harness output delegate for JUnit output","archived":false,"fork":false,"pushed_at":"2025-02-06T01:02:11.000Z","size":167,"stargazers_count":3,"open_issues_count":11,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T03:40:18.390Z","etag":null,"topics":["junit","prove","test-anything-protocol"],"latest_commit_sha":null,"homepage":"https://metacpan.org/release/TAP-Formatter-JUnit/","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bleargh45.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-01-06T04:28:26.000Z","updated_at":"2025-02-06T01:02:13.000Z","dependencies_parsed_at":"2024-06-19T00:16:18.445Z","dependency_job_id":"14ec7b19-07e1-4115-bb28-47a8444a56d3","html_url":"https://github.com/bleargh45/TAP-Formatter-JUnit","commit_stats":{"total_commits":131,"total_committers":2,"mean_commits":65.5,"dds":0.007633587786259555,"last_synced_commit":"b3cc1805d826657630ec7d3696bd24d2bdfb67db"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/bleargh45/TAP-Formatter-JUnit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bleargh45%2FTAP-Formatter-JUnit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bleargh45%2FTAP-Formatter-JUnit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bleargh45%2FTAP-Formatter-JUnit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bleargh45%2FTAP-Formatter-JUnit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bleargh45","download_url":"https://codeload.github.com/bleargh45/TAP-Formatter-JUnit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bleargh45%2FTAP-Formatter-JUnit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263108810,"owners_count":23415005,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["junit","prove","test-anything-protocol"],"created_at":"2024-10-14T16:24:11.846Z","updated_at":"2025-07-02T09:05:05.175Z","avatar_url":"https://github.com/bleargh45.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\n\nTAP::Formatter::JUnit - Harness output delegate for JUnit output\n\n# SYNOPSIS\n\nOn the command line, with `prove`:\n\n```\n$ prove --formatter TAP::Formatter::JUnit ...\n```\n\nOr, in your own scripts:\n\n```perl\nuse TAP::Harness;\n\n# What TAP output did we save from a previous run, with\n# PERL_TEST_HARNESS_DUMP_TAP=tap/\nmy @tests = glob(\"tap/*.t\");\n\n# Convert the TAP to JUnit\nmy $harness = TAP::Harness-\u003enew( {\n    formatter_class =\u003e 'TAP::Formatter::JUnit',\n    merge =\u003e 1,\n} );\n$harness-\u003eruntests(@tests);\n```\n\n# DESCRIPTION\n\n**This code is currently in alpha state and is subject to change.**\n\n`TAP::Formatter::JUnit` provides JUnit output formatting for `TAP::Harness`.\n\nBy default (e.g. when run with `prove`), the _entire_ test suite is gathered\ntogether into a single JUnit XML document, which is then displayed on `STDOUT`.\nYou can, however, have individual JUnit XML files dumped for each individual\ntest, by setting `PERL_TEST_HARNESS_DUMP_TAP` to a directory that you would\nlike the JUnit XML dumped to.  Note, that this will **also** cause\n`TAP::Harness` to dump the original TAP output into that directory as well (but\nIMHO that's ok as you've now got the data in two parseable formats).\n\nTiming information is included in the JUnit XML, _if_ you specified `--timer`\nwhen you ran `prove`.\n\nIn standard use, a \"passing TODO\" is treated as failure conditions (and is\nreported as such in the generated JUnit).  If you wish to treat these as a\n\"pass\" and not a \"fail\" condition, setting `ALLOW_PASSING_TODOS` in your\nenvironment will turn these into pass conditions.\n\nThe JUnit output generated is partial to being grokked by Hudson\n([http://hudson.dev.java.net/](http://hudson.dev.java.net/)).  That's the build tool I'm using at the\nmoment and needed to be able to generate JUnit output for.\n\n# ATTRIBUTES\n\n- testsuites\n\n    List-ref of test suites that have been executed.\n\n- xml\n\n    An `XML::Generator` instance, to be used to generate XML output.\n\n# METHODS\n\n- open\\_test($test, $parser)\n\n    Over-ridden `open_test()` method.\n\n    Creates a `TAP::Formatter::JUnit::Session` session, instead of a console\n    formatter session.\n\n- summary()\n\n    Prints the summary report (in JUnit) after all tests are run.\n\n- add\\_testsuite($suite)\n\n    Adds the given XML test `$suite` to the list of test suites that we've\n    executed and need to summarize.\n\n# AUTHOR\n\nGraham TerMarsch \u003ccpan@howlingfrog.com\u003e\n\nMany thanks to Andy Armstrong and all those involved for the **fabulous** set of\ntests in `Test::Harness`; they became the basis for the unit tests here.\n\nOther thanks go out to those that have provided feedback, comments, or patches:\n\n```\nMark Aufflick\nJoe McMahon\nMichael Nachbaur\nMarc Abramowitz\nColin Robertson\nPhillip Kimmey\nDave Lambley\n```\n\n# COPYRIGHT\n\nCopyright 2008-2010, Graham TerMarsch.  All Rights Reserved.\n\nThis is free software; you can redistribute it and/or modify it under the same\nterms as Perl itself.\n\n# SEE ALSO\n\n- [TAP::Formatter::Console](https://metacpan.org/pod/TAP%3A%3AFormatter%3A%3AConsole)\n- [TAP::Formatter::JUnit::Session](https://metacpan.org/pod/TAP%3A%3AFormatter%3A%3AJUnit%3A%3ASession)\n- [Hudson home page](http://hudson.dev.java.net/)\n- [JUnitXSchema.xsd](http://jra1mw.cvs.cern.ch:8180/cgi-bin/jra1mw.cgi/org.glite.testing.unit/config/JUnitXSchema.xsd?view=markup\u0026content-type=text%2Fvnd.viewcvs-markup\u0026revision=HEAD)\n- [JUnit parsing in Bamboo](http://confluence.atlassian.com/display/BAMBOO/JUnit+parsing+in+Bamboo).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbleargh45%2Ftap-formatter-junit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbleargh45%2Ftap-formatter-junit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbleargh45%2Ftap-formatter-junit/lists"}