Commit Briefs

Sergey Bronnikov

Load FUSE kernel module before running testing (ligurio/fix-tests-on-ubuntu)

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/


Sergey Bronnikov

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


Sergey Bronnikov

Fix manual pages paths

Closes #90


Sergey Bronnikov

Fix building on FreeBSD (tags/0.2.0)

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/


Sergey Bronnikov

Introduce Lua rockspec

Closes #88


Sergey Bronnikov

cmake: add install target

Part of #88


Sergey Bronnikov

Add Ubuntu 21.04 with Clang 12 and GCC 10

Follows up #77



Sergey Bronnikov

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


Sergey Bronnikov

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


Sergey Bronnikov

Run regression tests using make target

Introduced `make pytest` that runs regression tests.


Sergey Bronnikov

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


Sergey Bronnikov

Use generic os name in tests

Closes #78


Sergey Bronnikov

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


Sergey Bronnikov

readme: describe packages

Closes #79


Sergey Bronnikov

readme: add references and similar projects (tags/0.1.0)

Closes #47


Sergey Bronnikov

Add error injection with operation slowdown

Closes #29


Sergey Bronnikov

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


Sergey Bronnikov

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


Sergey Bronnikov

Add error injection that kills caller

Closes #28


Sergey Bronnikov

Fix problem with GPG key


Sergey Bronnikov

Check probability first


Sergey Bronnikov

Skip error injections for config file



Sergey Bronnikov

Fix return code on regex matching