Commits


Load FUSE kernel module before running testing Regression tests skipped when running on Ubuntu in Cirrus CI. JUnit report contains a reason of skip - Seem a problem exist because FUSE kernel module is not loaded before a testing. https://cirrus-ci.org/guide/linux/


Fix disabled tests on FreeBSD Commit "Use generic os name in tests" (1f70f876d670704bd0422fe1e27d12177b189527) accidentally disabled testing on FreeBSD by adding double negation to condition that enables code for operating systems with fusermount(1). However fusermount(1) is not available on FreeBSD and therefore all regression tests were skipped. Fixes #93


Fix manual pages paths Closes #90


Fix building on FreeBSD Cirrus CI on FreeBSD failed because "No packages available to install matching 'py37-pip' have been found in the repositories"i [1]. Package 'py37-pip' has been replaced with 'py38-pip', see [2]. 1. https://cirrus-ci.com/task/6375178809638912 2. https://www.freshports.org/devel/py-pip/


Introduce Lua rockspec Closes #88


cmake: add install target Part of #88


Add Ubuntu 21.04 with Clang 12 and GCC 10 Follows up #77


Use default GCC and Clang versions on Ubuntu 18.04


Fix multiple definition of conf variable FAILED: unreliablefs : && /usr/bin/cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fstack-protector-strong CMakeFiles/unreliablefs.dir/conf.c.o CMakeFiles/unreliablefs.dir/unreliablefs.c.o CMakeFiles/unreliablefs.dir/unreliablefs_errinj.c.o CMakeFiles/unreliablefs.dir/unreliablefs_ops.c.o -o unreliablefs -Wl,-rpath,/usr/local/lib /usr/local/lib/libfuse.so && : ld: error: duplicate symbol: conf >>> defined at unreliablefs.c >>> CMakeFiles/unreliablefs.dir/unreliablefs.c.o:(conf) >>> defined at unreliablefs_errinj.c >>> CMakeFiles/unreliablefs.dir/unreliablefs_errinj.c.o:(.bss+0x0) cc: error: linker command failed with exit code 1 (use -v to see invocation) Reported-by: Mateusz Piotrowski Closes #77


Publish test results on Cirrus CI Cirrus CI allows to publish testing results in a web interface [1]. Patch specifies a path to JUnit report produced by PyTest in Cirrus CI config. 1. https://cirrus-ci.org/guide/writing-tasks/#artifact-parsing


Run regression tests using make target Introduced `make pytest` that runs regression tests.


Exclude EINTEGRITY errno on FreeBSD < 12 EINTEGRITY errno is supported in FreeBSD release versions greater that 11.4 [1]. This patch excludes EINTEGRITY errno for FreeBSD versions that doesn't support it. To reduce a number of condition I keep a check of major version only. 1. https://reviews.freebsd.org/D18765 Closes #83


Use generic os name in tests Closes #78


tests: add missed pytest.ini config Commit "test: initial regression test suite" (b6eb75dfbb096742e0ae744ba8f04d07c8c4a47c) added initial regression test suite using pytest. However pytest should be use pytest.ini that was missed in described commit. This commit fixes it. Closes #80


readme: describe packages Closes #79


readme: add references and similar projects Closes #47


Add error injection with operation slowdown Closes #29


Add error injection that returns random errno Add a new fault injection that returns random errno supported by performed FUSE operation. The source of errnos for a POSIX function is a POSIX standard. Source of errnos for other functions are Linux, macOS, FreeBSD and OpenBSD manual pages. Closes #6


Use code instead of name for FUSE operation In upcoming patch with implementation of fault injection that returns random errno we need to resolve FUSE operation and to make it easier error_inject() switched from using FUSE operation name to using operation code. Part of: #6


Add error injection that kills caller Closes #28


Fix problem with GPG key


Check probability first


Skip error injections for config file


Fix bug with unsupported error injection type


Fix return code on regex matching