1. 29 Mar, 2020 1 commit
  2. 29 Feb, 2020 1 commit
  3. 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
  4. 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
  5. 27 Mar, 2020 3 commits
  6. 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
  7. 14 Mar, 2020 7 commits
  8. 13 Mar, 2020 5 commits
    • Georges Racinet's avatar
      Ability to run the tests in concurrent (multithreaded) mode · 4a3f75099b04
      Georges Racinet authored
      Since 14a569275d1c, the name of projects used in fixtures are
      unique, hence it's in theory possible to run the tests in parallel.
      
      In practice, as of this writing, some of our tests are flaky when
      run concurrently.
      
      We should not run the tests with several processes, because each will
      want to set the GitLab user tokens independently in the `heptapod`
      session scoped fixture. However, in multithreaded mode, we can
      guarantee that the `heptapod` fixture gets set up exactly once.
      
      Besides being faster, this is interesting to exert Heptapod on the current
      GitLab 12, by upping the chances of race conditions, notably in the
      asynchronous handling of post-receives.
      4a3f75099b04
    • Georges Racinet's avatar
      test_merge_requests: wait logic for detection check · 19369d78a14e
      Georges Racinet authored
      As the comment says, we need to take asynchronicity into account.
      Health check for the MR in the web UI only makes sense once we've
      got the detection assessment
      19369d78a14e
    • Georges Racinet's avatar
      test_merge_requests: another duplication of the 500 check · fc80853d3a4a
      Georges Racinet authored
      with the unfixed check that can be now be triggered by
      project names, of course.
      fc80853d3a4a
    • Georges Racinet's avatar
      LocalRepo: optional return call to check for hg() · b1938b347bf7
      Georges Racinet authored
      Pushes that contain phase changes only always return code 1,
      whereas genuine errors return code 255 (-1i8).
      
      Up to now, we've been using `hg_unchecked()` for this case,
      it's time to simplify.
      b1938b347bf7
    • Georges Racinet's avatar
      test_merge_requests: fix for 500 detection where it matters most · 4ca02530c785
      Georges Racinet authored
      Up to now it was in the removed assertion only, that was
      redundant anyway because it's precisely taken care of in the
      `assert_merge_detected` call that we are now fixing.
      4ca02530c785
  9. 23 Feb, 2020 1 commit
  10. 19 Feb, 2020 1 commit
    • Georges Racinet's avatar
      heptapod-ci: running the tests with heptapod as a service · d8ec7389861e
      Georges Racinet authored
      We're using two services, Heptapod and the Selenium standalone
      WebDriver server.
      
      The tricky part is that the three containers are not fully linked
      together: only the one running the job is linked to the others.
      Hence we have to infer from there the IP address of Heptapod, so
      that Selenium can use it.
      
      Of course, we have to use the `--heptapod-remote` knob, because
      the job hasn't direct access to the Heptapod container.
      
      Finally, the `--heptapod-wait-after-first-response` option is
      necessary. Before we added it, we had a systematic failure in
      the second test.
      d8ec7389861e
  11. 20 Feb, 2020 1 commit
  12. 19 Feb, 2020 7 commits
    • Georges Racinet's avatar
      Making tests independent of surrounding HGRCs · dd6348d0688b
      Georges Racinet authored
      In order to be really reproducible, this is needed,
      and long overdue
      dd6348d0688b
    • Georges Racinet's avatar
      hg: set config before cloning · ba9e2db77558
      Georges Racinet authored
      Some tests require the extensions to be active. This happens
      for instance with `test_prune_inside_topic`, which won't receive
      the obsmarkers if evolve is not activated in the first place.
      
      Up to now this has been fulfilled by some surrounding configuration,
      but that's about to change.
      ba9e2db77558
    • Georges Racinet's avatar
      hg: always activate the rebase extension · ed938e8ac17c
      Georges Racinet authored
      this is necessary to have the `hg rebase` command.
      Up to now, tests using rebase have worked because
      of configuration attached to the user launching the tests,
      but that's going to change soon.
      ed938e8ac17c
    • Georges Racinet's avatar
      Making project names single usage · 14a569275d1c
      Georges Racinet authored
      The various problems with teardown of projects, that can't always
      be fixed remotely, have been a pain for a long time.
      
      They are worse in constrained environments, as in CI contexts and
      are always a pain point while bumping upstream GitLab versions,
      because we always have to pay the price to make project deletion
      work first.
      
      By doing this, we lose the ability to easily find the current test
      project in logs etc, but it's comparatively acceptable
      14a569275d1c
    • Georges Racinet's avatar
      Bumping the initial timeout to 10mn · 82f67c127a58
      Georges Racinet authored
      One day it'll become configurable. In the meanwhile, 5 minutes can
      be too short if Heptapod is starting from scratch, i.e. has to run
      all the initial Chef configuration, database creation etc.
      82f67c127a58
    • Georges Racinet's avatar
      Supporting running through a Selenium RemoteWebDriver · 90fc419eedf0
      Georges Racinet authored
      This is a preliminary for any CI attempt, since installing the webdriver
      inside a Docker container is a long and error prone process.
      
      This will allow to use a separate service image such as
      `selenium/standalone-chrome` and that may also turn to be a good option
      even outside Docker-based CI contexts.
      
      The new `Heptapod.new_webdriver()` method is now the unique one to be
      called to create new drivers, a preliminary to be able to run the
      tests with other drivers anyway. In particular, this should come handy
      if installing chromedriver is a problem.
      90fc419eedf0
    • Georges Racinet's avatar
      Project.hg_config: don't fail if entire section is empty · 0c6f0f4c6ab3
      Georges Racinet authored
      In the docker execution context, we can get `None` for the output
      instead of an empty string.
      0c6f0f4c6ab3
  13. 15 Feb, 2020 1 commit
  14. 24 Jan, 2020 1 commit
    • Georges Racinet's avatar
      Testing API to change a project HGRC · 087996f36a3d
      Georges Racinet authored
      Since we don't have an API to read the HGRC yet, we need
      file system access for these particular tests.
      
      It seemed logical to test inheritance management with the
      groups test.
      087996f36a3d
  15. 15 Feb, 2020 3 commits
  16. 17 Feb, 2020 1 commit
  17. 10 Dec, 2019 1 commit
    • Georges Racinet's avatar
      Tests for implicit bookmarks moves · 60062c913ddc
      Georges Racinet authored
      See heptapod#143: since bookmarks are implicitely
      pushed, we have to honour that.
      
      It's also the occasion to test what happens with
      bookmarks deletions, which should also be allowed at
      all time (this is also important for people that have
      bookmarks because they have been using regular hg-git
      for a while)
      60062c913ddc
  18. 18 Feb, 2020 2 commits