[TIP] coverage script not measuring properly with Python 3.10.2 from Fedora 36
Ned Batchelder
ned at nedbatchelder.com
Wed Feb 23 02:43:25 PST 2022
To debug this, try adding "--debug=trace" to your coverage run command
line. It will print a message for every file executed, indicating
whether it was traced or not, and if not, why not. Likely your keylime
files are being run from an unexpected place, outside the scope that
you've asked to be measured.
--Ned.
On 2/15/22 4:57 AM, Karel Šrot wrote:
> Hello,
>
> I would like to ask for a help with the coverage measurement issue I
> am facing.
>
> I have noticed recently that my coverage measurement for the keylime
> project [1] is not providing relevant data. For some reason none of
> the keylime scripts are measured. This is different from Python 3.10.0
> in Fedora 35 which works as expected. Both distros are using coverage
> 6.3-1 from pip and (identical) upstream keylime bits.
>
> My reproducer is this:
> 1) Install keylime upstream bits e.g. by following the procedure in [2]
> 2) install python coverage module, either from distribution
> (python3-coverage) or via pip3.
> 3) coverage run $( which keylime_verifier )
> Ctrl+C
> 4) coverage report
>
> # coverage report
> Name Stmts Miss Cover
> ---------------------------------------------------------------------------------------------
> /usr/lib/python3.10/site-packages/alembic/__init__.py
> 4 0 100%
> /usr/lib/python3.10/site-packages/alembic/autogenerate/__init__.py
> 10 0 100%
> /usr/lib/python3.10/site-packages/alembic/autogenerate/api.py
> 190 139 27%
> /usr/lib/python3.10/site-packages/alembic/autogenerate/compare.py
> 493 415 16%
> /usr/lib/python3.10/site-packages/alembic/autogenerate/render.py
> 508 412 19%
> /usr/lib/python3.10/site-packages/alembic/autogenerate/rewriter.py
> 81 54 33%
> /usr/lib/python3.10/site-packages/alembic/command.py 194
> 162 16%
> /usr/lib/python3.10/site-packages/alembic/config.py 149
> 29 81%
> /usr/lib/python3.10/site-packages/alembic/context.py 2
> 0 100%
> /usr/lib/python3.10/site-packages/alembic/ddl/__init__.py
> 6 0 100%
> /usr/lib/python3.10/site-packages/alembic/ddl/base.py
> 135 50 63%
> /usr/lib/python3.10/site-packages/alembic/ddl/impl.py
> 270 161 40%
> /usr/lib/python3.10/site-packages/alembic/ddl/mssql.py
> 156 92 41%
> /usr/lib/python3.10/site-packages/alembic/ddl/mysql.py
> 153 97 37%
> /usr/lib/python3.10/site-packages/alembic/ddl/oracle.py
> 79 29 63%
> /usr/lib/python3.10/site-packages/alembic/ddl/postgresql.py
> 248 160 35%
> /usr/lib/python3.10/site-packages/alembic/ddl/sqlite.py
> 72 36 50%
> /usr/lib/python3.10/site-packages/alembic/op.py 2
> 0 100%
> /usr/lib/python3.10/site-packages/alembic/operations/__init__.py
> 5 0 100%
> /usr/lib/python3.10/site-packages/alembic/operations/base.py
> 100 11 89%
> /usr/lib/python3.10/site-packages/alembic/operations/batch.py
> 337 126 63%
> /usr/lib/python3.10/site-packages/alembic/operations/ops.py
> 647 340 47%
> /usr/lib/python3.10/site-packages/alembic/operations/schemaobj.py
> 116 67 42%
> /usr/lib/python3.10/site-packages/alembic/operations/toimpl.py
> 96 22 77%
> /usr/lib/python3.10/site-packages/alembic/runtime/__init__.py
> 0 0 100%
> /usr/lib/python3.10/site-packages/alembic/runtime/environment.py
> 124 33 73%
> /usr/lib/python3.10/site-packages/alembic/runtime/migration.py
> 550 259 53%
> /usr/lib/python3.10/site-packages/alembic/script/__init__.py
> 3 0 100%
> /usr/lib/python3.10/site-packages/alembic/script/base.py
> 393 234 40%
> /usr/lib/python3.10/site-packages/alembic/script/revision.py
> 621 299 52%
> /usr/lib/python3.10/site-packages/alembic/script/write_hooks.py
> 61 38 38%
> /usr/lib/python3.10/site-packages/alembic/util/__init__.py
> 30 1 97%
> /usr/lib/python3.10/site-packages/alembic/util/compat.py
> 36 9 75%
> /usr/lib/python3.10/site-packages/alembic/util/editor.py
> 44 29 34%
> /usr/lib/python3.10/site-packages/alembic/util/exc.py
> 2 0 100%
> /usr/lib/python3.10/site-packages/alembic/util/langhelpers.py
> 166 46 72%
> /usr/lib/python3.10/site-packages/alembic/util/messaging.py
> 79 45 43%
> /usr/lib/python3.10/site-packages/alembic/util/pyfiles.py
> 63 31 51%
> /usr/lib/python3.10/site-packages/alembic/util/sqla_compat.py
> 268 160 40%
> /usr/lib/python3.10/site-packages/chardet/__init__.py
> 33 27 18%
> /usr/lib/python3.10/site-packages/chardet/big5freq.py
> 3 0 100%
> /usr/lib/python3.10/site-packages/chardet/big5prober.py
> 16 6 62%
> /usr/lib/python3.10/site-packages/chardet/chardistribution.py
> 117 83 29%
> /usr/lib/python3.10/site-packages/chardet/charsetgroupprober.py
> 73 62 15%
> /usr/lib/python3.10/site-packages/chardet/charsetprober.py
> 55 36 35%
> /usr/lib/python3.10/site-packages/chardet/codingstatemachine.py
> 28 18 36%
> /usr/lib/python3.10/site-packages/chardet/cp949prober.py
> 16 6 62%
> /usr/lib/python3.10/site-packages/chardet/enums.py 35
> 1 97%
> /usr/lib/python3.10/site-packages/chardet/escprober.py
> 58 45 22%
> /usr/lib/python3.10/site-packages/chardet/escsm.py 17
> 0 100%
> /usr/lib/python3.10/site-packages/chardet/eucjpprober.py
> 49 34 31%
> /usr/lib/python3.10/site-packages/chardet/euckrfreq.py
> 3 0 100%
> /usr/lib/python3.10/site-packages/chardet/euckrprober.py
> 16 6 62%
> /usr/lib/python3.10/site-packages/chardet/euctwfreq.py
> 3 0 100%
> /usr/lib/python3.10/site-packages/chardet/euctwprober.py
> 16 6 62%
> /usr/lib/python3.10/site-packages/chardet/gb2312freq.py
> 3 0 100%
> /usr/lib/python3.10/site-packages/chardet/gb2312prober.py
> 16 6 62%
> /usr/lib/python3.10/site-packages/chardet/hebrewprober.py
> 77 48 38%
> /usr/lib/python3.10/site-packages/chardet/jisfreq.py 3
> 0 100%
> /usr/lib/python3.10/site-packages/chardet/jpcntx.py 81
> 61 25%
> /usr/lib/python3.10/site-packages/chardet/langbulgarianmodel.py
> 6 0 100%
> /usr/lib/python3.10/site-packages/chardet/langgreekmodel.py
> 6 0 100%
> /usr/lib/python3.10/site-packages/chardet/langhebrewmodel.py
> 4 0 100%
> /usr/lib/python3.10/site-packages/chardet/langrussianmodel.py
> 14 0 100%
> /usr/lib/python3.10/site-packages/chardet/langthaimodel.py
> 4 0 100%
> /usr/lib/python3.10/site-packages/chardet/langturkishmodel.py
> 4 0 100%
> /usr/lib/python3.10/site-packages/chardet/latin1prober.py
> 52 29 44%
> /usr/lib/python3.10/site-packages/chardet/mbcharsetprober.py
> 44 33 25%
> /usr/lib/python3.10/site-packages/chardet/mbcsgroupprober.py
> 14 3 79%
> /usr/lib/python3.10/site-packages/chardet/mbcssm.py 41
> 0 100%
> /usr/lib/python3.10/site-packages/chardet/sbcharsetprober.py
> 76 59 22%
> /usr/lib/python3.10/site-packages/chardet/sbcsgroupprober.py
> 18 7 61%
> /usr/lib/python3.10/site-packages/chardet/sjisprober.py
> 49 34 31%
> /usr/lib/python3.10/site-packages/chardet/universaldetector.py
> 124 104 16%
> /usr/lib/python3.10/site-packages/chardet/utf8prober.py
> 43 29 33%
> /usr/lib/python3.10/site-packages/chardet/version.py 2
> 0 100%
> /usr/lib/python3.10/site-packages/charset_normalizer/__init__.py
> 9 0 100%
> /usr/lib/python3.10/site-packages/charset_normalizer/api.py
> 222 205 8%
> /usr/lib/python3.10/site-packages/charset_normalizer/assets/__init__.py
> 2 0 100%
> /usr/lib/python3.10/site-packages/charset_normalizer/cd.py
> 163 139 15%
> /usr/lib/python3.10/site-packages/charset_normalizer/constant.py
> 23 0 100%
> /usr/lib/python3.10/site-packages/charset_normalizer/legacy.py
> 31 10 68%
> /usr/lib/python3.10/site-packages/charset_normalizer/md.py
> 273 213 22%
> /usr/lib/python3.10/site-packages/charset_normalizer/models.py
> 195 119 39%
> /usr/lib/python3.10/site-packages/charset_normalizer/utils.py
> 187 132 29%
> /usr/lib/python3.10/site-packages/charset_normalizer/version.py
> 2 0 100%
> /usr/lib/python3.10/site-packages/dateutil/__init__.py
> 5 2 60%
> /usr/lib/python3.10/site-packages/dateutil/_version.py
> 2 0 100%
> /usr/lib/python3.10/site-packages/dateutil/tz/__init__.py
> 4 0 100%
> /usr/lib/python3.10/site-packages/dateutil/tz/_common.py
> 161 124 23%
> /usr/lib/python3.10/site-packages/dateutil/tz/_factories.py
> 49 21 57%
> /usr/lib/python3.10/site-packages/dateutil/tz/tz.py 803
> 644 20%
> /usr/lib/python3.10/site-packages/dateutil/tz/win.py 153
> 149 3%
> /usr/lib/python3.10/site-packages/gnupg.py 836 669 20%
> /usr/lib/python3.10/site-packages/idna/__init__.py 4
> 0 100%
> /usr/lib/python3.10/site-packages/idna/core.py 291 256
> 12%
> /usr/lib/python3.10/site-packages/idna/idnadata.py 4
> 0 100%
> /usr/lib/python3.10/site-packages/idna/intranges.py 30
> 24 20%
> /usr/lib/python3.10/site-packages/idna/package_data.py
> 1 0 100%
> /usr/lib/python3.10/site-packages/mako/__init__.py 1
> 0 100%
> /usr/lib/python3.10/site-packages/mako/_ast_util.py 505
> 384 24%
> /usr/lib/python3.10/site-packages/mako/ast.py 90 72
> 20%
> /usr/lib/python3.10/site-packages/mako/cache.py 69
> 36 48%
> /usr/lib/python3.10/site-packages/mako/codegen.py 582
> 510 12%
> /usr/lib/python3.10/site-packages/mako/compat.py 102
> 67 34%
> /usr/lib/python3.10/site-packages/mako/exceptions.py 157
> 110 30%
> /usr/lib/python3.10/site-packages/mako/ext/__init__.py
> 0 0 100%
> /usr/lib/python3.10/site-packages/mako/ext/pygmentplugin.py
> 55 54 2%
> /usr/lib/python3.10/site-packages/mako/filters.py 91
> 47 48%
> /usr/lib/python3.10/site-packages/mako/lexer.py 265
> 238 10%
> /usr/lib/python3.10/site-packages/mako/parsetree.py 268
> 161 40%
> /usr/lib/python3.10/site-packages/mako/pygen.py 138
> 120 13%
> /usr/lib/python3.10/site-packages/mako/pyparser.py 135
> 98 27%
> /usr/lib/python3.10/site-packages/mako/runtime.py 447
> 321 28%
> /usr/lib/python3.10/site-packages/mako/template.py 263
> 200 24%
> /usr/lib/python3.10/site-packages/mako/util.py 226 170
> 25%
> /usr/lib/python3.10/site-packages/packaging/__about__.py
> 9 0 100%
> /usr/lib/python3.10/site-packages/packaging/__init__.py
> 2 0 100%
> /usr/lib/python3.10/site-packages/packaging/_structures.py
> 36 16 56%
> /usr/lib/python3.10/site-packages/packaging/version.py
> 230 136 41%
> /usr/lib/python3.10/site-packages/requests/__init__.py
> 71 27 62%
> /usr/lib/python3.10/site-packages/requests/__version__.py
> 10 0 100%
> /usr/lib/python3.10/site-packages/requests/_internal_utils.py
> 16 12 25%
> /usr/lib/python3.10/site-packages/requests/adapters.py
> 226 174 23%
> /usr/lib/python3.10/site-packages/requests/api.py 20
> 10 50%
> /usr/lib/python3.10/site-packages/requests/auth.py 174
> 141 19%
> /usr/lib/python3.10/site-packages/requests/certs.py 5
> 1 80%
> /usr/lib/python3.10/site-packages/requests/compat.py 47
> 19 60%
> /usr/lib/python3.10/site-packages/requests/cookies.py
> 241 177 27%
> /usr/lib/python3.10/site-packages/requests/exceptions.py
> 35 6 83%
> /usr/lib/python3.10/site-packages/requests/hooks.py 15
> 11 27%
> /usr/lib/python3.10/site-packages/requests/models.py 467
> 382 18%
> /usr/lib/python3.10/site-packages/requests/packages.py
> 16 4 75%
> /usr/lib/python3.10/site-packages/requests/sessions.py
> 275 223 19%
> /usr/lib/python3.10/site-packages/requests/status_codes.py
> 15 0 100%
> /usr/lib/python3.10/site-packages/requests/structures.py
> 40 19 52%
> /usr/lib/python3.10/site-packages/requests/utils.py 488
> 413 15%
> /usr/lib/python3.10/site-packages/six.py 504 245 51%
> /usr/lib/python3.10/site-packages/socks.py 445 355 20%
> /usr/lib/python3.10/site-packages/urllib3/__init__.py
> 34 8 76%
> /usr/lib/python3.10/site-packages/urllib3/_collections.py
> 183 133 27%
> /usr/lib/python3.10/site-packages/urllib3/_version.py
> 1 0 100%
> /usr/lib/python3.10/site-packages/urllib3/connection.py
> 227 160 30%
> /usr/lib/python3.10/site-packages/urllib3/connectionpool.py
> 339 274 19%
> /usr/lib/python3.10/site-packages/urllib3/contrib/__init__.py
> 0 0 100%
> /usr/lib/python3.10/site-packages/urllib3/contrib/_appengine_environ.py
> 11 1 91%
> /usr/lib/python3.10/site-packages/urllib3/contrib/socks.py
> 76 51 33%
> /usr/lib/python3.10/site-packages/urllib3/exceptions.py
> 116 34 71%
> /usr/lib/python3.10/site-packages/urllib3/fields.py 90
> 70 22%
> /usr/lib/python3.10/site-packages/urllib3/filepost.py
> 43 30 30%
> /usr/lib/python3.10/site-packages/urllib3/packages/__init__.py
> 0 0 100%
> /usr/lib/python3.10/site-packages/urllib3/poolmanager.py
> 192 147 23%
> /usr/lib/python3.10/site-packages/urllib3/request.py 39
> 28 28%
> /usr/lib/python3.10/site-packages/urllib3/response.py
> 405 328 19%
> /usr/lib/python3.10/site-packages/urllib3/util/__init__.py
> 10 0 100%
> /usr/lib/python3.10/site-packages/urllib3/util/connection.py
> 72 49 32%
> /usr/lib/python3.10/site-packages/urllib3/util/proxy.py
> 14 11 21%
> /usr/lib/python3.10/site-packages/urllib3/util/queue.py
> 14 5 64%
> /usr/lib/python3.10/site-packages/urllib3/util/request.py
> 52 25 52%
> /usr/lib/python3.10/site-packages/urllib3/util/response.py
> 38 31 18%
> /usr/lib/python3.10/site-packages/urllib3/util/retry.py
> 213 142 33%
> /usr/lib/python3.10/site-packages/urllib3/util/ssl_.py
> 192 146 24%
> /usr/lib/python3.10/site-packages/urllib3/util/ssl_match_hostname.py
> 73 62 15%
> /usr/lib/python3.10/site-packages/urllib3/util/ssltransport.py
> 139 106 24%
> /usr/lib/python3.10/site-packages/urllib3/util/timeout.py
> 64 42 34%
> /usr/lib/python3.10/site-packages/urllib3/util/url.py
> 205 152 26%
> /usr/lib/python3.10/site-packages/urllib3/util/wait.py
> 77 59 23%
> ---------------------------------------------------------------------------------------------
> TOTAL 20862 14089 32%
>
> As you can see there are no 'keylime' bits, like the keylime_verifier
> script itself.
> On F35 with the same keylime I can see multiple keylime scripts being
> measured.
>
> Any idea what could be wrong here?
> Thank you in advance.
>
> With regards,
> Karel Srot
>
> [1] https://github.com/keylime/keylime
> [2]
> https://github.com/RedHat-SP-Security/keylime-tests/blob/main/setup/install_upstream_keylime/test.sh
>
> _______________________________________________
> testing-in-python mailing list
> testing-in-python at lists.idyll.org
> http://lists.idyll.org/listinfo/testing-in-python
More information about the testing-in-python
mailing list