Skip to content
Snippets Groups Projects
  • Philippe Pepiot's avatar
    f83f0968
    Skip http benchmarks for broken revision of hgweb · f83f0968
    Philippe Pepiot authored
    hgweb is broken on some revisions of mercurial (see https://bz.mercurial-scm.org/show_bug.cgi?id=5851).
    Skip http benchmark on such revisions to avoid long timeouts and hgweb process leak.
    
    Add a 'skip' key to config.yaml with known broken revisions for given feature,
    compile all revisions in repos/skip.json and use it in the benchmark code to
    decide of current revision should be skipped or not.
    
    Use asv way to skip tests in setup() and raise NotImplementedError in such cases.
    
    $ asv run --bench time_push --show-stderr --no-pull 4.6rc0
    ================ =========== =================== ============ ============
    --                                                         revset
    ------------------------------------------------ -------------------------
          repo        repo_type         strip            None       default
    ================ =========== =================== ============ ============
     mercurial-2017     local            same          98.9±1ms     102±1ms
     mercurial-2017     local      last(all(), 10)     127±1ms      139±10ms
     mercurial-2017     local      last(all(), 100)    190±3ms      212±2ms
     mercurial-2017     local     last(all(), 1000)    823±20ms     839±7ms
     mercurial-2017      ssh             same          325±7ms      333±10ms
     mercurial-2017      ssh       last(all(), 10)     405±30ms     383±9ms
     mercurial-2017      ssh       last(all(), 100)    468±30ms     495±20ms
     mercurial-2017      ssh      last(all(), 1000)   1.27±0.05s   1.26±0.02s
     mercurial-2017      http            same            n/a          n/a
     mercurial-2017      http      last(all(), 10)       n/a          n/a
     mercurial-2017      http      last(all(), 100)      n/a          n/a
     mercurial-2017      http     last(all(), 1000)      n/a          n/a
    ================ =========== =================== ============ ============
    f83f0968
    History
    Skip http benchmarks for broken revision of hgweb
    Philippe Pepiot authored
    hgweb is broken on some revisions of mercurial (see https://bz.mercurial-scm.org/show_bug.cgi?id=5851).
    Skip http benchmark on such revisions to avoid long timeouts and hgweb process leak.
    
    Add a 'skip' key to config.yaml with known broken revisions for given feature,
    compile all revisions in repos/skip.json and use it in the benchmark code to
    decide of current revision should be skipped or not.
    
    Use asv way to skip tests in setup() and raise NotImplementedError in such cases.
    
    $ asv run --bench time_push --show-stderr --no-pull 4.6rc0
    ================ =========== =================== ============ ============
    --                                                         revset
    ------------------------------------------------ -------------------------
          repo        repo_type         strip            None       default
    ================ =========== =================== ============ ============
     mercurial-2017     local            same          98.9±1ms     102±1ms
     mercurial-2017     local      last(all(), 10)     127±1ms      139±10ms
     mercurial-2017     local      last(all(), 100)    190±3ms      212±2ms
     mercurial-2017     local     last(all(), 1000)    823±20ms     839±7ms
     mercurial-2017      ssh             same          325±7ms      333±10ms
     mercurial-2017      ssh       last(all(), 10)     405±30ms     383±9ms
     mercurial-2017      ssh       last(all(), 100)    468±30ms     495±20ms
     mercurial-2017      ssh      last(all(), 1000)   1.27±0.05s   1.26±0.02s
     mercurial-2017      http            same            n/a          n/a
     mercurial-2017      http      last(all(), 10)       n/a          n/a
     mercurial-2017      http      last(all(), 100)      n/a          n/a
     mercurial-2017      http     last(all(), 1000)      n/a          n/a
    ================ =========== =================== ============ ============