-
Notifications
You must be signed in to change notification settings - Fork 139
Running tests from Linux Test Project
Stanislav Kupryakhin edited this page Feb 19, 2019
·
4 revisions
The Linux Test Project testsuite contains a collection of tools for testing the Linux kernel and related features.
There are many tests for various syscalls that we can utilize for testing nanos.
$ git clone https://github.com/linux-test-project/ltp.git
$ cd ltp
$ make autotools
$ ./configure
If you need to execute a single test you actually does not need to compile whole LTP, if you want to run a syscall testcase following should work.
$ cd testcases/kernel/syscalls/foo
$ make
$ PATH=$PATH:$PWD ./foo01
More detailed instructions are at LTP project page
LTP syscalls tests are executable binaries, so running them in Nanos is straightforward, like this:
cd testcases/kernel/syscalls/futex
ops run futex_wait01
The following tests use fork and not to be runned in nanos:
- futex_wait02
- futex_wake02
- futex_wake03
Testcase | Status | Failure reason / comments |
---|---|---|
futex_wait01 | FAIL | Incorrect syscall return - returned 110, expected -1 (error code should go into errno) |
futex_wait03 | PASS | |
futex_wait04 | PASS | |
futex_wait05 | BROKEN | mkdtemp(/tmp/vSudrh) failed: ENOENT |
futex_wait_bitset01 | BROKEN | mkdtemp(/tmp/QqqTem) failed: ENOENT |
futex_wait_bitset02 | BROKEN | mkdtemp(/tmp/8qVCqf) failed: ENOENT |
futex_wake01 | PASS | |
futex_wake04 | TCONF | Test needs to be run as root (geteuid() == 0). Probably this test is not needed, as it tests some regression in linux kernel |