Skip to content

Running tests from Linux Test Project

Stanislav Kupryakhin edited this page Feb 19, 2019 · 4 revisions

Linux Test Project

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.

Configuring

$ git clone https://github.com/linux-test-project/ltp.git
$ cd ltp
$ make autotools
$ ./configure

Shortcut to running a single test

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

Running futex tests

LTP syscalls tests are executable binaries, so running them in Nanos is straightforward, like this:

cd testcases/kernel/syscalls/futex
ops run futex_wait01

Current futex test results

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
Clone this wiki locally