Coder Social home page Coder Social logo

Run without root about pjdfstest HOT 7 OPEN

pjd avatar pjd commented on September 26, 2024
Run without root

from pjdfstest.

Comments (7)

dianarg avatar dianarg commented on September 26, 2024 1

Thanks @asomers , I will try playing around with @musikid's fork for now

from pjdfstest.

asomers avatar asomers commented on September 26, 2024

It's basically impossible as they're written now. HOWEVER, @musikid is working on a pjdfstest rewrite which will include that feature: https://github.com/musikid/pjdfstest . Note though that the test coverage will be severely reduced when running as a non-root user.

from pjdfstest.

dianarg avatar dianarg commented on September 26, 2024

As a workaround, I created a docker image containing pjdfstest and the build dependencies here: https://hub.docker.com/r/dianarg/pjdfstest. Use at your own risk. You can mount host directories to be tested using docker run --volume to make them visible within the container. Let me know if you want me to open a PR with the Dockerfile.

from pjdfstest.

dianarg avatar dianarg commented on September 26, 2024

OK, after testing the above image on the rootless system, I am still seeing test failures. I'm not sure if this is related to using Rootless Docker, but I'll keep investigating.

from pjdfstest.

asomers avatar asomers commented on September 26, 2024

What exactly are you trying to accomplish? If you want 100% test coverage, then that absolutely requires root. Using Linux's FS namespaces you might be able to do some privileged operations as a non-root user, but probably not all.

from pjdfstest.

dianarg avatar dianarg commented on September 26, 2024

I want to reproduce the testing done by the JuiceFS devs described in https://github.com/juicedata/juicefs#posix-compatibility. I was hoping running as "root" inside a container would get around checks for uid==0

Which tests absolutely require root, and which ones are using root as an artifact of how the tests are written? For example, I believe it should be possible to test operations like create/unlink/read/write as long as the test user has permissions on the directory used for the test.

from pjdfstest.

asomers avatar asomers commented on September 26, 2024

As-written, pjdfstest doesn't distinguish between tests that need root and tests that don't. But with @musikid's rewrite, it will. In that branch, a non-root user can do a smoke test that covers unprivileged operations like chmod and truncate. But a large part of the test suite will still require root privileges, and there isn't any getting around that.

from pjdfstest.

Related Issues (20)

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.