Coder Social home page Coder Social logo

thomaswaldmann / pyfuse3 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from libfuse/pyfuse3

0.0 2.0 0.0 1.16 MB

Python 3 bindings for libfuse 3 with asynchronous API (Trio compatible)

License: Other

Shell 0.32% Python 47.47% C 8.02% Emacs Lisp 0.10% HTML 0.05% Cython 44.04%

pyfuse3's Issues

test of examples/tmpfs.py fails on github, succeeds locally

PR #1 : Strange: tests work locally on my debian system, but fail on github actions CI like this:

============================= test session starts ==============================
platform linux -- Python 3.6.15, pytest-7.0.1, pluggy-1.0.0 -- /opt/hostedtoolcache/Python/3.6.15/x64/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/pyfuse3/pyfuse3/test, configfile: pytest.ini
plugins: trio-0.7.0
collecting ... collected 17 items

test/test_api.py::test_listdir PASSED                                    [  5%]
test/test_api.py::test_sup_groups PASSED                                 [ 11%]
test/test_api.py::test_syncfs PASSED                                     [ 17%]
test/test_api.py::test_entry_res PASSED                                  [ 23%]
test/test_api.py::test_xattr PASSED                                      [ 29%]
test/test_api.py::test_copy PASSED                                       [ 35%]
test/test_examples.py::test_hello[hello.py] PASSED                       [ 41%]
test/test_examples.py::test_hello[hello_asyncio.py] PASSED               [ 47%]
test/test_examples.py::test_tmpfs FAILED                                 [ 52%]
test/test_examples.py::test_tmpfs ERROR                                  [ 52%]

==================================== ERRORS ====================================
_______________________ ERROR at teardown of test_tmpfs ________________________
Traceback (most recent call last):
  File "/home/runner/work/pyfuse3/pyfuse3/test/pytest_checklogs.py", line 117, in check_output
    check_test_output(capfd, request.node)
  File "/home/runner/work/pyfuse3/pyfuse3/test/pytest_checklogs.py", line 87, in check_test_output
    pytest.fail('Suspicious output to stderr (matched "%s")' % hit.group(0))
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/_pytest/outcomes.py", line 196, in fail
    raise Failed(msg=reason, pytrace=pytrace)
Failed: Suspicious output to stderr (matched "exception")
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
  File "/home/runner/work/pyfuse3/pyfuse3/test/../examples/tmpfs.py", line 121, in get_row
    row = next(self.cursor)
StopIteration

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/pyfuse3/pyfuse3/test/../examples/tmpfs.py", line 451, in <module>
    trio.run(pyfuse3.main)
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/trio/_core/_run.py", line 1932, in run
    raise runner.main_task_outcome.error
  File "/home/runner/work/pyfuse3/pyfuse3/src/_pyfuse3.py", line 43, in wrapper
    await fn(*args, **kwargs)
  File "src/pyfuse3.pyx", line 781, in main
    async with trio.open_nursery() as nursery:
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/trio/_core/_run.py", line 815, in __aexit__
    raise combined_error_from_nursery
  File "/home/runner/work/pyfuse3/pyfuse3/src/_pyfuse3.py", line 43, in wrapper
    await fn(*args, **kwargs)
  File "src/internal.pxi", line 272, in _session_loop
    await py_retval
  File "src/handlers.pxi", line 168, in fuse_setattr_async
    entry = <EntryAttributes?> await operations.setattr(c.ino, entry, fields, fh, ctx)
  File "/home/runner/work/pyfuse3/pyfuse3/test/../examples/tmpfs.py", line 315, in setattr
    return await self.getattr(inode)
  File "/home/runner/work/pyfuse3/pyfuse3/test/../examples/tmpfs.py", line 150, in getattr
    row = self.get_row('SELECT * FROM inodes WHERE id=?', (inode,))
  File "/home/runner/work/pyfuse3/pyfuse3/test/../examples/tmpfs.py", line 123, in get_row
    raise NoSuchRowError()
NoSuchRowError: Query produced 0 result rows
=================================== FAILURES ===================================
__________________________________ test_tmpfs __________________________________
Traceback (most recent call last):
  File "/home/runner/work/pyfuse3/pyfuse3/test/test_examples.py", line 76, in test_tmpfs
    tst_write(mnt_dir)
  File "/home/runner/work/pyfuse3/pyfuse3/test/test_examples.py", line 213, in tst_write
    checked_unlink(name, mnt_dir)
  File "/home/runner/work/pyfuse3/pyfuse3/test/test_examples.py", line 139, in checked_unlink
    assert exc_info.value.errno == errno.ENOENT
AssertionError: assert 107 == 2
  +107
  -2
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
  File "/home/runner/work/pyfuse3/pyfuse3/test/../examples/tmpfs.py", line 121, in get_row
    row = next(self.cursor)
StopIteration

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/pyfuse3/pyfuse3/test/../examples/tmpfs.py", line 451, in <module>
    trio.run(pyfuse3.main)
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/trio/_core/_run.py", line 1932, in run
    raise runner.main_task_outcome.error
  File "/home/runner/work/pyfuse3/pyfuse3/src/_pyfuse3.py", line 43, in wrapper
    await fn(*args, **kwargs)
  File "src/pyfuse3.pyx", line 781, in main
    async with trio.open_nursery() as nursery:
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/trio/_core/_run.py", line 815, in __aexit__
    raise combined_error_from_nursery
  File "/home/runner/work/pyfuse3/pyfuse3/src/_pyfuse3.py", line 43, in wrapper
    await fn(*args, **kwargs)
  File "src/internal.pxi", line 272, in _session_loop
    await py_retval
  File "src/handlers.pxi", line 168, in fuse_setattr_async
    entry = <EntryAttributes?> await operations.setattr(c.ino, entry, fields, fh, ctx)
  File "/home/runner/work/pyfuse3/pyfuse3/test/../examples/tmpfs.py", line 315, in setattr
    return await self.getattr(inode)
  File "/home/runner/work/pyfuse3/pyfuse3/test/../examples/tmpfs.py", line 150, in getattr
    row = self.get_row('SELECT * FROM inodes WHERE id=?', (inode,))
  File "/home/runner/work/pyfuse3/pyfuse3/test/../examples/tmpfs.py", line 123, in get_row
    raise NoSuchRowError()
NoSuchRowError: Query produced 0 result rows
=========================== short test summary info ============================
FAILED test/test_examples.py::test_tmpfs - assert 107 == 2
ERROR test/test_examples.py::test_tmpfs - Failed: Suspicious output to stderr...
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 2 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
===================== 1 failed, 8 passed, 1 error in 2.57s =====================
Error: Process completed with exit code 1.

race condition in tests?

This only sometimes happens when testing locally on Debian:

Traceback (most recent call last):
  File "/home/user/w/pyfuse3/test/test_examples.py", line 124, in test_passthroughfs
    tst_passthrough(src_dir, mnt_dir)
  File "/home/user/w/pyfuse3/test/test_examples.py", line 427, in tst_passthrough
    assert_same_stats(src_name, mnt_name)
  File "/home/user/w/pyfuse3/test/test_examples.py", line 438, in assert_same_stats
    assert  v1 == v2, 'Attribute {} differs by {} ({} vs {})'.format(
AssertionError: Attribute st_mtime_ns differs by 1000000 (1654026289613000000 vs 1654026289612000000)
assert 1654026289613000000 == 1654026289612000000

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.