No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jeremy Soller 576eb62b57 Merge branch 'fix-cross-arch' into 'master'
Fix compilation for cross arch

See merge request redox-os/acid!26
2026-08-21 06:53:09 -06:00
src Fix compilation for cross arch 2026-08-21 01:15:06 +07:00
.gitignore Add Cargo.lock 2017-07-26 07:52:04 -06:00
.gitlab-ci.yml Improve CI 2026-08-21 01:19:50 +07:00
Cargo.lock refactor: Call librdox functions instead of direct syscalls 2026-07-01 08:44:05 -06:00
Cargo.toml refactor: Call librdox functions instead of direct syscalls 2026-07-01 08:44:05 -06:00
LICENSE Add some source 2016-08-13 15:18:41 -06:00
README.md Temporarily strip test options 2026-01-22 09:30:59 +07:00

acid

Redox general-purpose test suite.

It contains tests to detect regressions, race conditions, kernel faults, incorrect kernel behavior, anything that internal Redox API exposed.

This test suite does not test relibc behavior or POSIX conformance, those should be in relibc tests.

Running test

Two primary way to run tests:

Cargo

Clone this repository in Redox OS, then either run cargo test or cargo bench. Use this if you just want to see if the test passed or not, or get a consistent overall benchmark result.

If you are trying to run the test outside Redox OS, use redoxer to run the test inside an emulation.

Test binary

Build this repository in Redox OS, or install using pkg install acid, then run acid [test-name].

Tests

  • acid avx2 - TODO
  • acid create_test - TODO
  • acid channel - TODO
  • acid page_fault - Not working
  • acid tcp_fin - TODO
  • acid thread - TODO
  • acid tls - TODO
  • acid cross_scheme_link - TODO
  • acid efault - TODO
  • acid direction_flag_sc - TODO
  • acid direction_flat_int - TODO
  • acid pipe - TODO
  • acid scheme_data_leak_proc - TODO
  • acid scheme_data_leak_thread - TODO
  • acid scheme_call - TODO
  • acid relibc_leak - TODO
  • acid clone_grant_using_fmap - TODO
  • acid clone_grant_using_fmap_lazy - TODO
  • acid anonymous_map_shared - TODO
  • acid tlb - TODO
  • acid file_mmap - TODO
  • acid redoxfs_range_bookkeeping - TODO
  • acid eintr - TODO
  • acid syscall_bench - TODO
  • acid filetable_leak - TODO
  • acid pgrp_lifetime - TODO
  • acid waitpid_transitive_queue - TODO
  • acid waitpid_status_discard - TODO
  • acid waitpid_esrch - TODO
  • acid using_signal_hook - TODO
  • acid wcontinued_sigcont_catching - TODO
  • acid stop_orphan_pgrp - TODO
  • acid orphan_exit_sighup - TODO
  • acid orphan_exit_sighup_session - TODO
  • acid wcontinued_sigcont_catching - TODO
  • acid thread_reap - TODO
  • acid waitpid_setpgid_echild - TODO
  • acid setsid - TODO
  • acid setpgid - TODO
  • acid reparenting - TODO
  • acid fork_tree_bench - TODO
  • acid fork_serial_bench - TODO
  • acid fork_exec_tree_bench - TODO
  • acid fork_exec_serial_bench - TODO
  • acid uds_dgram - Test the Unix Domain Socket datagram protocol.
  • acid uds_stream - Test the Unix Domain Socket stream protocol.
  • acid uds_dgram_msghdr - Test the sendmsg/recvmsg functionality over Unix Domain Sockets datagram protocol.
  • acid uds_stream_msghdr - Test the sendmsg/recvmsg functionality over Unix Domain Sockets stream protocol.
  • acid fdtbl - Test the bulk fd passing mechanism with the separated file tables.
  • acid switch - Test to measure the context switch time in nanoseconds (ns).
P - Parent context switch count (500 by deafult)
C - Child context switch count (500 by deafult)
T - Timestamp counter difference

(The timestamp counter is not reliable on every system)