Drone CI Build Status (private) | Travis CI Build Status |
---|---|
f12 is an experimental tool to access fat12 images without requiring superuser privileges for mounting them.
It has the ability to
- create fat12 images and optionally install a bootloader and specify a file to boot
- delete files or directories on fat12 images
- get files or directories from fat12 images
- print information about fat12 images
- list the contents of fat12 images
- move files and directories around on fat12 images
- put files or directories on fat12 images
While this tool works for my purposes, it is still experimental. It may work or not. If you really need something like this, you should use GNU mtools.
After checking out this repository run the following commands in it:
autoreconf --install
./configure
make
First update the list of source files to extract marked strings from:
find src -type f \( -name "*.c" -or -name "*.h" \) -print > po/POTFILES.in
Now extract all marked strings:
make -C po update-po
Create a new translation:
msginit \
--input=po/f12.pot \
--output-file=po/<language code>.po \
--locale=<ll_CC[.encoding]>
For exmaple to create a German translation run:
msginit \
--input=po/f12.pot \
--output-file=po/de.po \
--locale=de_DE
Now add the language to to the file po/LINGUAS
make -C po update-gmo
This program features different types of automated testing.
f12 has a small number of unit tests. These can be run with
make check
There exists also a bunch of high level tests which cover most of the applications functions. These are implemented using bats.
Run them with
bats tests
Additional options for these tests can be configured through environment variables:
Variable | Description |
---|---|
VALGRIND |
Set this variable to leak check each test with valgrind |
VALGRIND_TAP |
If set, a tap compliant output containing valgrinds output as comment is written to the file specified in this variable |
TMP_DIR |
Directory for temporary files during the test. This variable must be set to different locations for parallel runs |
f12 can be configured with code coverage enabled.
Configure f12 with code coverage enabled
./configure --enable-coverage
and rebuild the project with a empty CFLAGS
variable (or any custom option except
optimizations).
make clean
make CFLAGS=''