Comments (7)
So technically we have a test case that runs just to satisfy Homu. In reality we need to have coverage of most of the options in both userns and non-userns scenarios, and cover that with PRs.
I think simplest is doing Fedora and CentOS builds, then have an "installed tests" script that assumes bubblewrap is installed. We can't (AFAIK) use travis for this - I think we should assume we run on VMs/metal, and make it easy to run the test suite after the system has been provisioned however (OpenStack/EC2/whatever).
from bubblewrap.
We can't (AFAIK) use travis for this
You can run with (at least some) privileges on Travis if you combine dist: trusty
with sudo: required
, as I did for dbus.
from bubblewrap.
I'm working on this with CentOS CI, which gives us total control. However a test suite should likely be able to run in both environments.
from bubblewrap.
For C code, GTest seems the obvious choice. Do you have a preferred setup for installed-tests done in other languages, such as shell scripts? (Or would you prefer "shell" scripts in Python with the subprocess module?)
When I added a Debian-specific test for #71 I used https://github.com/sstephenson/bats/ for TAP output, and added some local functions resembling Perl's Test::More for better diagnostics: see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=824968.
from bubblewrap.
bats seems interesting. Refresh my memory, if we have upstream InstalledTests style tests those can be easily bridged to Debian AutoTest right?
from bubblewrap.
Yes, GNOME-style installed-tests are easy to hook up to autopkgtest. For packages that have them, we typically run gnome-desktop-testing-runner as the main autopkgtest, then add others for "integration" stuff (testing the ability to compile and link a "hello world" program to a library using pkg-config is a common one) or for any of the installed-tests that have special dependencies (for instance flatpak-builder).
https://anonscm.debian.org/cgit/collab-maint/flatpak.git/tree/debian/tests is what I have so far for flatpak, which is a fairly typical example.
from bubblewrap.
Proposed bubblewrap tests:
https://anonscm.debian.org/cgit/users/smcv/bubblewrap.git/tree/debian/tests?h=debian/master
(obviously you'd want to change the location of the tests and helper script; I didn't want to start upstreaming until I know what structure you want).
Unfortunately I'm not actually a bubblewrap co-maintainer in Debian at the moment, so that git tree contains fixes that I've proposed, rather than what Debian actually ships.
from bubblewrap.
Related Issues (20)
- Bug: saved ID is not preserved, UID is changed before binding HOT 3
- does bubblewrap blocks syscall utimensat ? HOT 2
- bwrap: Can't find source path /root/.cache/at-spi: Permission denied HOT 6
- bwrap with --unshare-pid runs twice and leaves a zombie process when ran inside a docker container HOT 4
- Directory at /proc/{PID}/root doesn't match root of the sandbox HOT 2
- [How-to] Handle 'chroot' system calls as an unprivileged user HOT 2
- Binding of joystick inside bubblewrap HOT 2
- bubblewrap should fall back to MS_MOVE if pivot_root() fails HOT 3
- What is a proper way to have a regular user with sudo and root in container? HOT 3
- "pivot_root: Invalid argument" when running on a SLURM cluster node from NFS HOT 12
- Overlayfs masking/whiteout layer
- Bubblewrap trying to access `/proc/sys/kernel/overflowuid` HOT 1
- Assessment of the difficulty in porting CPU architecture for bubblewrap HOT 1
- Best practices for running games on Linux with Nvidia HOT 6
- Fails to build with meson 1.3.0 rc1 due to broken bash-completion handling HOT 7
- Please specify the license in Github HOT 1
- [Question] How does bwrap handle nested bindings? HOT 3
- enhancement: --daemonize-with-child option
- not immediately obvious that `--file` can overwrite a file mounted rw from outside the container HOT 4
- bwrap processes not exiting cleanly under Linux 6.8 (likely kernel regression) HOT 24
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bubblewrap.