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 0.0 0.0 1.21 MB

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

License: Other

Shell 0.32% Python 46.87% C 8.11% Emacs Lisp 0.10% HTML 0.05% Cython 44.54%

pyfuse3's People

Contributors

blueyed avatar eli-schwartz avatar geofft avatar grunthos avatar i-ky avatar justanotherarchivist avatar jwilk avatar locutusofborg avatar mayli avatar mgorny avatar mkhon avatar nagexiucai avatar nikratio avatar odgalvin avatar pcgrosen avatar thomaswaldmann avatar touilleman avatar

Watchers

 avatar  avatar

pyfuse3's Issues

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

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.

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.