[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