1. 01 Apr, 2020 2 commits
  2. 02 Apr, 2020 1 commit
    • Georges Racinet's avatar
      Group: ensuring directory existence while putting an HGRC · 70f8ec33c26e
      Georges Racinet authored
      With the hashed storage, the group directory is not guaranteed
      to exist any more. It wouldn't on plain GitLab if all the projects
      have been created with the hashed storage.
      
      Care must be taken to create with the proper system user,
      otherwise tests would break in non obvious ways, especially since
      Rails has automatic rollbacks (mostly silent) for what
      we're testing (transfers…)
      70f8ec33c26e
  3. 01 Apr, 2020 2 commits
  4. 31 Mar, 2020 6 commits
    • Georges Racinet's avatar
      initial setup: more useful logging · 9291c713f220
      Georges Racinet authored
      when using `log_cli=True`, it's nicer to see the real progression
      of the Heptapod server preparations or resuming.
      9291c713f220
    • Georges Racinet's avatar
      test_import: improve concurrency · d6b894e2dcee
      Georges Racinet authored
      Now the import target projects have unique names, too.
      This also alleviates the dreadful problems with leftover routes.
      d6b894e2dcee
    • Georges Racinet's avatar
      Concurrency: avoid requests pool saturation · dfab12807e9a
      Georges Racinet authored
      The normal requests connection pool should have `maxsize=10`,
      but something in this whole complex setup is setting it to 1.
      
      Using gentle methods, such as registering adapters to the
      session in the `heptapod` fixture, does not work:
      something must be initializing the session early.
      So we're resorting to this brutal method: monkey-patching
      the class to override `maxsize` and `block` on the fly.
      
      Even that is not enough for `block`.
      
      See also: https://stackoverflow.com/questions/18466079/can-i-change-the-connection-pool-size-for-pythons-requests-module
      dfab12807e9a
    • Georges Racinet's avatar
      Concurrency: using the proper fixtures everywhere · bbc38784a062
      Georges Racinet authored
      Most tests will just inherit that from `test_project` or
      `public_project`. For the others, it has to be explicit.
      bbc38784a062
    • Georges Racinet's avatar
      test_groups: improve concurrency · 242c94a18824
      Georges Racinet authored
      `test_group_project` wasn't using unique names.
      `test_subgroups` did, and that predated the general introduction
      of unique names, so let's make it uniform.
      242c94a18824
    • Georges Racinet's avatar
      New fixtures to control concurrency · 958411521890
      Georges Racinet authored
      We currently have some tests that cannot be changed to support
      concurrency and that will break all concurrent running tests.
      
      These two new fixtures provide a solution to that, by preventing
      concurrency while these are running.
      
      The idea is that `breaks_concurrent` tests will wait for any
      concurrent test to finish, and then prevent any other
      test to run while they are runnning.
      
      All other tests have to use the `accepts_concurrent` fixture
      958411521890
  5. 29 Mar, 2020 3 commits
  6. 27 Mar, 2020 3 commits
  7. 24 Mar, 2020 1 commit
  8. 25 Mar, 2020 3 commits
  9. 14 Mar, 2020 2 commits
    • Georges Racinet's avatar
      tests_hgrc_put: using new API GET calls · 0aa112f36cd7
      Georges Racinet authored
      This makes one less test to rely on FS access, and that one was
      creating doubt in case of failures in tests that use the PUT for
      their setup.
      0aa112f36cd7
    • Georges Racinet's avatar
      project: adapted FS helpers for GitLab 12 · 8036927dba8b
      Georges Racinet authored
      By default, projects are in the hashed path, which is
      derived from the SHA256 of the decimal representation of their
      `id`.
      
      In `load_tarball` we introduce a new convention that the tarball
      should make two directories, `hg` and `git` that will become
      PATH_TO_PROJECT.hg and PATH_TO_PROJECT.git respectively, and
      update the `issue-3.tar` accordingly.
      8036927dba8b
  10. 13 Mar, 2020 1 commit
    • Georges Racinet's avatar
      topics: added a test for direct publication · 1c1a5dbae996
      Georges Racinet authored
      at the time of our writing, this fails on our current
      GitLab 12 code, because we only prune GitLab branches for
      published topics if there is a corresponding MR.
      
      as anything related to GitLab post-receive treatment, this
      has to take asynchronicity into account
      1c1a5dbae996
  11. 11 Mar, 2020 1 commit
  12. 10 Mar, 2020 1 commit
    • Georges Racinet's avatar
      MR detection: testing the commit lists panel instead of 'additional' · 1e61fd04ebf5
      Georges Racinet authored
      Our current solution for updating commits upon rebase/push
      does not produce "user x added n commits" in the discussion page,
      yet it fills the commit panel correctly. We consider that
      to be good enough.
      
      Reading the commit panel is done as a new method on the project
      so that we can easily test that it is as expected in other MR cases
      (has been problematic with GitLab 12)
      1e61fd04ebf5
  13. 29 Feb, 2020 1 commit
  14. 29 Mar, 2020 2 commits
    • Georges Racinet's avatar
      Protected branches: removed message test · e3adacf1c0af
      Georges Racinet authored
      In Heptapod 0.8, it's just impossible to trigger
      protected branch errors by Mercurial pushes: we rely on
      Mercurial internal checks for soundness.
      
      That test may be interesting in the future for Heptapod 0.12 or
      0.13, so we'll push it in a topic against the default branch.
      
      --HG--
      branch : heptapod-0-8
      e3adacf1c0af
    • Georges Racinet's avatar
      Merged interesting test from old support branch · f7a208f87134
      Georges Racinet authored
      This had to be adapted for Heptapod 0.8, and is about
      the kind of corruption that could have occurred in older
      versions.
      
      Marked as Docker only because of the `chpst`, that has no
      equivalent for source installs. Could be improved later.
      
      --HG--
      branch : heptapod-0-8
      f7a208f87134
  15. 28 Mar, 2020 1 commit
    • Georges Racinet's avatar
      Backups: testing for hgrc.managed · 51f6b5d56df5
      Georges Racinet authored
      We change a setting before the backup/restore sequence, and
      then check it's working. The drawback is that would be affected
      by the setting not working for unrelated reasons, it would be
      better to check that it's there, but we don't have
      the HGRC GET in the 0.8 branch.
      
      --HG--
      branch : heptapod-0-8
      51f6b5d56df5
  16. 27 Mar, 2020 3 commits
  17. 24 Mar, 2020 1 commit
    • Georges Racinet's avatar
      Started branch heptapod-0-8 · a9d275722953
      Georges Racinet authored
      Not sure there'll be a 0.8.4, but just in case
      This is also an occasion to test against the branch
      Docker image.
      
      --HG--
      branch : heptapod-0-8
      a9d275722953
  18. 14 Mar, 2020 6 commits