Go to file
Ivan Baravy f39db79da3 Coverage and testing harness improvements.
Use -c key for umka_shell to trace branches, no recompilation needed.
Create >4GiB file for tests.
Create empty kolibri.img and put built default.skn there.
2020-03-08 20:58:45 +03:00
img Coverage and testing harness improvements. 2020-03-08 20:58:45 +03:00
test Coverage and testing harness improvements. 2020-03-08 20:58:45 +03:00
tools Coverage and testing harness improvements. 2020-03-08 20:58:45 +03:00
.gitignore Coverage collection speed up 4x! 2020-02-21 05:21:09 +03:00
covpreproc.c Coverage collection speed up 4x! 2020-02-21 05:21:09 +03:00
GPL2.txt Collect coverage via LBR profiling. 2019-10-09 02:35:47 +03:00
GPL3.txt Collect coverage via LBR profiling. 2019-10-09 02:35:47 +03:00
kolibri.h Coverage collection speed up 4x! 2020-02-21 05:21:09 +03:00
LICENSE Collect coverage via LBR profiling. 2019-10-09 02:35:47 +03:00
lodepng.c Update LodePNG, add -Wswitch-enum option. 2020-02-20 00:59:16 +03:00
lodepng.h Update LodePNG, add -Wswitch-enum option. 2020-02-20 00:59:16 +03:00
makefile Coverage and testing harness improvements. 2020-03-08 20:58:45 +03:00
README Save screenshots to PNG, make tests compare screenshots. 2020-02-19 03:56:58 +03:00
syscalls.h Replace cwd asm procs with inline __asm__ ones. 2020-02-19 05:47:17 +03:00
system.inc Use llseek syscall instead of lseek. 2018-05-15 09:54:22 +03:00
TODO Fix reading at the end of file, update tests, add TODO. 2019-10-27 03:54:38 +03:00
trace_lbr.c Coverage and testing harness improvements. 2020-03-08 20:58:45 +03:00
trace_lbr.h Collect coverage via LBR profiling. 2019-10-09 02:35:47 +03:00
trace.c Remove LWP stub. 2020-02-06 06:30:31 +03:00
trace.h Collect coverage via LBR profiling. 2019-10-09 02:35:47 +03:00
umka_fuse.c Disable disk cache in tests. 2020-03-08 01:27:37 +03:00
umka_shell.c Coverage and testing harness improvements. 2020-03-08 20:58:45 +03:00
umka.asm Disable disk cache in tests. 2020-03-08 01:27:37 +03:00
vdisk.c Disable disk cache in tests. 2020-03-08 01:27:37 +03:00
vdisk.h Disable disk cache in tests. 2020-03-08 01:27:37 +03:00

UMKa -- User-Mode KolibriOS developer tools
===========================================

This is a common project for a set of KolibriOS developer tools which are based
on original KolibriOS code wrapped and hacked as to run in the UNIX programming
environment. The idea is to make userspace UNIX tools that use as much unchanged
KolibriOS source as possible to test architecture-independent parts of the
kernel in your favorite developer environment.


umka_shell
----------

is an interactive shell with commands that are wrappers around KolibriOS kernel
block, FS, UI and other functions. Can read input from the keyboard, stdin and a
file, i.e. can be used for automated testing.


umka_fuse
---------

is like kofu above but commands are translated from FUSE calls, not entered
manually. Can *potentially* be used to run xfstests (cross-fs-tests) and
automated tests against reference FS implementations.


BUILD
-----

$ KOLIBRI=/path/to/kolibrios make

/path/to/kolibrios is where you checked out `svn co svn://kolibrios.org`.


Architecture
------------

Kernel services are replaced with stubs, wrappers around userspace
implementation or libc calls. Block devices are emulated with regular files.
Framebuffer can be dumped to disk as image file.


Troubleshooting
---------------

No troubles -- no shooting.


Links & Acknowledgements
------------------------

[1] Filesystem in Userspace library
    https://github.com/libfuse/libfuse

[2] LodePNG by Lode Vandevenne
    https://lodev.org/lodepng/