{ "info": { "author": "Juan Pablo Samper", "author_email": "jp.samper@apex.ai", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Plugins", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX", "Programming Language :: Python", "Topic :: Software Development :: Build Tools" ], "description": "colcon-lcov-result\n==================\n\nAn extension for `colcon-core `_ to provide aggregate\ncoverage results using `LCOV `_.\n\nLCOV is a graphical front-end for GCC's coverage testing tool\n`gcov `_, producing the following\ncoverage metrics:\n\n- Statement coverage\n- Function coverage\n- Branch coverage\n\nFor more information, see `this paper\n`_\nand `this Wikipedia page `_.\n\n\nUsage\n=====\n#. Build your packages with coverage flags, using ``colcon``:\n\n .. code-block:: shell\n\n $ colcon build \\\n --symlink-install \\\n --cmake-args \\\n -DCMAKE_CXX_FLAGS='-fprofile-arcs -ftest-coverage' \\\n -DCMAKE_C_FLAGS='-fprofile-arcs -ftest-coverage'\n\n * See also `colcon-mixin `_ and \n `colcon-mixin-repository `_\n for a short-hand command (``--mixin coverage-gcc``)\n\n#. Create a baseline for zero coverage:\n\n .. code-block:: shell\n\n $ colcon lcov-result --initial\n\n * This step is optional, but will help reveal any files that are untouched by\n tests\n\n#. Run tests:\n\n .. code-block:: shell\n\n $ colcon test\n\n#. Gather the ``lcov`` results:\n\n .. code-block:: shell\n\n $ colcon lcov-result\n Reading tracefile /home/user/workspace/my_cool_ws/lcov/total_coverage.info\n Summary coverage rate:\n lines......: 78.6% (44 of 56 lines)\n functions..: 94.4% (34 of 36 functions)\n branches...: 37.0% (34 of 92 branches)\n\n#. Browse the coverage report by opening ``lcov/index.html`` in a browser\n\n#. Zero the coverage counters and re-run tests:\n\n .. code-block:: shell\n\n $ colcon lcov-result --zero-counters\n $ colcon lcov-result --initial\n $ colcon test\n $ colcon lcov-result\n Reading tracefile /home/user/workspace/my_cool_ws/lcov/total_coverage.info\n Summary coverage rate:\n lines......: 78.6% (44 of 56 lines)\n functions..: 94.4% (34 of 36 functions)\n branches...: 37.0% (34 of 92 branches)\n\n\nTips and Tricks\n===============\n\n* When running locally, use the ``--packages-select`` option to generate\n coverage information for relevant packages\n\n * This will also suppress warnings for packages that were either not built\n with coverage flags or for which tests did not run\n\n* The ``--verbose`` flag can be used to print the coverage summary of each\n individual package as the results are analyzed\n\n\nTroubleshooting\n===============\n\n* The following warning when running ``colcon lcov-result --initial`` implies\n that the package was not built with the correct flags:\n\n .. code-block:: shell\n\n --- stderr: my_pkg \n geninfo: WARNING: no .gcno files found in /home/user/workspace/build/my_pkg - skipping!\n ---\n\n * The package will not show up in the final results. Use ``--packages-skip`` to suppress\n the warning\n\n* The following warning when running ``colcon lcov-result`` implies that no tests\n ran for that package\n\n .. code-block:: shell\n\n [0.576s] ERROR:colcon.colcon_lcov_result.task.lcov:lcov:\n ERROR: no valid records found in tracefile /home/user/workspace/build/my_pkg/coverage.info\n --- stderr: my_pkg\n geninfo: WARNING: no .gcda files found in /home/user/workspace/build/my_pkg - skipping!\n ---\n\n * The package will show up in the final results with 0% coverage. Use ``--packages-skip``\n to suppress these packages from the total\n\n\nKnown Issues\n============\n\n#. The final step of aggregating all the result files can be slow depending\n on the number of packages that were analyzed\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://colcon.readthedocs.io", "keywords": "colcon", "license": "Apache License, Version 2.0", "maintainer": "Juan Pablo Samper", "maintainer_email": "jp.samper@apex.ai", "name": "colcon-lcov-result", "package_url": "https://pypi.org/project/colcon-lcov-result/", "platform": "", "project_url": "https://pypi.org/project/colcon-lcov-result/", "project_urls": { "Changelog": "https://github.com/colcon/colcon-lcov-result/milestones?state=closed", "GitHub": "https://github.com/colcon/colcon-lcov-result/", "Homepage": "https://colcon.readthedocs.io" }, "release_url": "https://pypi.org/project/colcon-lcov-result/0.2.0/", "requires_dist": [ "colcon-core" ], "requires_python": "", "summary": "Extension for colcon to gather test results.", "version": "0.2.0" }, "last_serial": 4394985, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0b7d64b52e6e4ad163b23cfe20546dc4", "sha256": "fe28c3f335e8a01e9a34ff92ab604259c4534db8903574a2a2efb8bf683402ad" }, "downloads": -1, "filename": "colcon_lcov_result-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0b7d64b52e6e4ad163b23cfe20546dc4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12617, "upload_time": "2018-10-09T16:59:59", "url": "https://files.pythonhosted.org/packages/56/a6/586d297c88adee7ea623eec30e7ccfad0436e5b2447a9ea7e756383e51af/colcon_lcov_result-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04055fb15094b4a2a88d7acbc3215a17", "sha256": "014dbbb330bd936891156ee68b6bf18113d15ec6c993408e5a3391f19edb73ad" }, "downloads": -1, "filename": "colcon-lcov-result-0.1.0.tar.gz", "has_sig": false, "md5_digest": "04055fb15094b4a2a88d7acbc3215a17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9355, "upload_time": "2018-10-09T17:00:00", "url": "https://files.pythonhosted.org/packages/fc/40/aa1282ea85fe38427ad588420f20bf91ddbf80ca18f4e100b6d4d18a1e8d/colcon-lcov-result-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6e29bf4781baa71f8010949b7e1b1a0a", "sha256": "7aaf7630b82105795a4ca44814a214aa347680f744af2cd60ba39d8539342caa" }, "downloads": -1, "filename": "colcon_lcov_result-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6e29bf4781baa71f8010949b7e1b1a0a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13323, "upload_time": "2018-10-09T21:18:03", "url": "https://files.pythonhosted.org/packages/ac/0a/75a6c4c410f96d337559d5cc1bc7c39b1a737caf9a0c4e219e15c1b6b3f3/colcon_lcov_result-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6df22bdfb279fbc144fac734f7189b4", "sha256": "e03576997bfe546fcb214cbfbd84b4f965394deceb27e25a70db916dee0acf0f" }, "downloads": -1, "filename": "colcon-lcov-result-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d6df22bdfb279fbc144fac734f7189b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9642, "upload_time": "2018-10-09T21:18:04", "url": "https://files.pythonhosted.org/packages/8e/80/2617a36bc52c4ea5b4f6255cb9ec97dcf5134ddecdd15679d6434f006e6d/colcon-lcov-result-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a665e27c24eaa62baa5e644bd7a6f2fe", "sha256": "3196fdda1ec6d734818e06ac7f4d67977ac9ff61f8aa3a3f1f65fe90e2a0a5e7" }, "downloads": -1, "filename": "colcon_lcov_result-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a665e27c24eaa62baa5e644bd7a6f2fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13491, "upload_time": "2018-10-18T23:52:39", "url": "https://files.pythonhosted.org/packages/2a/71/ca7333a4880b0b835a4a849d474395ae23d6652cccd8c613bfba7367be12/colcon_lcov_result-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3cbc3c4e251ac21d8c878f2904c156c9", "sha256": "7e61582f54be76c75e569b15ad7347d8cb25c0b2ed7fa42e22ca1075dee81487" }, "downloads": -1, "filename": "colcon-lcov-result-0.1.2.tar.gz", "has_sig": false, "md5_digest": "3cbc3c4e251ac21d8c878f2904c156c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9809, "upload_time": "2018-10-18T23:52:40", "url": "https://files.pythonhosted.org/packages/c5/01/ea51dd1c1e5cf9f374cfe17374631281fdddd8d5b30e6ef4f40c1a4b8c1c/colcon-lcov-result-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "604514e587d591e328623f11d756d146", "sha256": "2e1617c2ecd2d220206d70da6f5093c7477e055fd10df015c2808b050fce1367" }, "downloads": -1, "filename": "colcon_lcov_result-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "604514e587d591e328623f11d756d146", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13646, "upload_time": "2018-10-19T17:24:39", "url": "https://files.pythonhosted.org/packages/27/2d/a52ce91eff292e8b2167e7e94a2fecbc0c55fb226fa4f6fe2161352c9881/colcon_lcov_result-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8c3f41b9900e26110064ab184e54b6b", "sha256": "4d6069328563fb8acc64508c194b3a5b79a94db54fad77003cf838d23a6ff87e" }, "downloads": -1, "filename": "colcon-lcov-result-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a8c3f41b9900e26110064ab184e54b6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9943, "upload_time": "2018-10-19T17:24:41", "url": "https://files.pythonhosted.org/packages/36/87/524685f76e2a359d303fb77f82625357d2c46468e1e14ef1bc58b44f0928/colcon-lcov-result-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "604514e587d591e328623f11d756d146", "sha256": "2e1617c2ecd2d220206d70da6f5093c7477e055fd10df015c2808b050fce1367" }, "downloads": -1, "filename": "colcon_lcov_result-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "604514e587d591e328623f11d756d146", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13646, "upload_time": "2018-10-19T17:24:39", "url": "https://files.pythonhosted.org/packages/27/2d/a52ce91eff292e8b2167e7e94a2fecbc0c55fb226fa4f6fe2161352c9881/colcon_lcov_result-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8c3f41b9900e26110064ab184e54b6b", "sha256": "4d6069328563fb8acc64508c194b3a5b79a94db54fad77003cf838d23a6ff87e" }, "downloads": -1, "filename": "colcon-lcov-result-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a8c3f41b9900e26110064ab184e54b6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9943, "upload_time": "2018-10-19T17:24:41", "url": "https://files.pythonhosted.org/packages/36/87/524685f76e2a359d303fb77f82625357d2c46468e1e14ef1bc58b44f0928/colcon-lcov-result-0.2.0.tar.gz" } ] }