Skip to content

test_os.TimerfdTests fails on FreeBSD 14 and 15: missing select.epoll() #110697

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

Closed
vstinner opened this issue Oct 11, 2023 · 2 comments
Closed

test_os.TimerfdTests fails on FreeBSD 14 and 15: missing select.epoll() #110697

vstinner opened this issue Oct 11, 2023 · 2 comments

Comments

@vstinner
Copy link
Member

vstinner commented Oct 11, 2023

os.timerfd_create() is documented to be available only on Linux, but it's always available on FreeBSD 14.

Problem: the test uses epoll() which is not available on FreeBSD. The test should be redesigned with selectors.DefaultSelector to become portable.

os.timerfd_create() was added recently to the main branch by PR gh-108382: see issue gh-108277.

cc @m-tmatma

Logs:

======================================================================
ERROR: test_timerfd_epoll (test.test_os.TimerfdTests.test_timerfd_epoll)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.opsec-fbsd14/build/Lib/test/test_os.py", line 4099, in test_timerfd_epoll
    ep = select.epoll()
         ^^^^^^^^^^^^
AttributeError: module 'select' has no attribute 'epoll'. Did you mean: 'poll'?

======================================================================
ERROR: test_timerfd_ns_epoll (test.test_os.TimerfdTests.test_timerfd_ns_epoll)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.opsec-fbsd14/build/Lib/test/test_os.py", line 4255, in test_timerfd_ns_epoll
    ep = select.epoll()
         ^^^^^^^^^^^^
AttributeError: module 'select' has no attribute 'epoll'. Did you mean: 'poll'?

FreeBSD 14 build: https://buildbot.python.org/all/#/builders/1232/builds/208

Linked PRs

vstinner added a commit to vstinner/cpython that referenced this issue Oct 12, 2023
Replace select.epoll() with selectors.DefaultSelector to support
FreeBSD 14 and newer.

* Merge common code between test_timerfd_epoll()
  test_timerfd_ns_epoll().
* Replace "_ = func()" with "func()".
* Add TimerfdTests.READ_SIZE constant.
vstinner added a commit to vstinner/cpython that referenced this issue Oct 13, 2023
Replace select.epoll() with selectors.DefaultSelector to support
FreeBSD 14 and newer.

* Merge common code between test_timerfd_epoll()
  test_timerfd_ns_epoll().
* Replace "_ = func()" with "func()".
* Add TimerfdTests.read_count_signaled() method.
vstinner added a commit that referenced this issue Oct 13, 2023
Replace select.epoll() with selectors.DefaultSelector to support
FreeBSD 14 and newer.

* Merge common code between test_timerfd_epoll()
  test_timerfd_ns_epoll().
* Replace "_ = func()" with "func()".
* Add TimerfdTests.read_count_signaled() method.
@m-tmatma
Copy link
Contributor

@vstinner
You already fixed by #110789?

@vstinner
Copy link
Member Author

@vstinner: You already fixed by #110789?

Yes. I was waiting for FreeBSD14 and FreeBSD15 builders: both are now green.

vstinner added a commit to vstinner/cpython that referenced this issue Oct 30, 2023
More TimerfdTests tests tolerate a difference of 1 ms in measured
elapsed time.
vstinner added a commit to vstinner/cpython that referenced this issue Oct 30, 2023
More TimerfdTests tests tolerate a difference of 1 ms in measured
elapsed time.
vstinner added a commit that referenced this issue Oct 30, 2023
More TimerfdTests tests tolerate a difference of 1 ms in measured
elapsed time.
FullteaR pushed a commit to FullteaR/cpython that referenced this issue Nov 3, 2023
More TimerfdTests tests tolerate a difference of 1 ms in measured
elapsed time.
aisk pushed a commit to aisk/cpython that referenced this issue Feb 11, 2024
Replace select.epoll() with selectors.DefaultSelector to support
FreeBSD 14 and newer.

* Merge common code between test_timerfd_epoll()
  test_timerfd_ns_epoll().
* Replace "_ = func()" with "func()".
* Add TimerfdTests.read_count_signaled() method.
aisk pushed a commit to aisk/cpython that referenced this issue Feb 11, 2024
More TimerfdTests tests tolerate a difference of 1 ms in measured
elapsed time.
Glyphack pushed a commit to Glyphack/cpython that referenced this issue Sep 2, 2024
Replace select.epoll() with selectors.DefaultSelector to support
FreeBSD 14 and newer.

* Merge common code between test_timerfd_epoll()
  test_timerfd_ns_epoll().
* Replace "_ = func()" with "func()".
* Add TimerfdTests.read_count_signaled() method.
Glyphack pushed a commit to Glyphack/cpython that referenced this issue Sep 2, 2024
More TimerfdTests tests tolerate a difference of 1 ms in measured
elapsed time.
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

No branches or pull requests

2 participants