Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port robot tests #4019

Open
wants to merge 37 commits into
base: master
Choose a base branch
from
Open

Port robot tests #4019

wants to merge 37 commits into from

Conversation

@1letter 1letter linked an issue Oct 7, 2024 that may be closed by this pull request
22 tasks
@mister-roboto
Copy link

@1letter thanks for creating this Pull Request and helping to improve Plone!

TL;DR: Finish pushing changes, pass all other checks, then paste a comment:

@jenkins-plone-org please run jobs

To ensure that these changes do not break other parts of Plone, the Plone test suite matrix needs to pass, but it takes 30-60 min. Other CI checks are usually much faster and the Plone Jenkins resources are limited, so when done pushing changes and all other checks pass either start all Jenkins PR jobs yourself, or simply add the comment above in this PR to start all the jobs automatically.

Happy hacking!

@petschki
Copy link
Member

petschki commented Oct 7, 2024

@gforcada we're almost through with porting CMFPlone robot tests to playwright but right now the rfbrowser init fails on jenkins. We use this with the coredev PR here: plone/buildout.coredev#954 to get the latest versions for robotframework-browser .. the error on the jenkins console says:

2024-10-07 05:27:33,807 [INFO    ] Traceback (most recent call last):
  File "/home/jenkins/.buildout/eggs/cp312/robotframework_browser-17.5.2-py3.12.egg/Browser/entry.py", line 324, in init
    _rfbrowser_init(skip_browsers, silent_mode, with_deps, browser)
  File "/home/jenkins/.buildout/eggs/cp312/robotframework_browser-17.5.2-py3.12.egg/Browser/entry.py", line 131, in _rfbrowser_init
    _check_npm()
  File "/home/jenkins/.buildout/eggs/cp312/robotframework_browser-17.5.2-py3.12.egg/Browser/entry.py", line 123, in _check_npm
    raise exception
  File "/home/jenkins/.buildout/eggs/cp312/robotframework_browser-17.5.2-py3.12.egg/Browser/entry.py", line 111, in _check_npm
    subprocess.run(
  File "/srv/python3.12/lib/python3.12/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/python3.12/lib/python3.12/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/srv/python3.12/lib/python3.12/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'npm'

do you have an idea how to fix this?

@petschki
Copy link
Member

petschki commented Oct 7, 2024

/cc @mauritsvanrees once this is done, I think we can update the coredev versions again... these playwright tests should be much more stable than the selenium ones.

@1letter
Copy link
Sponsor Contributor Author

1letter commented Oct 7, 2024

@petschki @mauritsvanrees @datakurre
robodoc ist obsolete, right? Should the entire folder be removed/Products/CMFPlone/tests/robot/robodoc ?

@mauritsvanrees
Copy link
Sponsor Member

I think they can be removed yes.

@stevepiercy Is the robodoc directory used anywhere in current docs? I don't think so. Apparently it was originally some doctests used for generating screen shots. See its readme.

Looking at the history, the last real commit was from 2018, all commits afterwards look more like search-and-replace through the entire code base.

@stevepiercy
Copy link
Contributor

I think they can be removed yes.

@stevepiercy Is the robodoc directory used anywhere in current docs? I don't think so. Apparently it was originally some doctests used for generating screen shots. See its readme.

There is one mention in the docs regarding usage. Does this need to be updated?

There is no documentation about how to use these changes in whatever context they are intended to be used. Not even a README. What's up with that?

@datakurre
Copy link
Member

@petschki @mauritsvanrees @datakurre
robodoc ist obsolete, right? Should the entire folder be removed/Products/CMFPlone/tests/robot/robodoc ?

I second to remove.

@wesleybl
Copy link
Member

wesleybl commented Oct 10, 2024

the error on the jenkins console says:

It looks like node is not installed in Jenkins.

@wesleybl
Copy link
Member

the error on the jenkins console says:

It seems that node is not installed only on Node1. On Node3 and Node4 it is installed.

@petschki petschki marked this pull request as ready for review October 11, 2024 05:17
@petschki
Copy link
Member

I have now tested this on all 3 nodes:

Node 1: https://jenkins.plone.org/job/pull-request-6.1-3.12/726/
Node 3: https://jenkins.plone.org/job/pull-request-6.1-3.12/728/
Node 4: https://jenkins.plone.org/job/pull-request-6.1-3.12/727/

Result:

Node 1:

  • no node available
FileNotFoundError: [Errno 2] No such file or directory: 'npm' 

Node 3 and 4:

  • node outdated
...
2024-10-10 22:24:34,966 [INFO    ] npm WARN EBADENGINE Unsupported engine {
2024-10-10 22:24:34,966 [INFO    ] npm WARN EBADENGINE   package: '@eslint/[email protected]',
2024-10-10 22:24:34,966 [INFO    ] npm WARN EBADENGINE   required: { node: '^18.18.0 || ^20.9.0 || >=21.1.0' },
2024-10-10 22:24:34,966 [INFO    ] npm WARN EBADENGINE   current: { node: 'v20.5.1', npm: '9.8.0' }
2024-10-10 22:24:34,966 [INFO    ] npm WARN EBADENGINE }
...

@gforcada FYI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Port robot framework tests to Playwright
7 participants