1. 16 Dec, 2020 1 commit
  2. 09 Dec, 2020 1 commit
  3. 16 Dec, 2020 1 commit
  4. 15 Dec, 2020 3 commits
    • Georges Racinet's avatar
      HgGitRepository: RSpec tests for HGRC management methods · 505e6d1bea7e
      Georges Racinet authored
      Probably not comprehensive enough, but writing new ones
      will be easy from now
      
      --HG--
      branch : heptapod-stable
      505e6d1bea7e
    • Georges Racinet's avatar
      Fixing Repository Graph view · 604f866cbf2c
      Georges Racinet authored
      Heptapod 0.17 introduced the VCS-agnostic commit
      "display id", but was overly optimistic it could replace
      the commit ids in the JSON that is returned for
      client-side graph rendering. Indeed that JSON uses the
      plain ids to represent relationships.
      
      The right thing to do here is to get back to the anterior
      way of doing, just using the neutral method that will work
      for all types of repositories.
      
      Closes #385
      
      --HG--
      branch : heptapod-stable
      604f866cbf2c
    • Georges Racinet's avatar
      Commit: implement hpd_display_parent_id and _ids · abd2b0306a8c
      Georges Racinet authored
      This was missing, and could turn out to be useful, even though
      analysis shows that's not the case for #385.
      
      The new tests look to be trivial, because display ids
      are just the ids for commits of Git repositories. But
      the point is to check the APIs are internally consistent
      and avoid mistakes in refactorings.
      
      There is a test in HgGitRepository that makes sure that
      the Mercurial conversion for display is correct.
      
      --HG--
      branch : heptapod-stable
      abd2b0306a8c
  5. 14 Dec, 2020 9 commits
  6. 09 Dec, 2020 1 commit
  7. 14 Dec, 2020 2 commits
  8. 13 Dec, 2020 1 commit
  9. 11 Dec, 2020 1 commit
    • Georges Racinet's avatar
      Rust: separate Python requirements file for Oxidized Mercurial · eac0a704e209
      Georges Racinet authored
      The requirements file was split in two, and Mercurial version
      will have to be maintained both in `hg.req` and `hg-rust.req`.
      
      The new `requirements-rust.txt` has pip install with the
      Rust Python extensions. Using it without a working Rust toolchain
      is a hard install failure.
      
      The existing `requirements.txt` will work exactly as before.
      
      --HG--
      branch : heptapod
      eac0a704e209
  10. 08 Dec, 2020 13 commits
  11. 06 Dec, 2020 3 commits
    • Georges Racinet's avatar
      Heptapod CI: running RSpec tests in parallel · ddefe30b3c6f
      Georges Racinet authored
      Starting with 6 jobs should give us pipelines around 15 minutes,
      but perhaps we'll need to cache download.heptapod.net
      
      Worth of notice is that for the `parallel` directive, GitLab chose
      the exact environment variables expected by knapsack.
      
      Lately we've needed a tremendous
      amount of retries on one example (#384), that explains
      the very high `RETRIES` setting.
      
      --HG--
      branch : heptapod-stable
      ddefe30b3c6f
    • Georges Racinet's avatar
      HgitalyRepository tests: remove useless includes · 9e6d387532db
      Georges Racinet authored
      These were copied over from other tests and are of no use in
      that one (`Term` is about end-user terms acceptance, just
      to underline how far that is from the concerns of this test).
      
      --HG--
      branch : heptapod-stable
      9e6d387532db
    • Georges Racinet's avatar
      RSpec tests: terminate HGitaly with SIGTERM · c527891b9457
      Georges Racinet authored
      Killing the main process had no other impact on the
      worker processes than to orphan them.
      
      Depends on hgitaly#34 for the wished result.
      
      --HG--
      branch : heptapod-stable
      c527891b9457
  12. 08 Dec, 2020 1 commit
    • Georges Racinet's avatar
      RSpec tests: parallel launch with Knapsack · baa204a5c885
      Georges Racinet authored
      Knapsack is the sharding tool also used by upstream GitLab.
      To balance the shards, it uses a time table (the report file).
      Our main difference with upstream is that we have a checked in
      report file instead of maintaining it from the CI in a S3 bucket.
      
      Updates will have to be done manually. There is a companion
      `heptapod-rspec-parallel` script in the HDK (for lack of a better
      place) that can leverage knapsack to run the tests
      across several entire HDK workspaces.
      
      --HG--
      branch : heptapod-stable
      baa204a5c885
  13. 05 Dec, 2020 3 commits
    • Georges Racinet's avatar
      knapsack: allow report generation if not on CI · f724d7805e7b
      Georges Racinet authored
      First experiences for parallelization of RSpec tests will
      be done on personal workstations. The KNAPSACK_GENERATE_REPORT
      variable should be enough to gate it.
      
      --HG--
      branch : heptapod-stable
      f724d7805e7b
    • Georges Racinet's avatar
      RSpec hg_access_protected_branches: removed lengthy setup · 611aad7f35ed
      Georges Racinet authored
      It turns out that these tests don't need the branches to actually
      exist. This gets the time to run this RSpec file down from 10
      minutes to less than 4 on my development workstation.
      
      That is enough to make sharding meaningful.
      
      Of course that raises the question whether they test anything,
      since some expected Forbidden could actually now be raised for
      the wrong reason. There is the case of the
      `safe_commit_for_new_protected_branch?` where one checks that
      protected branch rules are applied even if the commit actually
      creates the protected branch (through wildcard protection,
      that is indeed possible), but this is not currently covered,
      although it should.
      
      In other words actual coverage is no worse, and we should add
      new tests for the cases that aren't strongly covered,
      (perhaps UPSTREAM).
      
      The empty repo is a special case, but the general factory fixture
      takes care of that.
      
      --HG--
      branch : heptapod-stable
      611aad7f35ed
    • Georges Racinet's avatar
      RSpec tests for hg_access: using an empty repo for main tests · fc0da2f09a87
      Georges Racinet authored
      Thanks to this, the running time goes down from about 3mn to
      1mn and 50s on my system.
      
      The LFS tests are probably irrelevant: the day we activate Mercurial's
      version of LFS, we will certainly have to perform other types of checks.
      But then, they will perhaps serve as reminders that there is
      something to adapt.
      
      --HG--
      branch : heptapod-stable
      fc0da2f09a87