Test coverage broken... since 1.9

Greg Ward greg at gerg.ca
Thu Apr 19 10:31:02 CDT 2012


Hi folks --

I just discovered that run-tests.py's test coverage feature is broken
in 2.2-rc. And 2.1, and 2.0, and 1.9. The last version where it worked
is 1.8!

Here is how it fails:

  $ (cd tests && ./run-tests.py -vc test-empty.t)
  [...]
  # Ran 1 tests, 0 skipped, 0 failed.
  # Producing coverage report
  # Running: coverage -c
  # Running: coverage -i -r "--omit=/tmp/hgtests.5EKT3Z/install/bin,/home/gward/src/hg-crew/tests"
  Name                 Stmts   Miss  Cover
  ----------------------------------------
  mercurial/__init__       0      0   100%
  # Cleaning up HGTMP /tmp/hgtests.5EKT3Z

Note the distinct lack of useful coverage information. By contrast,
the same command under 1.8 gives:

  # Producing coverage report
  # Running: coverage -c
  # Running: coverage -i -r "--omit=/tmp/hgtests.IWbWNE/install/bin,/home/gward/src/hg-crew/tests"
  Name                                 Stmts   Miss  Cover
  --------------------------------------------------------
  /tmp/hgtests.IWbWNE/install/bin/hg      20      5    75%
  mercurial/__init__                       0      0   100%
  mercurial/bookmarks                    136    111    18%
  mercurial/changelog                    156    124    21%
  mercurial/cmdutil                      963    848    12%
  mercurial/commands                    2276   2125     7%
  mercurial/config                       126     31    75%
  [...]

... i.e. *lots* of useful coverage information.

I bisected it back to:

  changeset:   13764:8ed67e44c71c
  user:        Idan Kamara <idankk86 at gmail.com>
  date:        2011-03-25 22:15:37 +0200
  summary:     tests: set HOME to the test temp dir (issue2707)

       Greg


More information about the Mercurial-devel mailing list