1. 08 Nov, 2023 3 commits
    • Jérome Perrin's avatar
      Zelenium: update key event dispatching to support modern browsers · 2d11e356
      Jérome Perrin authored
      Use the new KeyboardEvent instead of deprecated KeyEvent and
      initKeyEvent, see
      https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyEvent#specifications
      and
      nexedi/slapos!800 (comment 115488)
      
      In old firefox dispatching a fake keydown event with keycode 13 (enter)
      on an input field was enough to submit the corresponding form, like in
      a real browser and like in webdriver, but in modern browsers this no
      longer submits the form. Adjust the logic to submit the form to mimic
      real browser behavior.
      Co-authored-by: Romain Courteaud's avatarRomain Courteaud <romain@nexedi.com>
      2d11e356
    • Jérome Perrin's avatar
      officejs_ui_test: use a more relaxed selector for spreadsheet · 6ddf3e67
      Jérome Perrin authored
      When I run this test on chrome, the div has two classes, spreadsheet
      and jexcel_tab, this fixes a failure that the element is not found in
      erp5_officejs_ui_test:testFunctionalOfficeJSWebTable
      6ddf3e67
    • Jérome Perrin's avatar
      renderjs: adjust <input type="datetime-local"> support · 68dad4af
      Jérome Perrin authored
      We were setting the value to a string with seconds like
      `2010-01-01T00:00:00` and all the tests were testing that the value of
      the input element was exactly the same (ie. with seconds), but [the spec]
      mentions that value is:
      
       - A valid date string representing the date.
       - A U+0054 LATIN CAPITAL LETTER T character (T).
       - A valid time string representing the time, expressed as the shortest
        possible string for the given time (e.g. omitting the seconds
        component entirely if the given time is zero seconds past the minute).
      
      The test works fine when running on firefox 68 (the one from testnodes),
      because this version does not implements datetime-local and such field
      behave like text inputs, but when running with a modern browser
      implementing the spec, the test fails because the value from the fields
      `.value` does not have seconds.
      
      While the change to rjs_gadget_erp5_datetimefield_js is not strictly
      necessary, because when setting the value on a datetime-local the value
      will be normalized and having 00 seconds or omitting the seconds is same,
      this is done to keep the test passing on old browsers without support
      for datetime-local fields.
      
      [the spec]: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#concept-datetime-local
      68dad4af
  2. 07 Nov, 2023 2 commits
    • Jérome Perrin's avatar
      Zelenium: output selenium logs to javascript console · 91adac4b
      Jérome Perrin authored
      so that we can see them on testnode.
      91adac4b
    • Jérome Perrin's avatar
      Zelenium: add an option to ignore snapshot tests · e3b36c38
      Jérome Perrin authored
      Because they depend on the browser version, the window size, the
      available fonts and maybe other things, snapshot tests basically only
      work when running on testnode and fail when we run the tests from our
      browsers locally. With this option, the difference of snapshot are not
      considered a failure.
      
      Also adjust snapshots, because this adds a checkbox in the upper frame,
      the viewport of the test frame is now a little bit taller.
      e3b36c38
  3. 27 Oct, 2023 4 commits
    • Jérome Perrin's avatar
      corporate_identity_test: fix coding style test · 07496d63
      Jérome Perrin authored
      This code seems to have been pushed accidentally as part of 6e5e8e8c
      (fixup! test: follow recent ImageMagick spec., 2023-10-11)
      07496d63
    • Jérome Perrin's avatar
      Revert "erp5_pdm: show first newest movement in movement history dialog" · e8d20966
      Jérome Perrin authored
      This reverts commit 14831fae.
      
      As discussed in nexedi/erp5@14831fae (comment 188678)
      this change breaks test and it seems more natural to implement this with
      listbox's sort parameter.
      
      This change will be pushed again, probably as part of
      nexedi/erp5!1305
      e8d20966
    • Jérome Perrin's avatar
      ui_test_core: trigger a change event after setFile · dd353a28
      Jérome Perrin authored
      This is what browsers do when user selects a file.
      dd353a28
    • Jérome Perrin's avatar
      testnode: make killall support processes with changed title · 21147419
      Jérome Perrin authored
      testnode uses ProcessManager.killall to terminate all processes from a
      path. To determine if a process is from a path, it looks at the command
      line. This does not work for processes using setproctitle to change
      their command line.
      
      We can see in ps:
      
          $ ps -edf | grep nginx
          slapuse+ 115059  45574  0 16:14 ?        00:00:00 nginx: master process /srv/slapgrid/slappart46/t/cvt/i/0/tmp/shared/nginx/6d79cb0e7d81dce1be97eec8a5712f08/sbin/nginx -c /srv/slapgrid/slappart46/t/cvt/i/0/tmp/inst/T-0/etc/nginx-master-introspection.conf
          slapuse+ 115090 115059  0 16:14 ?        00:00:00 nginx: worker process
      
      or by looking at cmdline, which is what psutil.Process.cmdline is using:
      
          $ cat /proc/115090/cmdline
          nginx: worker process
      
      and that's why sometimes when cancelling a software release test while
      it is running tests from a software using nginx, some processes are
      leaked, they keep using the port and next test running on this testnode
      fail.
      
      In that case, killall is called with /srv/slapgrid/slappart46/t/cvt , we
      can not find such process with cmdline, but we can extend this heuristic
      to use the current working directory:
      
          $ ls -al /proc/115090/cwd
          lrwxrwxrwx 1 slapuser46 slapuser46 0 Oct 19 16:16 /proc/115090/cwd -> /srv/slapgrid/slappart46/t/cvt/i/0/tmp/inst/T-0
      
      This also applies an optimization of only considering processes of the
      current unix user.
      21147419
  4. 20 Oct, 2023 3 commits
  5. 19 Oct, 2023 2 commits
  6. 18 Oct, 2023 3 commits
  7. 17 Oct, 2023 4 commits
  8. 13 Oct, 2023 2 commits
  9. 11 Oct, 2023 3 commits
  10. 10 Oct, 2023 5 commits
  11. 06 Oct, 2023 1 commit
  12. 04 Oct, 2023 2 commits
  13. 03 Oct, 2023 1 commit
  14. 02 Oct, 2023 4 commits
    • Roque's avatar
      Capture the flag game new features · 3a9d947c
      Roque authored
      See merge request nexedi/erp5!1824
      3a9d947c
    • Roque's avatar
      erp5_officejs_drone_capture_flag: new map randomization strategy · 36b5ce60
      Roque authored
      - grid of blocks
      - set of block templates
      - randomization conditions
      - new terrarin texture
      - refine enemy drone collision
      - more aggressive enemies
      36b5ce60
    • Roque's avatar
      erp5_officejs_drone_capture_flag: app display using dialog steps pattern · 26d6772a
      Roque authored
      - drop import/export json
      - API for operator script
      - map utils class update
      - doc api update
      - all visible map parameters are geo
      - allow to run twice
      - fix default ai drone script distance fn
      - fix flag elements position (altitude)
      - better error handling
      26d6772a
    • Roque's avatar
      erp5_officejs_drone_capture_flag: new script operator feature and more · cbf008fa
      Roque authored
      - add a new operator script editor
      - update finish rules and scoring system
      - refactor map parameters
      - map randomization is done now by new class map utils
      - update init flag info msg
      - import/export script feature
      - update web site CSP
      - ui: activate js syntax in user script editor
      - ui: styles, section titles, etc - doc api update
      - fixes/refactoring
      -- fix default target coordinates bug
      -- control empty/invalid user scripts
      -- raise an error on user script syntax error
      -- fix onUpdate timestamp parameter (to integer milliseconds)
      -- fix drone loiter (based on nexedi/erp5!1817/)
      cbf008fa
  15. 29 Sep, 2023 1 commit