From 6e79dc14d281437bb09d81c9f80d545ba6305743 Mon Sep 17 00:00:00 2001 From: Qingsong Chen Date: Tue, 10 Feb 2026 08:20:49 +0000 Subject: [PATCH 1/2] Rename apps to regression --- .github/actions/test/action.yml | 2 +- .github/workflows/test_x86.yml | 12 +++++------ .github/workflows/test_x86_tdx.yml | 10 +++++----- Makefile | 20 +++++++++---------- book/src/kernel/advanced-instructions.md | 6 +++--- test/initramfs/Makefile | 16 +++++++-------- test/initramfs/README.md | 10 +++++----- test/initramfs/nix/default.nix | 10 ++++++---- test/initramfs/nix/initramfs.nix | 10 +++++----- .../nix/{apps.nix => regression.nix} | 8 ++++---- .../src/{apps => regression}/.clang-format | 0 .../src/{apps => regression}/Makefile | 4 ++-- .../src/{apps => regression}/alarm/Makefile | 0 .../src/{apps => regression}/alarm/alarm.c | 0 .../{apps => regression}/capability/Makefile | 0 .../capability/capabilities.c | 0 .../src/{apps => regression}/chroot/Makefile | 0 .../{apps => regression}/chroot/chroot_jail.c | 0 .../src/{apps => regression}/clone3/Makefile | 0 .../clone3/clone_exit_signal.c | 0 .../{apps => regression}/clone3/clone_files.c | 0 .../clone3/clone_no_exit_signal.c | 0 .../clone3/clone_parent.c | 0 .../clone3/clone_process.c | 0 .../cpu_affinity/Makefile | 0 .../cpu_affinity/cpu_affinity.c | 0 .../src/{apps => regression}/devfs/Makefile | 0 .../src/{apps => regression}/devfs/evdev.c | 0 .../{apps => regression}/devfs/framebuffer.c | 0 .../src/{apps => regression}/devfs/full.c | 0 .../src/{apps => regression}/devfs/random.c | 0 .../src/{apps => regression}/epoll/Makefile | 0 .../{apps => regression}/epoll/epoll_err.c | 0 .../{apps => regression}/epoll/epoll_pwait.c | 0 .../{apps => regression}/epoll/epoll_wait.c | 0 .../src/{apps => regression}/epoll/poll_err.c | 0 .../{apps => regression}/eventfd2/Makefile | 0 .../{apps => regression}/eventfd2/eventfd2.c | 0 .../src/{apps => regression}/execve/Makefile | 0 .../src/{apps => regression}/execve/execve.c | 0 .../{apps => regression}/execve/execve_err.c | 0 .../execve/execve_memfd.c | 0 .../execve/execve_mt_child.c | 0 .../execve/execve_mt_parent.c | 0 .../src/{apps => regression}/execve/hello.c | 0 .../src/{apps => regression}/exit/Makefile | 0 .../src/{apps => regression}/exit/exit_code.c | 0 .../{apps => regression}/exit/exit_procfs.c | 0 .../src/{apps => regression}/ext2/Makefile | 0 .../src/{apps => regression}/ext2/mknod.c | 0 .../{apps => regression}/ext2/unix_socket.c | 0 .../{apps => regression}/fdatasync/Makefile | 0 .../fdatasync/fdatasync.c | 0 .../src/{apps => regression}/file_io/Makefile | 0 .../{apps => regression}/file_io/access_err.c | 0 .../{apps => regression}/file_io/file_err.c | 0 .../{apps => regression}/file_io/file_io.c | 0 .../{apps => regression}/file_io/iovec_err.c | 0 .../src/{apps => regression}/fork/Makefile | 0 .../src/{apps => regression}/fork/fork.S | 0 .../src/{apps => regression}/fork_c/Makefile | 0 .../src/{apps => regression}/fork_c/fork.c | 0 .../generate_tdx_quote/Makefile | 0 .../src/{apps => regression}/getcpu/Makefile | 0 .../src/{apps => regression}/getcpu/getcpu.c | 0 .../src/{apps => regression}/getpid/Makefile | 0 .../src/{apps => regression}/getpid/getpid.c | 0 .../src/{apps => regression}/hello_c/Makefile | 0 .../src/{apps => regression}/hello_c/hello.c | 0 .../{apps => regression}/hello_pie/Makefile | 0 .../{apps => regression}/hello_pie/hello.c | 0 .../{apps => regression}/hello_world/Makefile | 0 .../hello_world/hello_world.S | 0 .../src/{apps => regression}/inotify/Makefile | 0 .../inotify/inotify_align.c | 0 .../inotify/inotify_poll.c | 0 .../inotify/inotify_unlink.c | 0 .../src/{apps => regression}/itimer/Makefile | 0 .../{apps => regression}/itimer/setitimer.c | 0 .../itimer/timer_create.c | 0 .../src/{apps => regression}/mmap/Makefile | 0 .../{apps => regression}/mmap/mmap_and_fork.c | 0 .../mmap/mmap_and_mprotect.c | 0 .../mmap/mmap_and_mremap.c | 0 .../mmap/mmap_beyond_the_file.c | 0 .../src/{apps => regression}/mmap/mmap_err.c | 0 .../{apps => regression}/mmap/mmap_holes.c | 0 .../mmap/mmap_readahead.c | 0 .../mmap/mmap_shared_filebacked.c | 0 .../{apps => regression}/mmap/mmap_vmrss.c | 0 .../{apps => regression}/mongoose/.gitignore | 0 .../{apps => regression}/mongoose/Makefile | 0 .../mongoose/http_client.c | 0 .../mongoose/http_server.c | 0 .../{apps => regression}/namespace/Makefile | 0 .../{apps => regression}/namespace/mnt_ns.c | 0 .../{apps => regression}/namespace/setns.c | 0 .../{apps => regression}/namespace/unshare.c | 0 .../src/{apps => regression}/network/Makefile | 0 .../network/listen_backlog.c | 0 .../network/netlink_route.c | 0 .../{apps => regression}/network/rtnl_err.c | 0 .../network/send_buf_full.c | 0 .../{apps => regression}/network/sendmmsg.c | 0 .../{apps => regression}/network/socketpair.c | 0 .../{apps => regression}/network/sockoption.c | 0 .../network/sockoption_unix.c | 0 .../{apps => regression}/network/tcp_client.c | 0 .../{apps => regression}/network/tcp_err.c | 0 .../{apps => regression}/network/tcp_poll.c | 0 .../network/tcp_reuseaddr.c | 0 .../{apps => regression}/network/tcp_server.c | 0 .../network/udp_broadcast.c | 0 .../{apps => regression}/network/udp_client.c | 0 .../{apps => regression}/network/udp_err.c | 0 .../{apps => regression}/network/udp_server.c | 0 .../{apps => regression}/network/uevent_err.c | 0 .../network/unix_client.c | 0 .../network/unix_datagram_err.c | 0 .../network/unix_seqpacket_err.c | 0 .../network/unix_server.c | 0 .../network/unix_stream_err.c | 0 .../network/unix_streamlike_epilogue.h | 0 .../network/unix_streamlike_prologue.h | 0 .../{apps => regression}/overlayfs/Makefile | 0 .../{apps => regression}/overlayfs/ovl_test.c | 0 .../src/{apps => regression}/pipe/Makefile | 0 .../src/{apps => regression}/pipe/pipe_err.c | 0 .../src/{apps => regression}/pipe/short_rw.c | 0 .../src/{apps => regression}/prctl/Makefile | 0 .../{apps => regression}/prctl/secure_bits.c | 0 .../{apps => regression}/prctl/subreaper.c | 0 .../src/{apps => regression}/process/Makefile | 0 .../process/group_session.c | 0 .../process/job_control.c | 0 .../src/{apps => regression}/process/pidfd.c | 0 .../process/pidfd_getfd.c | 0 .../src/{apps => regression}/process/wait4.c | 0 .../src/{apps => regression}/procfs/Makefile | 0 .../procfs/dentry_cache.c | 0 .../src/{apps => regression}/procfs/pid_mem.c | 0 .../{apps => regression}/pseudofs/Makefile | 0 .../pseudofs/memfd_access_err.c | 0 .../pseudofs/pseudo_dentry.c | 0 .../pseudofs/pseudo_file_cleanup.h | 0 .../pseudofs/pseudo_file_create.h | 0 .../pseudofs/pseudo_inode.c | 0 .../pseudofs/pseudo_mount.c | 0 .../src/{apps => regression}/pthread/Makefile | 0 .../pthread/pthread_signal_test.c | 0 .../pthread/pthread_test.c | 0 .../src/{apps => regression}/pty/Makefile | 0 .../src/{apps => regression}/pty/close_pty.c | 0 .../src/{apps => regression}/pty/open_ptmx.c | 0 .../src/{apps => regression}/pty/open_pty.c | 0 .../{apps => regression}/pty/pty_blocking.c | 0 .../pty/pty_packet_mode.c | 0 .../src/{apps => regression}/sched/Makefile | 0 .../sched/sched_attr_getset.c | 0 .../sched/sched_param_getset.c | 0 .../sched/sched_param_idle.c | 0 .../src/{apps => regression}/scripts/Makefile | 0 .../scripts/boot_hello.sh | 0 .../{apps => regression}/scripts/cgroup.sh | 0 .../src/{apps => regression}/scripts/fs.sh | 0 .../{apps => regression}/scripts/network.sh | 0 .../{apps => regression}/scripts/process.sh | 0 .../scripts/run_regression_test.sh} | 2 +- .../scripts/run_vsock_test.sh | 0 .../{apps => regression}/scripts/shell_cmd.sh | 0 .../scripts/test_epoll_pwait.sh | 0 .../scripts/vsock_commands.sh | 0 .../src/{apps => regression}/shm/Makefile | 0 .../src/{apps => regression}/shm/posix_shm.c | 0 .../{apps => regression}/signal_c/Makefile | 0 .../src/{apps => regression}/signal_c/kill.c | 0 .../signal_c/parent_death_signal.c | 0 .../signal_c/pidfd_send_signal.c | 0 .../signal_c/sigaltstack.c | 0 .../{apps => regression}/signal_c/signal_fd.c | 0 .../signal_c/signal_fpu.c | 0 .../signal_c/signal_rflags_df.c | 0 .../signal_c/signal_test.c | 0 .../signal_c/signal_test2.c | 0 .../initramfs/src/{apps => regression}/test.h | 6 +++--- .../src/{apps => regression}/test_common.mk | 0 .../src/{apps => regression}/vsock/Makefile | 0 .../{apps => regression}/vsock/vsock_client.c | 0 .../{apps => regression}/vsock/vsock_server.c | 0 tools/docker/Dockerfile | 2 +- 190 files changed, 60 insertions(+), 58 deletions(-) rename test/initramfs/nix/{apps.nix => regression.nix} (89%) rename test/initramfs/src/{apps => regression}/.clang-format (100%) rename test/initramfs/src/{apps => regression}/Makefile (93%) rename test/initramfs/src/{apps => regression}/alarm/Makefile (100%) rename test/initramfs/src/{apps => regression}/alarm/alarm.c (100%) rename test/initramfs/src/{apps => regression}/capability/Makefile (100%) rename test/initramfs/src/{apps => regression}/capability/capabilities.c (100%) rename test/initramfs/src/{apps => regression}/chroot/Makefile (100%) rename test/initramfs/src/{apps => regression}/chroot/chroot_jail.c (100%) rename test/initramfs/src/{apps => regression}/clone3/Makefile (100%) rename test/initramfs/src/{apps => regression}/clone3/clone_exit_signal.c (100%) rename test/initramfs/src/{apps => regression}/clone3/clone_files.c (100%) rename test/initramfs/src/{apps => regression}/clone3/clone_no_exit_signal.c (100%) rename test/initramfs/src/{apps => regression}/clone3/clone_parent.c (100%) rename test/initramfs/src/{apps => regression}/clone3/clone_process.c (100%) rename test/initramfs/src/{apps => regression}/cpu_affinity/Makefile (100%) rename test/initramfs/src/{apps => regression}/cpu_affinity/cpu_affinity.c (100%) rename test/initramfs/src/{apps => regression}/devfs/Makefile (100%) rename test/initramfs/src/{apps => regression}/devfs/evdev.c (100%) rename test/initramfs/src/{apps => regression}/devfs/framebuffer.c (100%) rename test/initramfs/src/{apps => regression}/devfs/full.c (100%) rename test/initramfs/src/{apps => regression}/devfs/random.c (100%) rename test/initramfs/src/{apps => regression}/epoll/Makefile (100%) rename test/initramfs/src/{apps => regression}/epoll/epoll_err.c (100%) rename test/initramfs/src/{apps => regression}/epoll/epoll_pwait.c (100%) rename test/initramfs/src/{apps => regression}/epoll/epoll_wait.c (100%) rename test/initramfs/src/{apps => regression}/epoll/poll_err.c (100%) rename test/initramfs/src/{apps => regression}/eventfd2/Makefile (100%) rename test/initramfs/src/{apps => regression}/eventfd2/eventfd2.c (100%) rename test/initramfs/src/{apps => regression}/execve/Makefile (100%) rename test/initramfs/src/{apps => regression}/execve/execve.c (100%) rename test/initramfs/src/{apps => regression}/execve/execve_err.c (100%) rename test/initramfs/src/{apps => regression}/execve/execve_memfd.c (100%) rename test/initramfs/src/{apps => regression}/execve/execve_mt_child.c (100%) rename test/initramfs/src/{apps => regression}/execve/execve_mt_parent.c (100%) rename test/initramfs/src/{apps => regression}/execve/hello.c (100%) rename test/initramfs/src/{apps => regression}/exit/Makefile (100%) rename test/initramfs/src/{apps => regression}/exit/exit_code.c (100%) rename test/initramfs/src/{apps => regression}/exit/exit_procfs.c (100%) rename test/initramfs/src/{apps => regression}/ext2/Makefile (100%) rename test/initramfs/src/{apps => regression}/ext2/mknod.c (100%) rename test/initramfs/src/{apps => regression}/ext2/unix_socket.c (100%) rename test/initramfs/src/{apps => regression}/fdatasync/Makefile (100%) rename test/initramfs/src/{apps => regression}/fdatasync/fdatasync.c (100%) rename test/initramfs/src/{apps => regression}/file_io/Makefile (100%) rename test/initramfs/src/{apps => regression}/file_io/access_err.c (100%) rename test/initramfs/src/{apps => regression}/file_io/file_err.c (100%) rename test/initramfs/src/{apps => regression}/file_io/file_io.c (100%) rename test/initramfs/src/{apps => regression}/file_io/iovec_err.c (100%) rename test/initramfs/src/{apps => regression}/fork/Makefile (100%) rename test/initramfs/src/{apps => regression}/fork/fork.S (100%) rename test/initramfs/src/{apps => regression}/fork_c/Makefile (100%) rename test/initramfs/src/{apps => regression}/fork_c/fork.c (100%) rename test/initramfs/src/{apps => regression}/generate_tdx_quote/Makefile (100%) rename test/initramfs/src/{apps => regression}/getcpu/Makefile (100%) rename test/initramfs/src/{apps => regression}/getcpu/getcpu.c (100%) rename test/initramfs/src/{apps => regression}/getpid/Makefile (100%) rename test/initramfs/src/{apps => regression}/getpid/getpid.c (100%) rename test/initramfs/src/{apps => regression}/hello_c/Makefile (100%) rename test/initramfs/src/{apps => regression}/hello_c/hello.c (100%) rename test/initramfs/src/{apps => regression}/hello_pie/Makefile (100%) rename test/initramfs/src/{apps => regression}/hello_pie/hello.c (100%) rename test/initramfs/src/{apps => regression}/hello_world/Makefile (100%) rename test/initramfs/src/{apps => regression}/hello_world/hello_world.S (100%) rename test/initramfs/src/{apps => regression}/inotify/Makefile (100%) rename test/initramfs/src/{apps => regression}/inotify/inotify_align.c (100%) rename test/initramfs/src/{apps => regression}/inotify/inotify_poll.c (100%) rename test/initramfs/src/{apps => regression}/inotify/inotify_unlink.c (100%) rename test/initramfs/src/{apps => regression}/itimer/Makefile (100%) rename test/initramfs/src/{apps => regression}/itimer/setitimer.c (100%) rename test/initramfs/src/{apps => regression}/itimer/timer_create.c (100%) rename test/initramfs/src/{apps => regression}/mmap/Makefile (100%) rename test/initramfs/src/{apps => regression}/mmap/mmap_and_fork.c (100%) rename test/initramfs/src/{apps => regression}/mmap/mmap_and_mprotect.c (100%) rename test/initramfs/src/{apps => regression}/mmap/mmap_and_mremap.c (100%) rename test/initramfs/src/{apps => regression}/mmap/mmap_beyond_the_file.c (100%) rename test/initramfs/src/{apps => regression}/mmap/mmap_err.c (100%) rename test/initramfs/src/{apps => regression}/mmap/mmap_holes.c (100%) rename test/initramfs/src/{apps => regression}/mmap/mmap_readahead.c (100%) rename test/initramfs/src/{apps => regression}/mmap/mmap_shared_filebacked.c (100%) rename test/initramfs/src/{apps => regression}/mmap/mmap_vmrss.c (100%) rename test/initramfs/src/{apps => regression}/mongoose/.gitignore (100%) rename test/initramfs/src/{apps => regression}/mongoose/Makefile (100%) rename test/initramfs/src/{apps => regression}/mongoose/http_client.c (100%) rename test/initramfs/src/{apps => regression}/mongoose/http_server.c (100%) rename test/initramfs/src/{apps => regression}/namespace/Makefile (100%) rename test/initramfs/src/{apps => regression}/namespace/mnt_ns.c (100%) rename test/initramfs/src/{apps => regression}/namespace/setns.c (100%) rename test/initramfs/src/{apps => regression}/namespace/unshare.c (100%) rename test/initramfs/src/{apps => regression}/network/Makefile (100%) rename test/initramfs/src/{apps => regression}/network/listen_backlog.c (100%) rename test/initramfs/src/{apps => regression}/network/netlink_route.c (100%) rename test/initramfs/src/{apps => regression}/network/rtnl_err.c (100%) rename test/initramfs/src/{apps => regression}/network/send_buf_full.c (100%) rename test/initramfs/src/{apps => regression}/network/sendmmsg.c (100%) rename test/initramfs/src/{apps => regression}/network/socketpair.c (100%) rename test/initramfs/src/{apps => regression}/network/sockoption.c (100%) rename test/initramfs/src/{apps => regression}/network/sockoption_unix.c (100%) rename test/initramfs/src/{apps => regression}/network/tcp_client.c (100%) rename test/initramfs/src/{apps => regression}/network/tcp_err.c (100%) rename test/initramfs/src/{apps => regression}/network/tcp_poll.c (100%) rename test/initramfs/src/{apps => regression}/network/tcp_reuseaddr.c (100%) rename test/initramfs/src/{apps => regression}/network/tcp_server.c (100%) rename test/initramfs/src/{apps => regression}/network/udp_broadcast.c (100%) rename test/initramfs/src/{apps => regression}/network/udp_client.c (100%) rename test/initramfs/src/{apps => regression}/network/udp_err.c (100%) rename test/initramfs/src/{apps => regression}/network/udp_server.c (100%) rename test/initramfs/src/{apps => regression}/network/uevent_err.c (100%) rename test/initramfs/src/{apps => regression}/network/unix_client.c (100%) rename test/initramfs/src/{apps => regression}/network/unix_datagram_err.c (100%) rename test/initramfs/src/{apps => regression}/network/unix_seqpacket_err.c (100%) rename test/initramfs/src/{apps => regression}/network/unix_server.c (100%) rename test/initramfs/src/{apps => regression}/network/unix_stream_err.c (100%) rename test/initramfs/src/{apps => regression}/network/unix_streamlike_epilogue.h (100%) rename test/initramfs/src/{apps => regression}/network/unix_streamlike_prologue.h (100%) rename test/initramfs/src/{apps => regression}/overlayfs/Makefile (100%) rename test/initramfs/src/{apps => regression}/overlayfs/ovl_test.c (100%) rename test/initramfs/src/{apps => regression}/pipe/Makefile (100%) rename test/initramfs/src/{apps => regression}/pipe/pipe_err.c (100%) rename test/initramfs/src/{apps => regression}/pipe/short_rw.c (100%) rename test/initramfs/src/{apps => regression}/prctl/Makefile (100%) rename test/initramfs/src/{apps => regression}/prctl/secure_bits.c (100%) rename test/initramfs/src/{apps => regression}/prctl/subreaper.c (100%) rename test/initramfs/src/{apps => regression}/process/Makefile (100%) rename test/initramfs/src/{apps => regression}/process/group_session.c (100%) rename test/initramfs/src/{apps => regression}/process/job_control.c (100%) rename test/initramfs/src/{apps => regression}/process/pidfd.c (100%) rename test/initramfs/src/{apps => regression}/process/pidfd_getfd.c (100%) rename test/initramfs/src/{apps => regression}/process/wait4.c (100%) rename test/initramfs/src/{apps => regression}/procfs/Makefile (100%) rename test/initramfs/src/{apps => regression}/procfs/dentry_cache.c (100%) rename test/initramfs/src/{apps => regression}/procfs/pid_mem.c (100%) rename test/initramfs/src/{apps => regression}/pseudofs/Makefile (100%) rename test/initramfs/src/{apps => regression}/pseudofs/memfd_access_err.c (100%) rename test/initramfs/src/{apps => regression}/pseudofs/pseudo_dentry.c (100%) rename test/initramfs/src/{apps => regression}/pseudofs/pseudo_file_cleanup.h (100%) rename test/initramfs/src/{apps => regression}/pseudofs/pseudo_file_create.h (100%) rename test/initramfs/src/{apps => regression}/pseudofs/pseudo_inode.c (100%) rename test/initramfs/src/{apps => regression}/pseudofs/pseudo_mount.c (100%) rename test/initramfs/src/{apps => regression}/pthread/Makefile (100%) rename test/initramfs/src/{apps => regression}/pthread/pthread_signal_test.c (100%) rename test/initramfs/src/{apps => regression}/pthread/pthread_test.c (100%) rename test/initramfs/src/{apps => regression}/pty/Makefile (100%) rename test/initramfs/src/{apps => regression}/pty/close_pty.c (100%) rename test/initramfs/src/{apps => regression}/pty/open_ptmx.c (100%) rename test/initramfs/src/{apps => regression}/pty/open_pty.c (100%) rename test/initramfs/src/{apps => regression}/pty/pty_blocking.c (100%) rename test/initramfs/src/{apps => regression}/pty/pty_packet_mode.c (100%) rename test/initramfs/src/{apps => regression}/sched/Makefile (100%) rename test/initramfs/src/{apps => regression}/sched/sched_attr_getset.c (100%) rename test/initramfs/src/{apps => regression}/sched/sched_param_getset.c (100%) rename test/initramfs/src/{apps => regression}/sched/sched_param_idle.c (100%) rename test/initramfs/src/{apps => regression}/scripts/Makefile (100%) rename test/initramfs/src/{apps => regression}/scripts/boot_hello.sh (100%) rename test/initramfs/src/{apps => regression}/scripts/cgroup.sh (100%) rename test/initramfs/src/{apps => regression}/scripts/fs.sh (100%) rename test/initramfs/src/{apps => regression}/scripts/network.sh (100%) rename test/initramfs/src/{apps => regression}/scripts/process.sh (100%) rename test/initramfs/src/{apps/scripts/run_general_test.sh => regression/scripts/run_regression_test.sh} (90%) rename test/initramfs/src/{apps => regression}/scripts/run_vsock_test.sh (100%) rename test/initramfs/src/{apps => regression}/scripts/shell_cmd.sh (100%) rename test/initramfs/src/{apps => regression}/scripts/test_epoll_pwait.sh (100%) rename test/initramfs/src/{apps => regression}/scripts/vsock_commands.sh (100%) rename test/initramfs/src/{apps => regression}/shm/Makefile (100%) rename test/initramfs/src/{apps => regression}/shm/posix_shm.c (100%) rename test/initramfs/src/{apps => regression}/signal_c/Makefile (100%) rename test/initramfs/src/{apps => regression}/signal_c/kill.c (100%) rename test/initramfs/src/{apps => regression}/signal_c/parent_death_signal.c (100%) rename test/initramfs/src/{apps => regression}/signal_c/pidfd_send_signal.c (100%) rename test/initramfs/src/{apps => regression}/signal_c/sigaltstack.c (100%) rename test/initramfs/src/{apps => regression}/signal_c/signal_fd.c (100%) rename test/initramfs/src/{apps => regression}/signal_c/signal_fpu.c (100%) rename test/initramfs/src/{apps => regression}/signal_c/signal_rflags_df.c (100%) rename test/initramfs/src/{apps => regression}/signal_c/signal_test.c (100%) rename test/initramfs/src/{apps => regression}/signal_c/signal_test2.c (100%) rename test/initramfs/src/{apps => regression}/test.h (96%) rename test/initramfs/src/{apps => regression}/test_common.mk (100%) rename test/initramfs/src/{apps => regression}/vsock/Makefile (100%) rename test/initramfs/src/{apps => regression}/vsock/vsock_client.c (100%) rename test/initramfs/src/{apps => regression}/vsock/vsock_server.c (100%) diff --git a/.github/actions/test/action.yml b/.github/actions/test/action.yml index 91ab12174..08667ccec 100644 --- a/.github/actions/test/action.yml +++ b/.github/actions/test/action.yml @@ -6,7 +6,7 @@ branding: inputs: # Test Configuration auto_test: - description: 'Test type (general, osdk, boot, syscall, test)' + description: 'Test type (general, osdk, boot, syscall, regression)' required: true release: description: 'Whether to run in release mode' diff --git a/.github/workflows/test_x86.yml b/.github/workflows/test_x86.yml index 2481bcea0..dfa4a5719 100644 --- a/.github/workflows/test_x86.yml +++ b/.github/workflows/test_x86.yml @@ -85,12 +85,12 @@ jobs: boot_protocol: 'multiboot2' smp: 4 - # General Test (Linux EFI Handover) (Debug Build) - - test_id: 'general-handover64-debug' + # Regression Test (Linux EFI Handover) (Debug Build) + - test_id: 'regression-handover64-debug' release: false boot_protocol: 'linux-efi-handover64' - # SMP General Test (Multiboot2) - - test_id: 'general-multiboot2-smp4' + # SMP Regression Test (Multiboot2) + - test_id: 'regression-multiboot2-smp4' boot_protocol: 'multiboot2' smp: 4 fail-fast: false @@ -103,7 +103,7 @@ jobs: uses: ./.github/actions/test with: auto_test: ${{ (startsWith(matrix.test_id, 'boot') && 'boot') || - (startsWith(matrix.test_id, 'syscall') && 'syscall') || 'test' }} + (startsWith(matrix.test_id, 'syscall') && 'syscall') || 'regression' }} release: ${{ !contains(matrix.release, 'false') }} enable_kvm: ${{ !contains(matrix.enable_kvm, 'false') }} smp: ${{ matrix.smp }} @@ -118,7 +118,7 @@ jobs: uses: ./.github/actions/test with: auto_test: ${{ (startsWith(matrix.test_id, 'boot') && 'boot') || - (startsWith(matrix.test_id, 'syscall') && 'syscall') || 'test' }} + (startsWith(matrix.test_id, 'syscall') && 'syscall') || 'regression' }} release: ${{ !contains(matrix.release, 'false') }} enable_kvm: ${{ !contains(matrix.enable_kvm, 'false') }} smp: ${{ matrix.smp }} diff --git a/.github/workflows/test_x86_tdx.yml b/.github/workflows/test_x86_tdx.yml index 165facb9c..20b6418e1 100644 --- a/.github/workflows/test_x86_tdx.yml +++ b/.github/workflows/test_x86_tdx.yml @@ -33,10 +33,10 @@ jobs: netdev: 'tap' smp: 4 - # General Test - - test_id: 'general' - # SMP General Test - - test_id: 'general-tap-smp4' + # Regression Test + - test_id: 'regression' + # SMP Regression Test + - test_id: 'regression-tap-smp4' netdev: 'tap' smp: 4 fail-fast: false @@ -46,7 +46,7 @@ jobs: uses: ./.github/actions/test with: auto_test: ${{ startsWith(matrix.test_id, 'boot') && 'boot' || - startsWith(matrix.test_id, 'syscall') && 'syscall' || 'test' }} + startsWith(matrix.test_id, 'syscall') && 'syscall' || 'regression' }} intel_tdx: true release: true smp: ${{ matrix.smp }} diff --git a/Makefile b/Makefile index 51500d8f2..8b1d8ea42 100644 --- a/Makefile +++ b/Makefile @@ -21,8 +21,8 @@ OSTD_TASK_STACK_SIZE_IN_PAGES ?= 64 FEATURES ?= NO_DEFAULT_FEATURES ?= 0 COVERAGE ?= 0 -# Specify whether to build regression tests under `test/initramfs/src/apps`. -ENABLE_BASIC_TEST ?= false +# Specify whether to build regression tests under `test/initramfs/src/regression`. +ENABLE_REGRESSION_TEST ?= false # Specify the primary system console (supported: tty0, ttyS0, hvc0). # - tty0: The active virtual terminal (VT). # - ttyS0: The serial (UART) terminal. @@ -97,18 +97,18 @@ CARGO_OSDK_BUILD_ARGS += --kcmd-args="SYSCALL_TEST_SUITE=$(SYSCALL_TEST_SUITE)" CARGO_OSDK_BUILD_ARGS += --kcmd-args="SYSCALL_TEST_WORKDIR=$(SYSCALL_TEST_WORKDIR)" CARGO_OSDK_BUILD_ARGS += --kcmd-args="EXTRA_BLOCKLISTS_DIRS=$(EXTRA_BLOCKLISTS_DIRS)" CARGO_OSDK_BUILD_ARGS += --init-args="/opt/syscall_test/run_syscall_test.sh" -else ifeq ($(AUTO_TEST), test) -ENABLE_BASIC_TEST := true +else ifeq ($(AUTO_TEST), regression) +ENABLE_REGRESSION_TEST := true ifneq ($(SMP), 1) CARGO_OSDK_BUILD_ARGS += --kcmd-args="BLOCK_UNSUPPORTED_SMP_TESTS=1" endif CARGO_OSDK_BUILD_ARGS += --kcmd-args="INTEL_TDX=$(INTEL_TDX)" -CARGO_OSDK_BUILD_ARGS += --init-args="/test/run_general_test.sh" +CARGO_OSDK_BUILD_ARGS += --init-args="/test/run_regression_test.sh" else ifeq ($(AUTO_TEST), boot) -ENABLE_BASIC_TEST := true +ENABLE_REGRESSION_TEST := true CARGO_OSDK_BUILD_ARGS += --init-args="/test/boot_hello.sh" else ifeq ($(AUTO_TEST), vsock) -ENABLE_BASIC_TEST := true +ENABLE_REGRESSION_TEST := true export VSOCK=on CARGO_OSDK_BUILD_ARGS += --init-args="/test/run_vsock_test.sh" endif @@ -315,9 +315,9 @@ run_kernel: initramfs $(CARGO_OSDK) ifeq ($(AUTO_TEST), syscall) @tail --lines 100 qemu.log | grep -q "^All syscall tests passed." \ || (echo "Syscall test failed" && exit 1) -else ifeq ($(AUTO_TEST), test) - @tail --lines 100 qemu.log | grep -q "^All general tests passed." \ - || (echo "General test failed" && exit 1) +else ifeq ($(AUTO_TEST), regression) + @tail --lines 100 qemu.log | grep -q "^All regression tests passed." \ + || (echo "Regression test failed" && exit 1) else ifeq ($(AUTO_TEST), boot) @tail --lines 100 qemu.log | grep -q "^Successfully booted." \ || (echo "Boot test failed" && exit 1) diff --git a/book/src/kernel/advanced-instructions.md b/book/src/kernel/advanced-instructions.md index 1f89969a6..66689d6ca 100644 --- a/book/src/kernel/advanced-instructions.md +++ b/book/src/kernel/advanced-instructions.md @@ -32,12 +32,12 @@ cargo osdk test ## Integration Test -### General Test +### Regression Test -The following command builds and runs the test binaries in `test/initramfs/src/apps` directory on Asterinas. +The following command builds and runs the test binaries in `test/initramfs/src/regression` directory on Asterinas. ```bash -make run_kernel AUTO_TEST=test +make run_kernel AUTO_TEST=regression ``` ### Syscall Test diff --git a/test/initramfs/Makefile b/test/initramfs/Makefile index c6d195f63..f5a1cc545 100644 --- a/test/initramfs/Makefile +++ b/test/initramfs/Makefile @@ -5,7 +5,7 @@ SMP ?= 1 VERBOSE ?= 1 SYSCALL_TEST_SUITE ?= ltp SYSCALL_TEST_WORKDIR ?= /tmp -ENABLE_BASIC_TEST ?= false +ENABLE_REGRESSION_TEST ?= false # Specify platform macros when building regression tests (supported: asterinas, linux). # - asterinas: Define both `__asterinas__` and `__linux__`. Tests may fail in Linux. # - linux: Define only `__linux__`. Tests may fail in Asterinas. @@ -65,7 +65,7 @@ $(INITRAMFS_IMAGE): $(INITRAMFS) @nix-build \ --tarball-ttl $(NIXPKGS_CACHE_TTL) \ --argstr target $(OSDK_TARGET_ARCH) \ - --arg enableBasicTest $(ENABLE_BASIC_TEST) \ + --arg enableRegressionTest $(ENABLE_REGRESSION_TEST) \ --argstr basicTestPlatform $(BASIC_TEST_PLATFORM) \ --arg enableBenchmark $(ENABLE_BENCHMARK) \ --arg enableSyscallTest $(ENABLE_SYSCALL_TEST) \ @@ -82,7 +82,7 @@ $(INITRAMFS): @nix-build \ --tarball-ttl $(NIXPKGS_CACHE_TTL) \ --argstr target $(OSDK_TARGET_ARCH) \ - --arg enableBasicTest $(ENABLE_BASIC_TEST) \ + --arg enableRegressionTest $(ENABLE_REGRESSION_TEST) \ --argstr basicTestPlatform $(BASIC_TEST_PLATFORM) \ --arg enableBenchmark $(ENABLE_BENCHMARK) \ --arg enableSyscallTest $(ENABLE_SYSCALL_TEST) \ @@ -104,7 +104,7 @@ x86_64_pkgs: --arg enableSyscallTest true \ --out-link /nix/var/nix/gcroots/auto/x86_64-pkgs \ -A busybox \ - -A apps.package \ + -A regression.package \ -A benchmark.fio \ -A benchmark.hackbench \ -A benchmark.iperf3 \ @@ -130,7 +130,7 @@ riscv64_pkgs: --arg enableSyscallTest true \ --out-link /nix/var/nix/gcroots/auto/riscv64-pkgs \ -A busybox \ - -A apps.package \ + -A regression.package \ -A syscall.ltp general_pkgs: @@ -139,7 +139,7 @@ general_pkgs: --tarball-ttl $(NIXPKGS_CACHE_TTL) \ $(NIX_QUIET) \ --out-link /nix/var/nix/gcroots/auto/general \ - -A apps.mongoose_src + -A regression.mongoose_src install_host_pkgs: @nix-env \ @@ -178,12 +178,12 @@ $(EXFAT_IMAGE): .PHONY: format format: - @$(MAKE) --no-print-directory -C src/apps format + @$(MAKE) --no-print-directory -C src/regression format @nixfmt nix .PHONY: check check: - @$(MAKE) --no-print-directory -C src/apps check + @$(MAKE) --no-print-directory -C src/regression check @nixfmt --check nix .PHONY: clean diff --git a/test/initramfs/README.md b/test/initramfs/README.md index 9a545e93e..c0ed8fd36 100644 --- a/test/initramfs/README.md +++ b/test/initramfs/README.md @@ -7,7 +7,7 @@ This directory contains the test suites of Asterinas running in initramfs, inclu ``` test/ ├── src/ -│ ├── apps/ # Handwritten test applications +│ ├── regression/ # Regression tests │ ├── benchmark/ # Supported benchmark test suites │ ├── etc/ # Configuration files │ └── syscall/ # Syscall test suites @@ -16,7 +16,7 @@ test/ ├── nix/ │ ├── benchmark/ # Nix expressions for `benchmark` │ ├── syscall/ # Nix expressions for `syscall` -│ ├── apps.nix # Nix expression for `apps` +│ ├── regression.nix # Nix expression for `regression` │ └── initramfs.nix # Nix expression for packaging initramfs ├── Makefile └── README.md @@ -26,7 +26,7 @@ test/ Most tests in this directory are compiled and packaged using [Nix](https://nixos.org/), a powerful package manager. This ensures consistency and reproducibility across environments. -> **Note**: If you are adding a new test to the `apps` directory, ensure that it supports multiple architectures. Some of the existing apps lack proper architecture-specific handling. +> **Note**: If you are adding a new test to the `regression` directory, ensure that it supports multiple architectures. Some of the existing tests lack proper architecture-specific handling. ### Syscall Test Suite - Gvisor Exception @@ -73,11 +73,11 @@ If the desired benchmark is not available or cannot be easily adapted, you can a ## Configuration Files -Configuration files required by benchmarks or apps should be placed in the `test/initramfs/src/etc` directory. +Configuration files required by benchmarks or regression tests should be placed in the `test/initramfs/src/etc` directory. If additional configuration files or directories are needed, ensure they are appropriately packaged by updating the `initramfs.nix` file. ## Notes for Developers - **Nix Usage**: Use `Nix` whenever possible to manage dependencies and builds for ease of maintenance and consistency. -- **Multi-Architecture Support**: Ensure new apps or benchmarks properly support multiple CPU architectures. +- **Multi-Architecture Support**: Ensure new regression tests or benchmarks properly support multiple CPU architectures. diff --git a/test/initramfs/nix/default.nix b/test/initramfs/nix/default.nix index 02c779e3a..b701adba8 100644 --- a/test/initramfs/nix/default.nix +++ b/test/initramfs/nix/default.nix @@ -1,5 +1,6 @@ -{ target ? "x86_64", enableBasicTest ? false, basicTestPlatform ? "asterinas" -, enableBenchmark ? false, enableSyscallTest ? false, syscallTestSuite ? "ltp" +{ target ? "x86_64", enableRegressionTest ? false +, basicTestPlatform ? "asterinas", enableBenchmark ? false +, enableSyscallTest ? false, syscallTestSuite ? "ltp" , syscallTestWorkDir ? "/tmp", dnsServer ? "none", smp ? 1 , initramfsCompressed ? true, }: let @@ -23,7 +24,8 @@ let }; in rec { # Packages needed by initramfs - apps = pkgs.callPackage ./apps.nix { testPlatform = basicTestPlatform; }; + regression = + pkgs.callPackage ./regression.nix { testPlatform = basicTestPlatform; }; busybox = pkgs.busybox; benchmark = pkgs.callPackage ./benchmark { }; syscall = pkgs.callPackage ./syscall { @@ -33,7 +35,7 @@ in rec { }; initramfs = pkgs.callPackage ./initramfs.nix { inherit busybox; - apps = if enableBasicTest then apps else null; + regression = if enableRegressionTest then regression else null; benchmark = if enableBenchmark then benchmark else null; syscall = if enableSyscallTest then syscall else null; dnsServer = dnsServer; diff --git a/test/initramfs/nix/initramfs.nix b/test/initramfs/nix/initramfs.nix index a2a0c095a..c199d13da 100644 --- a/test/initramfs/nix/initramfs.nix +++ b/test/initramfs/nix/initramfs.nix @@ -1,5 +1,5 @@ -{ lib, stdenvNoCC, fetchFromGitHub, hostPlatform, writeClosure, busybox, apps -, benchmark, syscall, dnsServer, pkgs }: +{ lib, stdenvNoCC, fetchFromGitHub, hostPlatform, writeClosure, busybox +, regression, benchmark, syscall, dnsServer, pkgs }: let etc = lib.fileset.toSource { root = ./../src/etc; @@ -16,7 +16,7 @@ let # Whether the initramfs should include evtest, a common tool to debug input devices (`/dev/input/eventX`) is_evtest_included = false; all_pkgs = [ busybox etc resolv_conf ] - ++ lib.optionals (apps != null) [ apps.package ] + ++ lib.optionals (regression != null) [ regression.package ] ++ lib.optionals (benchmark != null) [ benchmark.package ] ++ lib.optionals (syscall != null) [ syscall.package ] ++ lib.optionals is_evtest_included [ pkgs.evtest ]; @@ -39,8 +39,8 @@ in stdenvNoCC.mkDerivation { cp ${resolv_conf}/resolv.conf $out/etc/ - ${lib.optionalString (apps != null) '' - cp -r ${apps.package}/* $out/test/ + ${lib.optionalString (regression != null) '' + cp -r ${regression.package}/* $out/test/ ''} ${lib.optionalString (benchmark != null) '' diff --git a/test/initramfs/nix/apps.nix b/test/initramfs/nix/regression.nix similarity index 89% rename from test/initramfs/nix/apps.nix rename to test/initramfs/nix/regression.nix index e7e9b078e..89f3cc4d8 100644 --- a/test/initramfs/nix/apps.nix +++ b/test/initramfs/nix/regression.nix @@ -12,11 +12,11 @@ }; package = stdenv.mkDerivation { - pname = "apps"; + pname = "regression"; version = "0.1.0"; src = lib.fileset.toSource { root = ./../src; - fileset = ./../src/apps; + fileset = ./../src/regression; }; MONGOOSE_DIR = "${mongoose_src}"; @@ -34,10 +34,10 @@ buildCommand = '' BUILD_DIR=$(mktemp -d) mkdir -p $BUILD_DIR - cp -r $src/apps $BUILD_DIR/ + cp -r $src/regression $BUILD_DIR/ pushd $BUILD_DIR - make --no-print-directory -C apps + make --no-print-directory -C regression popd mkdir -p $out diff --git a/test/initramfs/src/apps/.clang-format b/test/initramfs/src/regression/.clang-format similarity index 100% rename from test/initramfs/src/apps/.clang-format rename to test/initramfs/src/regression/.clang-format diff --git a/test/initramfs/src/apps/Makefile b/test/initramfs/src/regression/Makefile similarity index 93% rename from test/initramfs/src/apps/Makefile rename to test/initramfs/src/regression/Makefile index eef78efe3..be353857a 100644 --- a/test/initramfs/src/apps/Makefile +++ b/test/initramfs/src/regression/Makefile @@ -74,12 +74,12 @@ $(TEST_APPS): .PHONY: format format: - @echo "Fixing code format for general tests..." + @echo "Fixing code format for regression tests..." @clang-format -i $(C_SOURCES) .PHONY: check check: - @echo "Checking code format for general tests..." + @echo "Checking code format for regression tests..." @clang-format --dry-run --Werror $(C_SOURCES) $(TEST_BUILD_DIR): diff --git a/test/initramfs/src/apps/alarm/Makefile b/test/initramfs/src/regression/alarm/Makefile similarity index 100% rename from test/initramfs/src/apps/alarm/Makefile rename to test/initramfs/src/regression/alarm/Makefile diff --git a/test/initramfs/src/apps/alarm/alarm.c b/test/initramfs/src/regression/alarm/alarm.c similarity index 100% rename from test/initramfs/src/apps/alarm/alarm.c rename to test/initramfs/src/regression/alarm/alarm.c diff --git a/test/initramfs/src/apps/capability/Makefile b/test/initramfs/src/regression/capability/Makefile similarity index 100% rename from test/initramfs/src/apps/capability/Makefile rename to test/initramfs/src/regression/capability/Makefile diff --git a/test/initramfs/src/apps/capability/capabilities.c b/test/initramfs/src/regression/capability/capabilities.c similarity index 100% rename from test/initramfs/src/apps/capability/capabilities.c rename to test/initramfs/src/regression/capability/capabilities.c diff --git a/test/initramfs/src/apps/chroot/Makefile b/test/initramfs/src/regression/chroot/Makefile similarity index 100% rename from test/initramfs/src/apps/chroot/Makefile rename to test/initramfs/src/regression/chroot/Makefile diff --git a/test/initramfs/src/apps/chroot/chroot_jail.c b/test/initramfs/src/regression/chroot/chroot_jail.c similarity index 100% rename from test/initramfs/src/apps/chroot/chroot_jail.c rename to test/initramfs/src/regression/chroot/chroot_jail.c diff --git a/test/initramfs/src/apps/clone3/Makefile b/test/initramfs/src/regression/clone3/Makefile similarity index 100% rename from test/initramfs/src/apps/clone3/Makefile rename to test/initramfs/src/regression/clone3/Makefile diff --git a/test/initramfs/src/apps/clone3/clone_exit_signal.c b/test/initramfs/src/regression/clone3/clone_exit_signal.c similarity index 100% rename from test/initramfs/src/apps/clone3/clone_exit_signal.c rename to test/initramfs/src/regression/clone3/clone_exit_signal.c diff --git a/test/initramfs/src/apps/clone3/clone_files.c b/test/initramfs/src/regression/clone3/clone_files.c similarity index 100% rename from test/initramfs/src/apps/clone3/clone_files.c rename to test/initramfs/src/regression/clone3/clone_files.c diff --git a/test/initramfs/src/apps/clone3/clone_no_exit_signal.c b/test/initramfs/src/regression/clone3/clone_no_exit_signal.c similarity index 100% rename from test/initramfs/src/apps/clone3/clone_no_exit_signal.c rename to test/initramfs/src/regression/clone3/clone_no_exit_signal.c diff --git a/test/initramfs/src/apps/clone3/clone_parent.c b/test/initramfs/src/regression/clone3/clone_parent.c similarity index 100% rename from test/initramfs/src/apps/clone3/clone_parent.c rename to test/initramfs/src/regression/clone3/clone_parent.c diff --git a/test/initramfs/src/apps/clone3/clone_process.c b/test/initramfs/src/regression/clone3/clone_process.c similarity index 100% rename from test/initramfs/src/apps/clone3/clone_process.c rename to test/initramfs/src/regression/clone3/clone_process.c diff --git a/test/initramfs/src/apps/cpu_affinity/Makefile b/test/initramfs/src/regression/cpu_affinity/Makefile similarity index 100% rename from test/initramfs/src/apps/cpu_affinity/Makefile rename to test/initramfs/src/regression/cpu_affinity/Makefile diff --git a/test/initramfs/src/apps/cpu_affinity/cpu_affinity.c b/test/initramfs/src/regression/cpu_affinity/cpu_affinity.c similarity index 100% rename from test/initramfs/src/apps/cpu_affinity/cpu_affinity.c rename to test/initramfs/src/regression/cpu_affinity/cpu_affinity.c diff --git a/test/initramfs/src/apps/devfs/Makefile b/test/initramfs/src/regression/devfs/Makefile similarity index 100% rename from test/initramfs/src/apps/devfs/Makefile rename to test/initramfs/src/regression/devfs/Makefile diff --git a/test/initramfs/src/apps/devfs/evdev.c b/test/initramfs/src/regression/devfs/evdev.c similarity index 100% rename from test/initramfs/src/apps/devfs/evdev.c rename to test/initramfs/src/regression/devfs/evdev.c diff --git a/test/initramfs/src/apps/devfs/framebuffer.c b/test/initramfs/src/regression/devfs/framebuffer.c similarity index 100% rename from test/initramfs/src/apps/devfs/framebuffer.c rename to test/initramfs/src/regression/devfs/framebuffer.c diff --git a/test/initramfs/src/apps/devfs/full.c b/test/initramfs/src/regression/devfs/full.c similarity index 100% rename from test/initramfs/src/apps/devfs/full.c rename to test/initramfs/src/regression/devfs/full.c diff --git a/test/initramfs/src/apps/devfs/random.c b/test/initramfs/src/regression/devfs/random.c similarity index 100% rename from test/initramfs/src/apps/devfs/random.c rename to test/initramfs/src/regression/devfs/random.c diff --git a/test/initramfs/src/apps/epoll/Makefile b/test/initramfs/src/regression/epoll/Makefile similarity index 100% rename from test/initramfs/src/apps/epoll/Makefile rename to test/initramfs/src/regression/epoll/Makefile diff --git a/test/initramfs/src/apps/epoll/epoll_err.c b/test/initramfs/src/regression/epoll/epoll_err.c similarity index 100% rename from test/initramfs/src/apps/epoll/epoll_err.c rename to test/initramfs/src/regression/epoll/epoll_err.c diff --git a/test/initramfs/src/apps/epoll/epoll_pwait.c b/test/initramfs/src/regression/epoll/epoll_pwait.c similarity index 100% rename from test/initramfs/src/apps/epoll/epoll_pwait.c rename to test/initramfs/src/regression/epoll/epoll_pwait.c diff --git a/test/initramfs/src/apps/epoll/epoll_wait.c b/test/initramfs/src/regression/epoll/epoll_wait.c similarity index 100% rename from test/initramfs/src/apps/epoll/epoll_wait.c rename to test/initramfs/src/regression/epoll/epoll_wait.c diff --git a/test/initramfs/src/apps/epoll/poll_err.c b/test/initramfs/src/regression/epoll/poll_err.c similarity index 100% rename from test/initramfs/src/apps/epoll/poll_err.c rename to test/initramfs/src/regression/epoll/poll_err.c diff --git a/test/initramfs/src/apps/eventfd2/Makefile b/test/initramfs/src/regression/eventfd2/Makefile similarity index 100% rename from test/initramfs/src/apps/eventfd2/Makefile rename to test/initramfs/src/regression/eventfd2/Makefile diff --git a/test/initramfs/src/apps/eventfd2/eventfd2.c b/test/initramfs/src/regression/eventfd2/eventfd2.c similarity index 100% rename from test/initramfs/src/apps/eventfd2/eventfd2.c rename to test/initramfs/src/regression/eventfd2/eventfd2.c diff --git a/test/initramfs/src/apps/execve/Makefile b/test/initramfs/src/regression/execve/Makefile similarity index 100% rename from test/initramfs/src/apps/execve/Makefile rename to test/initramfs/src/regression/execve/Makefile diff --git a/test/initramfs/src/apps/execve/execve.c b/test/initramfs/src/regression/execve/execve.c similarity index 100% rename from test/initramfs/src/apps/execve/execve.c rename to test/initramfs/src/regression/execve/execve.c diff --git a/test/initramfs/src/apps/execve/execve_err.c b/test/initramfs/src/regression/execve/execve_err.c similarity index 100% rename from test/initramfs/src/apps/execve/execve_err.c rename to test/initramfs/src/regression/execve/execve_err.c diff --git a/test/initramfs/src/apps/execve/execve_memfd.c b/test/initramfs/src/regression/execve/execve_memfd.c similarity index 100% rename from test/initramfs/src/apps/execve/execve_memfd.c rename to test/initramfs/src/regression/execve/execve_memfd.c diff --git a/test/initramfs/src/apps/execve/execve_mt_child.c b/test/initramfs/src/regression/execve/execve_mt_child.c similarity index 100% rename from test/initramfs/src/apps/execve/execve_mt_child.c rename to test/initramfs/src/regression/execve/execve_mt_child.c diff --git a/test/initramfs/src/apps/execve/execve_mt_parent.c b/test/initramfs/src/regression/execve/execve_mt_parent.c similarity index 100% rename from test/initramfs/src/apps/execve/execve_mt_parent.c rename to test/initramfs/src/regression/execve/execve_mt_parent.c diff --git a/test/initramfs/src/apps/execve/hello.c b/test/initramfs/src/regression/execve/hello.c similarity index 100% rename from test/initramfs/src/apps/execve/hello.c rename to test/initramfs/src/regression/execve/hello.c diff --git a/test/initramfs/src/apps/exit/Makefile b/test/initramfs/src/regression/exit/Makefile similarity index 100% rename from test/initramfs/src/apps/exit/Makefile rename to test/initramfs/src/regression/exit/Makefile diff --git a/test/initramfs/src/apps/exit/exit_code.c b/test/initramfs/src/regression/exit/exit_code.c similarity index 100% rename from test/initramfs/src/apps/exit/exit_code.c rename to test/initramfs/src/regression/exit/exit_code.c diff --git a/test/initramfs/src/apps/exit/exit_procfs.c b/test/initramfs/src/regression/exit/exit_procfs.c similarity index 100% rename from test/initramfs/src/apps/exit/exit_procfs.c rename to test/initramfs/src/regression/exit/exit_procfs.c diff --git a/test/initramfs/src/apps/ext2/Makefile b/test/initramfs/src/regression/ext2/Makefile similarity index 100% rename from test/initramfs/src/apps/ext2/Makefile rename to test/initramfs/src/regression/ext2/Makefile diff --git a/test/initramfs/src/apps/ext2/mknod.c b/test/initramfs/src/regression/ext2/mknod.c similarity index 100% rename from test/initramfs/src/apps/ext2/mknod.c rename to test/initramfs/src/regression/ext2/mknod.c diff --git a/test/initramfs/src/apps/ext2/unix_socket.c b/test/initramfs/src/regression/ext2/unix_socket.c similarity index 100% rename from test/initramfs/src/apps/ext2/unix_socket.c rename to test/initramfs/src/regression/ext2/unix_socket.c diff --git a/test/initramfs/src/apps/fdatasync/Makefile b/test/initramfs/src/regression/fdatasync/Makefile similarity index 100% rename from test/initramfs/src/apps/fdatasync/Makefile rename to test/initramfs/src/regression/fdatasync/Makefile diff --git a/test/initramfs/src/apps/fdatasync/fdatasync.c b/test/initramfs/src/regression/fdatasync/fdatasync.c similarity index 100% rename from test/initramfs/src/apps/fdatasync/fdatasync.c rename to test/initramfs/src/regression/fdatasync/fdatasync.c diff --git a/test/initramfs/src/apps/file_io/Makefile b/test/initramfs/src/regression/file_io/Makefile similarity index 100% rename from test/initramfs/src/apps/file_io/Makefile rename to test/initramfs/src/regression/file_io/Makefile diff --git a/test/initramfs/src/apps/file_io/access_err.c b/test/initramfs/src/regression/file_io/access_err.c similarity index 100% rename from test/initramfs/src/apps/file_io/access_err.c rename to test/initramfs/src/regression/file_io/access_err.c diff --git a/test/initramfs/src/apps/file_io/file_err.c b/test/initramfs/src/regression/file_io/file_err.c similarity index 100% rename from test/initramfs/src/apps/file_io/file_err.c rename to test/initramfs/src/regression/file_io/file_err.c diff --git a/test/initramfs/src/apps/file_io/file_io.c b/test/initramfs/src/regression/file_io/file_io.c similarity index 100% rename from test/initramfs/src/apps/file_io/file_io.c rename to test/initramfs/src/regression/file_io/file_io.c diff --git a/test/initramfs/src/apps/file_io/iovec_err.c b/test/initramfs/src/regression/file_io/iovec_err.c similarity index 100% rename from test/initramfs/src/apps/file_io/iovec_err.c rename to test/initramfs/src/regression/file_io/iovec_err.c diff --git a/test/initramfs/src/apps/fork/Makefile b/test/initramfs/src/regression/fork/Makefile similarity index 100% rename from test/initramfs/src/apps/fork/Makefile rename to test/initramfs/src/regression/fork/Makefile diff --git a/test/initramfs/src/apps/fork/fork.S b/test/initramfs/src/regression/fork/fork.S similarity index 100% rename from test/initramfs/src/apps/fork/fork.S rename to test/initramfs/src/regression/fork/fork.S diff --git a/test/initramfs/src/apps/fork_c/Makefile b/test/initramfs/src/regression/fork_c/Makefile similarity index 100% rename from test/initramfs/src/apps/fork_c/Makefile rename to test/initramfs/src/regression/fork_c/Makefile diff --git a/test/initramfs/src/apps/fork_c/fork.c b/test/initramfs/src/regression/fork_c/fork.c similarity index 100% rename from test/initramfs/src/apps/fork_c/fork.c rename to test/initramfs/src/regression/fork_c/fork.c diff --git a/test/initramfs/src/apps/generate_tdx_quote/Makefile b/test/initramfs/src/regression/generate_tdx_quote/Makefile similarity index 100% rename from test/initramfs/src/apps/generate_tdx_quote/Makefile rename to test/initramfs/src/regression/generate_tdx_quote/Makefile diff --git a/test/initramfs/src/apps/getcpu/Makefile b/test/initramfs/src/regression/getcpu/Makefile similarity index 100% rename from test/initramfs/src/apps/getcpu/Makefile rename to test/initramfs/src/regression/getcpu/Makefile diff --git a/test/initramfs/src/apps/getcpu/getcpu.c b/test/initramfs/src/regression/getcpu/getcpu.c similarity index 100% rename from test/initramfs/src/apps/getcpu/getcpu.c rename to test/initramfs/src/regression/getcpu/getcpu.c diff --git a/test/initramfs/src/apps/getpid/Makefile b/test/initramfs/src/regression/getpid/Makefile similarity index 100% rename from test/initramfs/src/apps/getpid/Makefile rename to test/initramfs/src/regression/getpid/Makefile diff --git a/test/initramfs/src/apps/getpid/getpid.c b/test/initramfs/src/regression/getpid/getpid.c similarity index 100% rename from test/initramfs/src/apps/getpid/getpid.c rename to test/initramfs/src/regression/getpid/getpid.c diff --git a/test/initramfs/src/apps/hello_c/Makefile b/test/initramfs/src/regression/hello_c/Makefile similarity index 100% rename from test/initramfs/src/apps/hello_c/Makefile rename to test/initramfs/src/regression/hello_c/Makefile diff --git a/test/initramfs/src/apps/hello_c/hello.c b/test/initramfs/src/regression/hello_c/hello.c similarity index 100% rename from test/initramfs/src/apps/hello_c/hello.c rename to test/initramfs/src/regression/hello_c/hello.c diff --git a/test/initramfs/src/apps/hello_pie/Makefile b/test/initramfs/src/regression/hello_pie/Makefile similarity index 100% rename from test/initramfs/src/apps/hello_pie/Makefile rename to test/initramfs/src/regression/hello_pie/Makefile diff --git a/test/initramfs/src/apps/hello_pie/hello.c b/test/initramfs/src/regression/hello_pie/hello.c similarity index 100% rename from test/initramfs/src/apps/hello_pie/hello.c rename to test/initramfs/src/regression/hello_pie/hello.c diff --git a/test/initramfs/src/apps/hello_world/Makefile b/test/initramfs/src/regression/hello_world/Makefile similarity index 100% rename from test/initramfs/src/apps/hello_world/Makefile rename to test/initramfs/src/regression/hello_world/Makefile diff --git a/test/initramfs/src/apps/hello_world/hello_world.S b/test/initramfs/src/regression/hello_world/hello_world.S similarity index 100% rename from test/initramfs/src/apps/hello_world/hello_world.S rename to test/initramfs/src/regression/hello_world/hello_world.S diff --git a/test/initramfs/src/apps/inotify/Makefile b/test/initramfs/src/regression/inotify/Makefile similarity index 100% rename from test/initramfs/src/apps/inotify/Makefile rename to test/initramfs/src/regression/inotify/Makefile diff --git a/test/initramfs/src/apps/inotify/inotify_align.c b/test/initramfs/src/regression/inotify/inotify_align.c similarity index 100% rename from test/initramfs/src/apps/inotify/inotify_align.c rename to test/initramfs/src/regression/inotify/inotify_align.c diff --git a/test/initramfs/src/apps/inotify/inotify_poll.c b/test/initramfs/src/regression/inotify/inotify_poll.c similarity index 100% rename from test/initramfs/src/apps/inotify/inotify_poll.c rename to test/initramfs/src/regression/inotify/inotify_poll.c diff --git a/test/initramfs/src/apps/inotify/inotify_unlink.c b/test/initramfs/src/regression/inotify/inotify_unlink.c similarity index 100% rename from test/initramfs/src/apps/inotify/inotify_unlink.c rename to test/initramfs/src/regression/inotify/inotify_unlink.c diff --git a/test/initramfs/src/apps/itimer/Makefile b/test/initramfs/src/regression/itimer/Makefile similarity index 100% rename from test/initramfs/src/apps/itimer/Makefile rename to test/initramfs/src/regression/itimer/Makefile diff --git a/test/initramfs/src/apps/itimer/setitimer.c b/test/initramfs/src/regression/itimer/setitimer.c similarity index 100% rename from test/initramfs/src/apps/itimer/setitimer.c rename to test/initramfs/src/regression/itimer/setitimer.c diff --git a/test/initramfs/src/apps/itimer/timer_create.c b/test/initramfs/src/regression/itimer/timer_create.c similarity index 100% rename from test/initramfs/src/apps/itimer/timer_create.c rename to test/initramfs/src/regression/itimer/timer_create.c diff --git a/test/initramfs/src/apps/mmap/Makefile b/test/initramfs/src/regression/mmap/Makefile similarity index 100% rename from test/initramfs/src/apps/mmap/Makefile rename to test/initramfs/src/regression/mmap/Makefile diff --git a/test/initramfs/src/apps/mmap/mmap_and_fork.c b/test/initramfs/src/regression/mmap/mmap_and_fork.c similarity index 100% rename from test/initramfs/src/apps/mmap/mmap_and_fork.c rename to test/initramfs/src/regression/mmap/mmap_and_fork.c diff --git a/test/initramfs/src/apps/mmap/mmap_and_mprotect.c b/test/initramfs/src/regression/mmap/mmap_and_mprotect.c similarity index 100% rename from test/initramfs/src/apps/mmap/mmap_and_mprotect.c rename to test/initramfs/src/regression/mmap/mmap_and_mprotect.c diff --git a/test/initramfs/src/apps/mmap/mmap_and_mremap.c b/test/initramfs/src/regression/mmap/mmap_and_mremap.c similarity index 100% rename from test/initramfs/src/apps/mmap/mmap_and_mremap.c rename to test/initramfs/src/regression/mmap/mmap_and_mremap.c diff --git a/test/initramfs/src/apps/mmap/mmap_beyond_the_file.c b/test/initramfs/src/regression/mmap/mmap_beyond_the_file.c similarity index 100% rename from test/initramfs/src/apps/mmap/mmap_beyond_the_file.c rename to test/initramfs/src/regression/mmap/mmap_beyond_the_file.c diff --git a/test/initramfs/src/apps/mmap/mmap_err.c b/test/initramfs/src/regression/mmap/mmap_err.c similarity index 100% rename from test/initramfs/src/apps/mmap/mmap_err.c rename to test/initramfs/src/regression/mmap/mmap_err.c diff --git a/test/initramfs/src/apps/mmap/mmap_holes.c b/test/initramfs/src/regression/mmap/mmap_holes.c similarity index 100% rename from test/initramfs/src/apps/mmap/mmap_holes.c rename to test/initramfs/src/regression/mmap/mmap_holes.c diff --git a/test/initramfs/src/apps/mmap/mmap_readahead.c b/test/initramfs/src/regression/mmap/mmap_readahead.c similarity index 100% rename from test/initramfs/src/apps/mmap/mmap_readahead.c rename to test/initramfs/src/regression/mmap/mmap_readahead.c diff --git a/test/initramfs/src/apps/mmap/mmap_shared_filebacked.c b/test/initramfs/src/regression/mmap/mmap_shared_filebacked.c similarity index 100% rename from test/initramfs/src/apps/mmap/mmap_shared_filebacked.c rename to test/initramfs/src/regression/mmap/mmap_shared_filebacked.c diff --git a/test/initramfs/src/apps/mmap/mmap_vmrss.c b/test/initramfs/src/regression/mmap/mmap_vmrss.c similarity index 100% rename from test/initramfs/src/apps/mmap/mmap_vmrss.c rename to test/initramfs/src/regression/mmap/mmap_vmrss.c diff --git a/test/initramfs/src/apps/mongoose/.gitignore b/test/initramfs/src/regression/mongoose/.gitignore similarity index 100% rename from test/initramfs/src/apps/mongoose/.gitignore rename to test/initramfs/src/regression/mongoose/.gitignore diff --git a/test/initramfs/src/apps/mongoose/Makefile b/test/initramfs/src/regression/mongoose/Makefile similarity index 100% rename from test/initramfs/src/apps/mongoose/Makefile rename to test/initramfs/src/regression/mongoose/Makefile diff --git a/test/initramfs/src/apps/mongoose/http_client.c b/test/initramfs/src/regression/mongoose/http_client.c similarity index 100% rename from test/initramfs/src/apps/mongoose/http_client.c rename to test/initramfs/src/regression/mongoose/http_client.c diff --git a/test/initramfs/src/apps/mongoose/http_server.c b/test/initramfs/src/regression/mongoose/http_server.c similarity index 100% rename from test/initramfs/src/apps/mongoose/http_server.c rename to test/initramfs/src/regression/mongoose/http_server.c diff --git a/test/initramfs/src/apps/namespace/Makefile b/test/initramfs/src/regression/namespace/Makefile similarity index 100% rename from test/initramfs/src/apps/namespace/Makefile rename to test/initramfs/src/regression/namespace/Makefile diff --git a/test/initramfs/src/apps/namespace/mnt_ns.c b/test/initramfs/src/regression/namespace/mnt_ns.c similarity index 100% rename from test/initramfs/src/apps/namespace/mnt_ns.c rename to test/initramfs/src/regression/namespace/mnt_ns.c diff --git a/test/initramfs/src/apps/namespace/setns.c b/test/initramfs/src/regression/namespace/setns.c similarity index 100% rename from test/initramfs/src/apps/namespace/setns.c rename to test/initramfs/src/regression/namespace/setns.c diff --git a/test/initramfs/src/apps/namespace/unshare.c b/test/initramfs/src/regression/namespace/unshare.c similarity index 100% rename from test/initramfs/src/apps/namespace/unshare.c rename to test/initramfs/src/regression/namespace/unshare.c diff --git a/test/initramfs/src/apps/network/Makefile b/test/initramfs/src/regression/network/Makefile similarity index 100% rename from test/initramfs/src/apps/network/Makefile rename to test/initramfs/src/regression/network/Makefile diff --git a/test/initramfs/src/apps/network/listen_backlog.c b/test/initramfs/src/regression/network/listen_backlog.c similarity index 100% rename from test/initramfs/src/apps/network/listen_backlog.c rename to test/initramfs/src/regression/network/listen_backlog.c diff --git a/test/initramfs/src/apps/network/netlink_route.c b/test/initramfs/src/regression/network/netlink_route.c similarity index 100% rename from test/initramfs/src/apps/network/netlink_route.c rename to test/initramfs/src/regression/network/netlink_route.c diff --git a/test/initramfs/src/apps/network/rtnl_err.c b/test/initramfs/src/regression/network/rtnl_err.c similarity index 100% rename from test/initramfs/src/apps/network/rtnl_err.c rename to test/initramfs/src/regression/network/rtnl_err.c diff --git a/test/initramfs/src/apps/network/send_buf_full.c b/test/initramfs/src/regression/network/send_buf_full.c similarity index 100% rename from test/initramfs/src/apps/network/send_buf_full.c rename to test/initramfs/src/regression/network/send_buf_full.c diff --git a/test/initramfs/src/apps/network/sendmmsg.c b/test/initramfs/src/regression/network/sendmmsg.c similarity index 100% rename from test/initramfs/src/apps/network/sendmmsg.c rename to test/initramfs/src/regression/network/sendmmsg.c diff --git a/test/initramfs/src/apps/network/socketpair.c b/test/initramfs/src/regression/network/socketpair.c similarity index 100% rename from test/initramfs/src/apps/network/socketpair.c rename to test/initramfs/src/regression/network/socketpair.c diff --git a/test/initramfs/src/apps/network/sockoption.c b/test/initramfs/src/regression/network/sockoption.c similarity index 100% rename from test/initramfs/src/apps/network/sockoption.c rename to test/initramfs/src/regression/network/sockoption.c diff --git a/test/initramfs/src/apps/network/sockoption_unix.c b/test/initramfs/src/regression/network/sockoption_unix.c similarity index 100% rename from test/initramfs/src/apps/network/sockoption_unix.c rename to test/initramfs/src/regression/network/sockoption_unix.c diff --git a/test/initramfs/src/apps/network/tcp_client.c b/test/initramfs/src/regression/network/tcp_client.c similarity index 100% rename from test/initramfs/src/apps/network/tcp_client.c rename to test/initramfs/src/regression/network/tcp_client.c diff --git a/test/initramfs/src/apps/network/tcp_err.c b/test/initramfs/src/regression/network/tcp_err.c similarity index 100% rename from test/initramfs/src/apps/network/tcp_err.c rename to test/initramfs/src/regression/network/tcp_err.c diff --git a/test/initramfs/src/apps/network/tcp_poll.c b/test/initramfs/src/regression/network/tcp_poll.c similarity index 100% rename from test/initramfs/src/apps/network/tcp_poll.c rename to test/initramfs/src/regression/network/tcp_poll.c diff --git a/test/initramfs/src/apps/network/tcp_reuseaddr.c b/test/initramfs/src/regression/network/tcp_reuseaddr.c similarity index 100% rename from test/initramfs/src/apps/network/tcp_reuseaddr.c rename to test/initramfs/src/regression/network/tcp_reuseaddr.c diff --git a/test/initramfs/src/apps/network/tcp_server.c b/test/initramfs/src/regression/network/tcp_server.c similarity index 100% rename from test/initramfs/src/apps/network/tcp_server.c rename to test/initramfs/src/regression/network/tcp_server.c diff --git a/test/initramfs/src/apps/network/udp_broadcast.c b/test/initramfs/src/regression/network/udp_broadcast.c similarity index 100% rename from test/initramfs/src/apps/network/udp_broadcast.c rename to test/initramfs/src/regression/network/udp_broadcast.c diff --git a/test/initramfs/src/apps/network/udp_client.c b/test/initramfs/src/regression/network/udp_client.c similarity index 100% rename from test/initramfs/src/apps/network/udp_client.c rename to test/initramfs/src/regression/network/udp_client.c diff --git a/test/initramfs/src/apps/network/udp_err.c b/test/initramfs/src/regression/network/udp_err.c similarity index 100% rename from test/initramfs/src/apps/network/udp_err.c rename to test/initramfs/src/regression/network/udp_err.c diff --git a/test/initramfs/src/apps/network/udp_server.c b/test/initramfs/src/regression/network/udp_server.c similarity index 100% rename from test/initramfs/src/apps/network/udp_server.c rename to test/initramfs/src/regression/network/udp_server.c diff --git a/test/initramfs/src/apps/network/uevent_err.c b/test/initramfs/src/regression/network/uevent_err.c similarity index 100% rename from test/initramfs/src/apps/network/uevent_err.c rename to test/initramfs/src/regression/network/uevent_err.c diff --git a/test/initramfs/src/apps/network/unix_client.c b/test/initramfs/src/regression/network/unix_client.c similarity index 100% rename from test/initramfs/src/apps/network/unix_client.c rename to test/initramfs/src/regression/network/unix_client.c diff --git a/test/initramfs/src/apps/network/unix_datagram_err.c b/test/initramfs/src/regression/network/unix_datagram_err.c similarity index 100% rename from test/initramfs/src/apps/network/unix_datagram_err.c rename to test/initramfs/src/regression/network/unix_datagram_err.c diff --git a/test/initramfs/src/apps/network/unix_seqpacket_err.c b/test/initramfs/src/regression/network/unix_seqpacket_err.c similarity index 100% rename from test/initramfs/src/apps/network/unix_seqpacket_err.c rename to test/initramfs/src/regression/network/unix_seqpacket_err.c diff --git a/test/initramfs/src/apps/network/unix_server.c b/test/initramfs/src/regression/network/unix_server.c similarity index 100% rename from test/initramfs/src/apps/network/unix_server.c rename to test/initramfs/src/regression/network/unix_server.c diff --git a/test/initramfs/src/apps/network/unix_stream_err.c b/test/initramfs/src/regression/network/unix_stream_err.c similarity index 100% rename from test/initramfs/src/apps/network/unix_stream_err.c rename to test/initramfs/src/regression/network/unix_stream_err.c diff --git a/test/initramfs/src/apps/network/unix_streamlike_epilogue.h b/test/initramfs/src/regression/network/unix_streamlike_epilogue.h similarity index 100% rename from test/initramfs/src/apps/network/unix_streamlike_epilogue.h rename to test/initramfs/src/regression/network/unix_streamlike_epilogue.h diff --git a/test/initramfs/src/apps/network/unix_streamlike_prologue.h b/test/initramfs/src/regression/network/unix_streamlike_prologue.h similarity index 100% rename from test/initramfs/src/apps/network/unix_streamlike_prologue.h rename to test/initramfs/src/regression/network/unix_streamlike_prologue.h diff --git a/test/initramfs/src/apps/overlayfs/Makefile b/test/initramfs/src/regression/overlayfs/Makefile similarity index 100% rename from test/initramfs/src/apps/overlayfs/Makefile rename to test/initramfs/src/regression/overlayfs/Makefile diff --git a/test/initramfs/src/apps/overlayfs/ovl_test.c b/test/initramfs/src/regression/overlayfs/ovl_test.c similarity index 100% rename from test/initramfs/src/apps/overlayfs/ovl_test.c rename to test/initramfs/src/regression/overlayfs/ovl_test.c diff --git a/test/initramfs/src/apps/pipe/Makefile b/test/initramfs/src/regression/pipe/Makefile similarity index 100% rename from test/initramfs/src/apps/pipe/Makefile rename to test/initramfs/src/regression/pipe/Makefile diff --git a/test/initramfs/src/apps/pipe/pipe_err.c b/test/initramfs/src/regression/pipe/pipe_err.c similarity index 100% rename from test/initramfs/src/apps/pipe/pipe_err.c rename to test/initramfs/src/regression/pipe/pipe_err.c diff --git a/test/initramfs/src/apps/pipe/short_rw.c b/test/initramfs/src/regression/pipe/short_rw.c similarity index 100% rename from test/initramfs/src/apps/pipe/short_rw.c rename to test/initramfs/src/regression/pipe/short_rw.c diff --git a/test/initramfs/src/apps/prctl/Makefile b/test/initramfs/src/regression/prctl/Makefile similarity index 100% rename from test/initramfs/src/apps/prctl/Makefile rename to test/initramfs/src/regression/prctl/Makefile diff --git a/test/initramfs/src/apps/prctl/secure_bits.c b/test/initramfs/src/regression/prctl/secure_bits.c similarity index 100% rename from test/initramfs/src/apps/prctl/secure_bits.c rename to test/initramfs/src/regression/prctl/secure_bits.c diff --git a/test/initramfs/src/apps/prctl/subreaper.c b/test/initramfs/src/regression/prctl/subreaper.c similarity index 100% rename from test/initramfs/src/apps/prctl/subreaper.c rename to test/initramfs/src/regression/prctl/subreaper.c diff --git a/test/initramfs/src/apps/process/Makefile b/test/initramfs/src/regression/process/Makefile similarity index 100% rename from test/initramfs/src/apps/process/Makefile rename to test/initramfs/src/regression/process/Makefile diff --git a/test/initramfs/src/apps/process/group_session.c b/test/initramfs/src/regression/process/group_session.c similarity index 100% rename from test/initramfs/src/apps/process/group_session.c rename to test/initramfs/src/regression/process/group_session.c diff --git a/test/initramfs/src/apps/process/job_control.c b/test/initramfs/src/regression/process/job_control.c similarity index 100% rename from test/initramfs/src/apps/process/job_control.c rename to test/initramfs/src/regression/process/job_control.c diff --git a/test/initramfs/src/apps/process/pidfd.c b/test/initramfs/src/regression/process/pidfd.c similarity index 100% rename from test/initramfs/src/apps/process/pidfd.c rename to test/initramfs/src/regression/process/pidfd.c diff --git a/test/initramfs/src/apps/process/pidfd_getfd.c b/test/initramfs/src/regression/process/pidfd_getfd.c similarity index 100% rename from test/initramfs/src/apps/process/pidfd_getfd.c rename to test/initramfs/src/regression/process/pidfd_getfd.c diff --git a/test/initramfs/src/apps/process/wait4.c b/test/initramfs/src/regression/process/wait4.c similarity index 100% rename from test/initramfs/src/apps/process/wait4.c rename to test/initramfs/src/regression/process/wait4.c diff --git a/test/initramfs/src/apps/procfs/Makefile b/test/initramfs/src/regression/procfs/Makefile similarity index 100% rename from test/initramfs/src/apps/procfs/Makefile rename to test/initramfs/src/regression/procfs/Makefile diff --git a/test/initramfs/src/apps/procfs/dentry_cache.c b/test/initramfs/src/regression/procfs/dentry_cache.c similarity index 100% rename from test/initramfs/src/apps/procfs/dentry_cache.c rename to test/initramfs/src/regression/procfs/dentry_cache.c diff --git a/test/initramfs/src/apps/procfs/pid_mem.c b/test/initramfs/src/regression/procfs/pid_mem.c similarity index 100% rename from test/initramfs/src/apps/procfs/pid_mem.c rename to test/initramfs/src/regression/procfs/pid_mem.c diff --git a/test/initramfs/src/apps/pseudofs/Makefile b/test/initramfs/src/regression/pseudofs/Makefile similarity index 100% rename from test/initramfs/src/apps/pseudofs/Makefile rename to test/initramfs/src/regression/pseudofs/Makefile diff --git a/test/initramfs/src/apps/pseudofs/memfd_access_err.c b/test/initramfs/src/regression/pseudofs/memfd_access_err.c similarity index 100% rename from test/initramfs/src/apps/pseudofs/memfd_access_err.c rename to test/initramfs/src/regression/pseudofs/memfd_access_err.c diff --git a/test/initramfs/src/apps/pseudofs/pseudo_dentry.c b/test/initramfs/src/regression/pseudofs/pseudo_dentry.c similarity index 100% rename from test/initramfs/src/apps/pseudofs/pseudo_dentry.c rename to test/initramfs/src/regression/pseudofs/pseudo_dentry.c diff --git a/test/initramfs/src/apps/pseudofs/pseudo_file_cleanup.h b/test/initramfs/src/regression/pseudofs/pseudo_file_cleanup.h similarity index 100% rename from test/initramfs/src/apps/pseudofs/pseudo_file_cleanup.h rename to test/initramfs/src/regression/pseudofs/pseudo_file_cleanup.h diff --git a/test/initramfs/src/apps/pseudofs/pseudo_file_create.h b/test/initramfs/src/regression/pseudofs/pseudo_file_create.h similarity index 100% rename from test/initramfs/src/apps/pseudofs/pseudo_file_create.h rename to test/initramfs/src/regression/pseudofs/pseudo_file_create.h diff --git a/test/initramfs/src/apps/pseudofs/pseudo_inode.c b/test/initramfs/src/regression/pseudofs/pseudo_inode.c similarity index 100% rename from test/initramfs/src/apps/pseudofs/pseudo_inode.c rename to test/initramfs/src/regression/pseudofs/pseudo_inode.c diff --git a/test/initramfs/src/apps/pseudofs/pseudo_mount.c b/test/initramfs/src/regression/pseudofs/pseudo_mount.c similarity index 100% rename from test/initramfs/src/apps/pseudofs/pseudo_mount.c rename to test/initramfs/src/regression/pseudofs/pseudo_mount.c diff --git a/test/initramfs/src/apps/pthread/Makefile b/test/initramfs/src/regression/pthread/Makefile similarity index 100% rename from test/initramfs/src/apps/pthread/Makefile rename to test/initramfs/src/regression/pthread/Makefile diff --git a/test/initramfs/src/apps/pthread/pthread_signal_test.c b/test/initramfs/src/regression/pthread/pthread_signal_test.c similarity index 100% rename from test/initramfs/src/apps/pthread/pthread_signal_test.c rename to test/initramfs/src/regression/pthread/pthread_signal_test.c diff --git a/test/initramfs/src/apps/pthread/pthread_test.c b/test/initramfs/src/regression/pthread/pthread_test.c similarity index 100% rename from test/initramfs/src/apps/pthread/pthread_test.c rename to test/initramfs/src/regression/pthread/pthread_test.c diff --git a/test/initramfs/src/apps/pty/Makefile b/test/initramfs/src/regression/pty/Makefile similarity index 100% rename from test/initramfs/src/apps/pty/Makefile rename to test/initramfs/src/regression/pty/Makefile diff --git a/test/initramfs/src/apps/pty/close_pty.c b/test/initramfs/src/regression/pty/close_pty.c similarity index 100% rename from test/initramfs/src/apps/pty/close_pty.c rename to test/initramfs/src/regression/pty/close_pty.c diff --git a/test/initramfs/src/apps/pty/open_ptmx.c b/test/initramfs/src/regression/pty/open_ptmx.c similarity index 100% rename from test/initramfs/src/apps/pty/open_ptmx.c rename to test/initramfs/src/regression/pty/open_ptmx.c diff --git a/test/initramfs/src/apps/pty/open_pty.c b/test/initramfs/src/regression/pty/open_pty.c similarity index 100% rename from test/initramfs/src/apps/pty/open_pty.c rename to test/initramfs/src/regression/pty/open_pty.c diff --git a/test/initramfs/src/apps/pty/pty_blocking.c b/test/initramfs/src/regression/pty/pty_blocking.c similarity index 100% rename from test/initramfs/src/apps/pty/pty_blocking.c rename to test/initramfs/src/regression/pty/pty_blocking.c diff --git a/test/initramfs/src/apps/pty/pty_packet_mode.c b/test/initramfs/src/regression/pty/pty_packet_mode.c similarity index 100% rename from test/initramfs/src/apps/pty/pty_packet_mode.c rename to test/initramfs/src/regression/pty/pty_packet_mode.c diff --git a/test/initramfs/src/apps/sched/Makefile b/test/initramfs/src/regression/sched/Makefile similarity index 100% rename from test/initramfs/src/apps/sched/Makefile rename to test/initramfs/src/regression/sched/Makefile diff --git a/test/initramfs/src/apps/sched/sched_attr_getset.c b/test/initramfs/src/regression/sched/sched_attr_getset.c similarity index 100% rename from test/initramfs/src/apps/sched/sched_attr_getset.c rename to test/initramfs/src/regression/sched/sched_attr_getset.c diff --git a/test/initramfs/src/apps/sched/sched_param_getset.c b/test/initramfs/src/regression/sched/sched_param_getset.c similarity index 100% rename from test/initramfs/src/apps/sched/sched_param_getset.c rename to test/initramfs/src/regression/sched/sched_param_getset.c diff --git a/test/initramfs/src/apps/sched/sched_param_idle.c b/test/initramfs/src/regression/sched/sched_param_idle.c similarity index 100% rename from test/initramfs/src/apps/sched/sched_param_idle.c rename to test/initramfs/src/regression/sched/sched_param_idle.c diff --git a/test/initramfs/src/apps/scripts/Makefile b/test/initramfs/src/regression/scripts/Makefile similarity index 100% rename from test/initramfs/src/apps/scripts/Makefile rename to test/initramfs/src/regression/scripts/Makefile diff --git a/test/initramfs/src/apps/scripts/boot_hello.sh b/test/initramfs/src/regression/scripts/boot_hello.sh similarity index 100% rename from test/initramfs/src/apps/scripts/boot_hello.sh rename to test/initramfs/src/regression/scripts/boot_hello.sh diff --git a/test/initramfs/src/apps/scripts/cgroup.sh b/test/initramfs/src/regression/scripts/cgroup.sh similarity index 100% rename from test/initramfs/src/apps/scripts/cgroup.sh rename to test/initramfs/src/regression/scripts/cgroup.sh diff --git a/test/initramfs/src/apps/scripts/fs.sh b/test/initramfs/src/regression/scripts/fs.sh similarity index 100% rename from test/initramfs/src/apps/scripts/fs.sh rename to test/initramfs/src/regression/scripts/fs.sh diff --git a/test/initramfs/src/apps/scripts/network.sh b/test/initramfs/src/regression/scripts/network.sh similarity index 100% rename from test/initramfs/src/apps/scripts/network.sh rename to test/initramfs/src/regression/scripts/network.sh diff --git a/test/initramfs/src/apps/scripts/process.sh b/test/initramfs/src/regression/scripts/process.sh similarity index 100% rename from test/initramfs/src/apps/scripts/process.sh rename to test/initramfs/src/regression/scripts/process.sh diff --git a/test/initramfs/src/apps/scripts/run_general_test.sh b/test/initramfs/src/regression/scripts/run_regression_test.sh similarity index 90% rename from test/initramfs/src/apps/scripts/run_general_test.sh rename to test/initramfs/src/regression/scripts/run_regression_test.sh index 0d5a05a2a..1edc41520 100755 --- a/test/initramfs/src/apps/scripts/run_general_test.sh +++ b/test/initramfs/src/regression/scripts/run_regression_test.sh @@ -18,4 +18,4 @@ if [ -z $BLOCK_UNSUPPORTED_SMP_TESTS ]; then ./network.sh # will hang fi -echo "All general tests passed." +echo "All regression tests passed." diff --git a/test/initramfs/src/apps/scripts/run_vsock_test.sh b/test/initramfs/src/regression/scripts/run_vsock_test.sh similarity index 100% rename from test/initramfs/src/apps/scripts/run_vsock_test.sh rename to test/initramfs/src/regression/scripts/run_vsock_test.sh diff --git a/test/initramfs/src/apps/scripts/shell_cmd.sh b/test/initramfs/src/regression/scripts/shell_cmd.sh similarity index 100% rename from test/initramfs/src/apps/scripts/shell_cmd.sh rename to test/initramfs/src/regression/scripts/shell_cmd.sh diff --git a/test/initramfs/src/apps/scripts/test_epoll_pwait.sh b/test/initramfs/src/regression/scripts/test_epoll_pwait.sh similarity index 100% rename from test/initramfs/src/apps/scripts/test_epoll_pwait.sh rename to test/initramfs/src/regression/scripts/test_epoll_pwait.sh diff --git a/test/initramfs/src/apps/scripts/vsock_commands.sh b/test/initramfs/src/regression/scripts/vsock_commands.sh similarity index 100% rename from test/initramfs/src/apps/scripts/vsock_commands.sh rename to test/initramfs/src/regression/scripts/vsock_commands.sh diff --git a/test/initramfs/src/apps/shm/Makefile b/test/initramfs/src/regression/shm/Makefile similarity index 100% rename from test/initramfs/src/apps/shm/Makefile rename to test/initramfs/src/regression/shm/Makefile diff --git a/test/initramfs/src/apps/shm/posix_shm.c b/test/initramfs/src/regression/shm/posix_shm.c similarity index 100% rename from test/initramfs/src/apps/shm/posix_shm.c rename to test/initramfs/src/regression/shm/posix_shm.c diff --git a/test/initramfs/src/apps/signal_c/Makefile b/test/initramfs/src/regression/signal_c/Makefile similarity index 100% rename from test/initramfs/src/apps/signal_c/Makefile rename to test/initramfs/src/regression/signal_c/Makefile diff --git a/test/initramfs/src/apps/signal_c/kill.c b/test/initramfs/src/regression/signal_c/kill.c similarity index 100% rename from test/initramfs/src/apps/signal_c/kill.c rename to test/initramfs/src/regression/signal_c/kill.c diff --git a/test/initramfs/src/apps/signal_c/parent_death_signal.c b/test/initramfs/src/regression/signal_c/parent_death_signal.c similarity index 100% rename from test/initramfs/src/apps/signal_c/parent_death_signal.c rename to test/initramfs/src/regression/signal_c/parent_death_signal.c diff --git a/test/initramfs/src/apps/signal_c/pidfd_send_signal.c b/test/initramfs/src/regression/signal_c/pidfd_send_signal.c similarity index 100% rename from test/initramfs/src/apps/signal_c/pidfd_send_signal.c rename to test/initramfs/src/regression/signal_c/pidfd_send_signal.c diff --git a/test/initramfs/src/apps/signal_c/sigaltstack.c b/test/initramfs/src/regression/signal_c/sigaltstack.c similarity index 100% rename from test/initramfs/src/apps/signal_c/sigaltstack.c rename to test/initramfs/src/regression/signal_c/sigaltstack.c diff --git a/test/initramfs/src/apps/signal_c/signal_fd.c b/test/initramfs/src/regression/signal_c/signal_fd.c similarity index 100% rename from test/initramfs/src/apps/signal_c/signal_fd.c rename to test/initramfs/src/regression/signal_c/signal_fd.c diff --git a/test/initramfs/src/apps/signal_c/signal_fpu.c b/test/initramfs/src/regression/signal_c/signal_fpu.c similarity index 100% rename from test/initramfs/src/apps/signal_c/signal_fpu.c rename to test/initramfs/src/regression/signal_c/signal_fpu.c diff --git a/test/initramfs/src/apps/signal_c/signal_rflags_df.c b/test/initramfs/src/regression/signal_c/signal_rflags_df.c similarity index 100% rename from test/initramfs/src/apps/signal_c/signal_rflags_df.c rename to test/initramfs/src/regression/signal_c/signal_rflags_df.c diff --git a/test/initramfs/src/apps/signal_c/signal_test.c b/test/initramfs/src/regression/signal_c/signal_test.c similarity index 100% rename from test/initramfs/src/apps/signal_c/signal_test.c rename to test/initramfs/src/regression/signal_c/signal_test.c diff --git a/test/initramfs/src/apps/signal_c/signal_test2.c b/test/initramfs/src/regression/signal_c/signal_test2.c similarity index 100% rename from test/initramfs/src/apps/signal_c/signal_test2.c rename to test/initramfs/src/regression/signal_c/signal_test2.c diff --git a/test/initramfs/src/apps/test.h b/test/initramfs/src/regression/test.h similarity index 96% rename from test/initramfs/src/apps/test.h rename to test/initramfs/src/regression/test.h index e4a7e7d6b..72a1e0262 100644 --- a/test/initramfs/src/apps/test.h +++ b/test/initramfs/src/regression/test.h @@ -1,16 +1,16 @@ /* SPDX-License-Identifier: MPL-2.0 */ /* - * A framework for writing general tests. + * A framework for writing regression tests. * - * A general test typically consists of two parts, the setup part and the + * A regression test typically consists of two parts, the setup part and the * test part. The setup part contains setup functions that set up the context * for the subsequent tests to run. The setup functions cannot fail, and if they * do, execution is aborted because the subsequent tests will not work as * expected either. The test functions, on the other hand, can fail, and if they * do, they are reported as test failures. * - * The framework provides basic utilities for writing general tests: + * The framework provides basic utilities for writing regression tests: * * - To define a setup function or a test function, FN_SETUP() or FN_TEST() can * be used. These functions are automatically executed in the order of their diff --git a/test/initramfs/src/apps/test_common.mk b/test/initramfs/src/regression/test_common.mk similarity index 100% rename from test/initramfs/src/apps/test_common.mk rename to test/initramfs/src/regression/test_common.mk diff --git a/test/initramfs/src/apps/vsock/Makefile b/test/initramfs/src/regression/vsock/Makefile similarity index 100% rename from test/initramfs/src/apps/vsock/Makefile rename to test/initramfs/src/regression/vsock/Makefile diff --git a/test/initramfs/src/apps/vsock/vsock_client.c b/test/initramfs/src/regression/vsock/vsock_client.c similarity index 100% rename from test/initramfs/src/apps/vsock/vsock_client.c rename to test/initramfs/src/regression/vsock/vsock_client.c diff --git a/test/initramfs/src/apps/vsock/vsock_server.c b/test/initramfs/src/regression/vsock/vsock_server.c similarity index 100% rename from test/initramfs/src/apps/vsock/vsock_server.c rename to test/initramfs/src/regression/vsock/vsock_server.c diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 60dfa345d..cdadabf0e 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -57,7 +57,7 @@ FROM build-base # Install all Asterinas dependent packages RUN apt update && apt-get install -y --no-install-recommends \ bridge-utils \ - clang-format `# formatting general tests` \ + clang-format `# formatting regression tests` \ cpio \ cpuid \ dosfstools \ From f6f896ef642a6e42a172f4adc024da660c9122e0 Mon Sep 17 00:00:00 2001 From: Qingsong Chen Date: Wed, 11 Feb 2026 07:42:49 +0000 Subject: [PATCH 2/2] Refactor regression test to support fine-grained build --- Makefile | 4 - test/initramfs/Makefile | 18 +--- test/initramfs/README.md | 6 +- test/initramfs/nix/default.nix | 12 +-- test/initramfs/nix/initramfs.nix | 3 + test/initramfs/nix/regression.nix | 47 ---------- test/initramfs/nix/regression/common.nix | 24 +++++ test/initramfs/nix/regression/default.nix | 42 +++++++++ .../nix/{ => regression}/tdx-attest.nix | 0 .../{regression/scripts => }/boot_hello.sh | 0 test/initramfs/src/regression/Makefile | 88 +++++------------- .../src/regression/capability/Makefile | 5 - test/initramfs/src/regression/chroot/Makefile | 5 - test/initramfs/src/regression/clone3/Makefile | 5 - test/initramfs/src/regression/common/Makefile | 72 ++++++++++++++ .../src/regression/{ => common}/test.h | 0 .../src/regression/cpu_affinity/Makefile | 5 - test/initramfs/src/regression/devfs/Makefile | 5 - test/initramfs/src/regression/device/Makefile | 5 + .../src/regression/{devfs => device}/evdev.c | 2 +- .../{devfs => device}/framebuffer.c | 2 +- .../src/regression/{devfs => device}/full.c | 2 +- .../regression/{ext2 => device/pty}/Makefile | 2 +- .../regression/{ => device}/pty/close_pty.c | 2 +- .../regression/{ => device}/pty/open_ptmx.c | 2 +- .../regression/{ => device}/pty/open_pty.c | 0 .../{ => device}/pty/pty_blocking.c | 2 +- .../{ => device}/pty/pty_packet_mode.c | 2 +- .../src/regression/{devfs => device}/random.c | 2 +- .../src/regression/device/run_test.sh | 15 +++ test/initramfs/src/regression/epoll/Makefile | 5 - .../src/regression/eventfd2/Makefile | 5 - test/initramfs/src/regression/fork_c/Makefile | 5 - test/initramfs/src/regression/fs/Makefile | 12 +++ .../src/regression/fs/chroot/Makefile | 3 + .../regression/{ => fs}/chroot/chroot_jail.c | 2 +- .../initramfs/src/regression/fs/ext2/Makefile | 3 + .../src/regression/{ => fs}/ext2/mknod.c | 2 +- .../regression/{ => fs}/ext2/unix_socket.c | 2 +- .../src/regression/fs/fdatasync/Makefile | 3 + .../regression/{ => fs}/fdatasync/fdatasync.c | 0 .../src/regression/fs/inotify/Makefile | 3 + .../{ => fs}/inotify/inotify_align.c | 0 .../{ => fs}/inotify/inotify_poll.c | 0 .../{ => fs}/inotify/inotify_unlink.c | 2 +- .../src/regression/fs/overlayfs/Makefile | 3 + .../regression/{ => fs}/overlayfs/ovl_test.c | 0 .../src/regression/fs/procfs/Makefile | 3 + .../regression/{ => fs}/procfs/dentry_cache.c | 2 +- .../src/regression/{ => fs}/procfs/pid_mem.c | 2 +- .../src/regression/fs/pseudofs/Makefile | 3 + .../{ => fs}/pseudofs/memfd_access_err.c | 2 +- .../{ => fs}/pseudofs/pseudo_dentry.c | 0 .../{ => fs}/pseudofs/pseudo_file_cleanup.h | 0 .../{ => fs}/pseudofs/pseudo_file_create.h | 2 +- .../{ => fs}/pseudofs/pseudo_inode.c | 0 .../{ => fs}/pseudofs/pseudo_mount.c | 0 .../{scripts/fs.sh => fs/run_test.sh} | 35 +++---- test/initramfs/src/regression/getcpu/Makefile | 5 - test/initramfs/src/regression/getpid/Makefile | 5 - .../initramfs/src/regression/hello_c/Makefile | 5 - .../src/regression/hello_pie/Makefile | 5 - .../src/regression/hello_world/Makefile | 10 +- .../in_assembly}/Makefile | 4 +- .../{hello_world.S => in_assembly/hello.S} | 0 .../{execve => hello_world/in_c}/Makefile | 4 +- .../{hello_c => hello_world/in_c}/hello.c | 0 .../regression/hello_world/in_c_pie/Makefile | 3 + .../in_c_pie}/hello.c | 0 .../src/regression/hello_world/run_test.sh | 9 ++ .../initramfs/src/regression/inotify/Makefile | 5 - .../src/regression/intel_tdx/Makefile | 5 + .../gen_quote}/Makefile | 25 +++-- .../src/regression/intel_tdx/run_test.sh | 9 ++ test/initramfs/src/regression/io/Makefile | 8 ++ .../src/regression/io/epoll/Makefile | 3 + .../src/regression/{ => io}/epoll/epoll_err.c | 2 +- .../regression/{ => io}/epoll/epoll_pwait.c | 0 .../regression/{ => io}/epoll/epoll_wait.c | 0 .../src/regression/{ => io}/epoll/poll_err.c | 2 +- .../{scripts => io/epoll}/test_epoll_pwait.sh | 2 +- .../src/regression/io/eventfd2/Makefile | 3 + .../regression/{ => io}/eventfd2/eventfd2.c | 0 .../src/regression/{ => io}/file_io/Makefile | 4 +- .../regression/{ => io}/file_io/access_err.c | 2 +- .../regression/{ => io}/file_io/file_err.c | 2 +- .../src/regression/{ => io}/file_io/file_io.c | 0 .../regression/{ => io}/file_io/iovec_err.c | 2 +- test/initramfs/src/regression/io/run_test.sh | 15 +++ test/initramfs/src/regression/ipc/Makefile | 7 ++ .../src/regression/ipc/pipe/Makefile | 3 + .../src/regression/{ => ipc}/pipe/pipe_err.c | 2 +- .../src/regression/{ => ipc}/pipe/short_rw.c | 2 +- test/initramfs/src/regression/ipc/run_test.sh | 10 ++ .../initramfs/src/regression/ipc/shm/Makefile | 3 + .../src/regression/{ => ipc}/shm/posix_shm.c | 2 +- test/initramfs/src/regression/itimer/Makefile | 5 - test/initramfs/src/regression/memory/Makefile | 6 ++ .../src/regression/memory/mmap/Makefile | 3 + .../{ => memory}/mmap/mmap_and_fork.c | 0 .../{ => memory}/mmap/mmap_and_mprotect.c | 2 +- .../{ => memory}/mmap/mmap_and_mremap.c | 2 +- .../{ => memory}/mmap/mmap_beyond_the_file.c | 2 +- .../regression/{ => memory}/mmap/mmap_err.c | 2 +- .../regression/{ => memory}/mmap/mmap_holes.c | 2 +- .../{ => memory}/mmap/mmap_readahead.c | 2 +- .../mmap/mmap_shared_filebacked.c | 0 .../regression/{ => memory}/mmap/mmap_vmrss.c | 2 +- .../src/regression/memory/run_test.sh | 15 +++ test/initramfs/src/regression/mmap/Makefile | 5 - .../src/regression/mongoose/.gitignore | 1 - .../src/regression/mongoose/Makefile | 39 -------- .../src/regression/mongoose/http_client.c | 51 ---------- .../src/regression/mongoose/http_server.c | 72 -------------- .../src/regression/namespace/Makefile | 5 - .../initramfs/src/regression/network/Makefile | 7 +- .../src/regression/network/netlink_route.c | 2 +- .../src/regression/network/rtnl_err.c | 2 +- .../network.sh => network/run_test.sh} | 11 --- .../src/regression/network/sendmmsg.c | 2 +- .../src/regression/network/sockoption.c | 2 +- .../src/regression/network/sockoption_unix.c | 2 +- .../src/regression/network/tcp_err.c | 2 +- .../src/regression/network/tcp_poll.c | 2 +- .../src/regression/network/tcp_reuseaddr.c | 2 +- .../src/regression/network/udp_broadcast.c | 2 +- .../src/regression/network/udp_err.c | 2 +- .../src/regression/network/uevent_err.c | 2 +- .../regression/network/unix_datagram_err.c | 2 +- .../network/unix_streamlike_prologue.h | 2 +- .../src/regression/network/vsock/Makefile | 3 + .../{ => network}/vsock/vsock_client.c | 2 +- .../vsock}/vsock_commands.sh | 0 .../{ => network}/vsock/vsock_server.c | 0 .../src/regression/overlayfs/Makefile | 5 - test/initramfs/src/regression/pipe/Makefile | 5 - .../initramfs/src/regression/process/Makefile | 21 ++++- .../regression/{ => process}/alarm/Makefile | 4 +- .../regression/{ => process}/alarm/alarm.c | 0 .../regression/{scripts => process}/cgroup.sh | 0 .../src/regression/process/clone3/Makefile | 3 + .../{ => process}/clone3/clone_exit_signal.c | 0 .../{ => process}/clone3/clone_files.c | 2 +- .../clone3/clone_no_exit_signal.c | 0 .../{ => process}/clone3/clone_parent.c | 2 +- .../{ => process}/clone3/clone_process.c | 0 .../regression/process/cpu_affinity/Makefile | 3 + .../{ => process}/cpu_affinity/cpu_affinity.c | 0 .../src/regression/process/execve/Makefile | 3 + .../regression/{ => process}/execve/execve.c | 2 +- .../{ => process}/execve/execve_err.c | 2 +- .../{ => process}/execve/execve_memfd.c | 12 ++- .../{ => process}/execve/execve_mt_child.c | 2 +- .../{ => process}/execve/execve_mt_parent.c | 2 +- .../regression/{ => process}/execve/hello.c | 0 .../regression/{ => process}/exit/Makefile | 4 +- .../regression/{ => process}/exit/exit_code.c | 2 +- .../{ => process}/exit/exit_procfs.c | 2 +- .../src/regression/process/fork/Makefile | 5 + .../src/regression/{ => process}/fork/fork.S | 0 .../{fdatasync => process/fork_c}/Makefile | 4 +- .../regression/{ => process}/fork_c/fork.c | 0 .../src/regression/process/getcpu/Makefile | 3 + .../regression/{ => process}/getcpu/getcpu.c | 2 +- .../src/regression/process/getpid/Makefile | 3 + .../regression/{ => process}/getpid/getpid.c | 0 .../src/regression/process/group_session.c | 2 +- .../src/regression/process/itimer/Makefile | 3 + .../{ => process}/itimer/setitimer.c | 0 .../{ => process}/itimer/timer_create.c | 0 .../src/regression/process/job_control.c | 2 +- test/initramfs/src/regression/process/pidfd.c | 2 +- .../src/regression/process/pidfd_getfd.c | 2 +- .../regression/{ => process}/prctl/Makefile | 4 +- .../{ => process}/prctl/secure_bits.c | 2 +- .../{ => process}/prctl/subreaper.c | 0 .../regression/{ => process}/pthread/Makefile | 4 +- .../pthread/pthread_signal_test.c | 0 .../{ => process}/pthread/pthread_test.c | 0 .../src/regression/process/run_test.sh | 62 +++++++++++++ .../src/regression/process/sched/Makefile | 3 + .../{ => process}/sched/sched_attr_getset.c | 2 +- .../{ => process}/sched/sched_param_getset.c | 2 +- .../{ => process}/sched/sched_param_idle.c | 0 .../src/regression/process/signal/Makefile | 11 +++ .../{signal_c => process/signal}/kill.c | 2 +- .../signal}/parent_death_signal.c | 0 .../signal}/pidfd_send_signal.c | 2 +- .../signal}/sigaltstack.c | 2 +- .../{signal_c => process/signal}/signal_fd.c | 2 +- .../{signal_c => process/signal}/signal_fpu.c | 0 .../signal}/signal_rflags_df.c | 0 .../signal}/signal_test.c | 0 .../signal}/signal_test2.c | 2 +- test/initramfs/src/regression/process/wait4.c | 2 +- test/initramfs/src/regression/procfs/Makefile | 5 - .../src/regression/pseudofs/Makefile | 5 - test/initramfs/src/regression/pty/Makefile | 5 - test/initramfs/src/regression/sched/Makefile | 5 - .../initramfs/src/regression/scripts/Makefile | 4 +- .../src/regression/scripts/process.sh | 93 ------------------- .../regression/scripts/run_regression_test.sh | 23 +++-- .../src/regression/scripts/run_vsock_test.sh | 2 +- .../src/regression/scripts/shell_cmd.sh | 41 -------- .../src/regression/security/Makefile | 7 ++ .../regression/security/capability/Makefile | 3 + .../{ => security}/capability/capabilities.c | 0 .../regression/security/namespace/Makefile | 3 + .../{ => security}/namespace/mnt_ns.c | 3 +- .../{ => security}/namespace/setns.c | 2 +- .../{ => security}/namespace/unshare.c | 2 +- .../src/regression/security/run_test.sh | 11 +++ test/initramfs/src/regression/shm/Makefile | 5 - .../src/regression/signal_c/Makefile | 7 -- test/initramfs/src/regression/test_common.mk | 33 ------- test/initramfs/src/regression/vsock/Makefile | 5 - tools/docker/nix/Dockerfile | 5 +- 217 files changed, 636 insertions(+), 750 deletions(-) delete mode 100644 test/initramfs/nix/regression.nix create mode 100644 test/initramfs/nix/regression/common.nix create mode 100644 test/initramfs/nix/regression/default.nix rename test/initramfs/nix/{ => regression}/tdx-attest.nix (100%) rename test/initramfs/src/{regression/scripts => }/boot_hello.sh (100%) delete mode 100644 test/initramfs/src/regression/capability/Makefile delete mode 100644 test/initramfs/src/regression/chroot/Makefile delete mode 100644 test/initramfs/src/regression/clone3/Makefile create mode 100644 test/initramfs/src/regression/common/Makefile rename test/initramfs/src/regression/{ => common}/test.h (100%) delete mode 100644 test/initramfs/src/regression/cpu_affinity/Makefile delete mode 100644 test/initramfs/src/regression/devfs/Makefile create mode 100644 test/initramfs/src/regression/device/Makefile rename test/initramfs/src/regression/{devfs => device}/evdev.c (98%) rename test/initramfs/src/regression/{devfs => device}/framebuffer.c (99%) rename test/initramfs/src/regression/{devfs => device}/full.c (98%) rename test/initramfs/src/regression/{ext2 => device/pty}/Makefile (54%) rename test/initramfs/src/regression/{ => device}/pty/close_pty.c (99%) rename test/initramfs/src/regression/{ => device}/pty/open_ptmx.c (98%) rename test/initramfs/src/regression/{ => device}/pty/open_pty.c (100%) rename test/initramfs/src/regression/{ => device}/pty/pty_blocking.c (99%) rename test/initramfs/src/regression/{ => device}/pty/pty_packet_mode.c (99%) rename test/initramfs/src/regression/{devfs => device}/random.c (98%) create mode 100755 test/initramfs/src/regression/device/run_test.sh delete mode 100644 test/initramfs/src/regression/epoll/Makefile delete mode 100644 test/initramfs/src/regression/eventfd2/Makefile delete mode 100644 test/initramfs/src/regression/fork_c/Makefile create mode 100644 test/initramfs/src/regression/fs/Makefile create mode 100644 test/initramfs/src/regression/fs/chroot/Makefile rename test/initramfs/src/regression/{ => fs}/chroot/chroot_jail.c (98%) create mode 100644 test/initramfs/src/regression/fs/ext2/Makefile rename test/initramfs/src/regression/{ => fs}/ext2/mknod.c (97%) rename test/initramfs/src/regression/{ => fs}/ext2/unix_socket.c (97%) create mode 100644 test/initramfs/src/regression/fs/fdatasync/Makefile rename test/initramfs/src/regression/{ => fs}/fdatasync/fdatasync.c (100%) create mode 100644 test/initramfs/src/regression/fs/inotify/Makefile rename test/initramfs/src/regression/{ => fs}/inotify/inotify_align.c (100%) rename test/initramfs/src/regression/{ => fs}/inotify/inotify_poll.c (100%) rename test/initramfs/src/regression/{ => fs}/inotify/inotify_unlink.c (96%) create mode 100644 test/initramfs/src/regression/fs/overlayfs/Makefile rename test/initramfs/src/regression/{ => fs}/overlayfs/ovl_test.c (100%) create mode 100644 test/initramfs/src/regression/fs/procfs/Makefile rename test/initramfs/src/regression/{ => fs}/procfs/dentry_cache.c (97%) rename test/initramfs/src/regression/{ => fs}/procfs/pid_mem.c (99%) create mode 100644 test/initramfs/src/regression/fs/pseudofs/Makefile rename test/initramfs/src/regression/{ => fs}/pseudofs/memfd_access_err.c (98%) rename test/initramfs/src/regression/{ => fs}/pseudofs/pseudo_dentry.c (100%) rename test/initramfs/src/regression/{ => fs}/pseudofs/pseudo_file_cleanup.h (100%) rename test/initramfs/src/regression/{ => fs}/pseudofs/pseudo_file_create.h (98%) rename test/initramfs/src/regression/{ => fs}/pseudofs/pseudo_inode.c (100%) rename test/initramfs/src/regression/{ => fs}/pseudofs/pseudo_mount.c (100%) rename test/initramfs/src/regression/{scripts/fs.sh => fs/run_test.sh} (86%) delete mode 100644 test/initramfs/src/regression/getcpu/Makefile delete mode 100644 test/initramfs/src/regression/getpid/Makefile delete mode 100644 test/initramfs/src/regression/hello_c/Makefile delete mode 100644 test/initramfs/src/regression/hello_pie/Makefile rename test/initramfs/src/regression/{fork => hello_world/in_assembly}/Makefile (70%) rename test/initramfs/src/regression/hello_world/{hello_world.S => in_assembly/hello.S} (100%) rename test/initramfs/src/regression/{execve => hello_world/in_c}/Makefile (67%) rename test/initramfs/src/regression/{hello_c => hello_world/in_c}/hello.c (100%) create mode 100644 test/initramfs/src/regression/hello_world/in_c_pie/Makefile rename test/initramfs/src/regression/{hello_pie => hello_world/in_c_pie}/hello.c (100%) create mode 100755 test/initramfs/src/regression/hello_world/run_test.sh delete mode 100644 test/initramfs/src/regression/inotify/Makefile create mode 100644 test/initramfs/src/regression/intel_tdx/Makefile rename test/initramfs/src/regression/{generate_tdx_quote => intel_tdx/gen_quote}/Makefile (61%) create mode 100755 test/initramfs/src/regression/intel_tdx/run_test.sh create mode 100644 test/initramfs/src/regression/io/Makefile create mode 100644 test/initramfs/src/regression/io/epoll/Makefile rename test/initramfs/src/regression/{ => io}/epoll/epoll_err.c (99%) rename test/initramfs/src/regression/{ => io}/epoll/epoll_pwait.c (100%) rename test/initramfs/src/regression/{ => io}/epoll/epoll_wait.c (100%) rename test/initramfs/src/regression/{ => io}/epoll/poll_err.c (96%) rename test/initramfs/src/regression/{scripts => io/epoll}/test_epoll_pwait.sh (95%) create mode 100644 test/initramfs/src/regression/io/eventfd2/Makefile rename test/initramfs/src/regression/{ => io}/eventfd2/eventfd2.c (100%) rename test/initramfs/src/regression/{ => io}/file_io/Makefile (74%) rename test/initramfs/src/regression/{ => io}/file_io/access_err.c (99%) rename test/initramfs/src/regression/{ => io}/file_io/file_err.c (97%) rename test/initramfs/src/regression/{ => io}/file_io/file_io.c (100%) rename test/initramfs/src/regression/{ => io}/file_io/iovec_err.c (98%) create mode 100755 test/initramfs/src/regression/io/run_test.sh create mode 100644 test/initramfs/src/regression/ipc/Makefile create mode 100644 test/initramfs/src/regression/ipc/pipe/Makefile rename test/initramfs/src/regression/{ => ipc}/pipe/pipe_err.c (99%) rename test/initramfs/src/regression/{ => ipc}/pipe/short_rw.c (94%) create mode 100755 test/initramfs/src/regression/ipc/run_test.sh create mode 100644 test/initramfs/src/regression/ipc/shm/Makefile rename test/initramfs/src/regression/{ => ipc}/shm/posix_shm.c (98%) delete mode 100644 test/initramfs/src/regression/itimer/Makefile create mode 100644 test/initramfs/src/regression/memory/Makefile create mode 100644 test/initramfs/src/regression/memory/mmap/Makefile rename test/initramfs/src/regression/{ => memory}/mmap/mmap_and_fork.c (100%) rename test/initramfs/src/regression/{ => memory}/mmap/mmap_and_mprotect.c (98%) rename test/initramfs/src/regression/{ => memory}/mmap/mmap_and_mremap.c (99%) rename test/initramfs/src/regression/{ => memory}/mmap/mmap_beyond_the_file.c (95%) rename test/initramfs/src/regression/{ => memory}/mmap/mmap_err.c (99%) rename test/initramfs/src/regression/{ => memory}/mmap/mmap_holes.c (97%) rename test/initramfs/src/regression/{ => memory}/mmap/mmap_readahead.c (95%) rename test/initramfs/src/regression/{ => memory}/mmap/mmap_shared_filebacked.c (100%) rename test/initramfs/src/regression/{ => memory}/mmap/mmap_vmrss.c (99%) create mode 100755 test/initramfs/src/regression/memory/run_test.sh delete mode 100644 test/initramfs/src/regression/mmap/Makefile delete mode 100644 test/initramfs/src/regression/mongoose/.gitignore delete mode 100644 test/initramfs/src/regression/mongoose/Makefile delete mode 100644 test/initramfs/src/regression/mongoose/http_client.c delete mode 100644 test/initramfs/src/regression/mongoose/http_server.c delete mode 100644 test/initramfs/src/regression/namespace/Makefile rename test/initramfs/src/regression/{scripts/network.sh => network/run_test.sh} (73%) create mode 100644 test/initramfs/src/regression/network/vsock/Makefile rename test/initramfs/src/regression/{ => network}/vsock/vsock_client.c (96%) rename test/initramfs/src/regression/{scripts => network/vsock}/vsock_commands.sh (100%) rename test/initramfs/src/regression/{ => network}/vsock/vsock_server.c (100%) delete mode 100644 test/initramfs/src/regression/overlayfs/Makefile delete mode 100644 test/initramfs/src/regression/pipe/Makefile rename test/initramfs/src/regression/{ => process}/alarm/Makefile (67%) rename test/initramfs/src/regression/{ => process}/alarm/alarm.c (100%) rename test/initramfs/src/regression/{scripts => process}/cgroup.sh (100%) mode change 100644 => 100755 create mode 100644 test/initramfs/src/regression/process/clone3/Makefile rename test/initramfs/src/regression/{ => process}/clone3/clone_exit_signal.c (100%) rename test/initramfs/src/regression/{ => process}/clone3/clone_files.c (96%) rename test/initramfs/src/regression/{ => process}/clone3/clone_no_exit_signal.c (100%) rename test/initramfs/src/regression/{ => process}/clone3/clone_parent.c (99%) rename test/initramfs/src/regression/{ => process}/clone3/clone_process.c (100%) create mode 100644 test/initramfs/src/regression/process/cpu_affinity/Makefile rename test/initramfs/src/regression/{ => process}/cpu_affinity/cpu_affinity.c (100%) create mode 100644 test/initramfs/src/regression/process/execve/Makefile rename test/initramfs/src/regression/{ => process}/execve/execve.c (89%) rename test/initramfs/src/regression/{ => process}/execve/execve_err.c (99%) rename test/initramfs/src/regression/{ => process}/execve/execve_memfd.c (89%) rename test/initramfs/src/regression/{ => process}/execve/execve_mt_child.c (97%) rename test/initramfs/src/regression/{ => process}/execve/execve_mt_parent.c (99%) rename test/initramfs/src/regression/{ => process}/execve/hello.c (100%) rename test/initramfs/src/regression/{ => process}/exit/Makefile (70%) rename test/initramfs/src/regression/{ => process}/exit/exit_code.c (98%) rename test/initramfs/src/regression/{ => process}/exit/exit_procfs.c (98%) create mode 100644 test/initramfs/src/regression/process/fork/Makefile rename test/initramfs/src/regression/{ => process}/fork/fork.S (100%) rename test/initramfs/src/regression/{fdatasync => process/fork_c}/Makefile (67%) rename test/initramfs/src/regression/{ => process}/fork_c/fork.c (100%) create mode 100644 test/initramfs/src/regression/process/getcpu/Makefile rename test/initramfs/src/regression/{ => process}/getcpu/getcpu.c (96%) create mode 100644 test/initramfs/src/regression/process/getpid/Makefile rename test/initramfs/src/regression/{ => process}/getpid/getpid.c (100%) create mode 100644 test/initramfs/src/regression/process/itimer/Makefile rename test/initramfs/src/regression/{ => process}/itimer/setitimer.c (100%) rename test/initramfs/src/regression/{ => process}/itimer/timer_create.c (100%) rename test/initramfs/src/regression/{ => process}/prctl/Makefile (70%) rename test/initramfs/src/regression/{ => process}/prctl/secure_bits.c (98%) rename test/initramfs/src/regression/{ => process}/prctl/subreaper.c (100%) rename test/initramfs/src/regression/{ => process}/pthread/Makefile (70%) rename test/initramfs/src/regression/{ => process}/pthread/pthread_signal_test.c (100%) rename test/initramfs/src/regression/{ => process}/pthread/pthread_test.c (100%) create mode 100755 test/initramfs/src/regression/process/run_test.sh create mode 100644 test/initramfs/src/regression/process/sched/Makefile rename test/initramfs/src/regression/{ => process}/sched/sched_attr_getset.c (98%) rename test/initramfs/src/regression/{ => process}/sched/sched_param_getset.c (98%) rename test/initramfs/src/regression/{ => process}/sched/sched_param_idle.c (100%) create mode 100644 test/initramfs/src/regression/process/signal/Makefile rename test/initramfs/src/regression/{signal_c => process/signal}/kill.c (98%) rename test/initramfs/src/regression/{signal_c => process/signal}/parent_death_signal.c (100%) rename test/initramfs/src/regression/{signal_c => process/signal}/pidfd_send_signal.c (99%) rename test/initramfs/src/regression/{signal_c => process/signal}/sigaltstack.c (99%) rename test/initramfs/src/regression/{signal_c => process/signal}/signal_fd.c (99%) rename test/initramfs/src/regression/{signal_c => process/signal}/signal_fpu.c (100%) rename test/initramfs/src/regression/{signal_c => process/signal}/signal_rflags_df.c (100%) rename test/initramfs/src/regression/{signal_c => process/signal}/signal_test.c (100%) rename test/initramfs/src/regression/{signal_c => process/signal}/signal_test2.c (97%) delete mode 100644 test/initramfs/src/regression/procfs/Makefile delete mode 100644 test/initramfs/src/regression/pseudofs/Makefile delete mode 100644 test/initramfs/src/regression/pty/Makefile delete mode 100644 test/initramfs/src/regression/sched/Makefile delete mode 100755 test/initramfs/src/regression/scripts/process.sh delete mode 100755 test/initramfs/src/regression/scripts/shell_cmd.sh create mode 100644 test/initramfs/src/regression/security/Makefile create mode 100644 test/initramfs/src/regression/security/capability/Makefile rename test/initramfs/src/regression/{ => security}/capability/capabilities.c (100%) create mode 100644 test/initramfs/src/regression/security/namespace/Makefile rename test/initramfs/src/regression/{ => security}/namespace/mnt_ns.c (99%) rename test/initramfs/src/regression/{ => security}/namespace/setns.c (97%) rename test/initramfs/src/regression/{ => security}/namespace/unshare.c (99%) create mode 100755 test/initramfs/src/regression/security/run_test.sh delete mode 100644 test/initramfs/src/regression/shm/Makefile delete mode 100644 test/initramfs/src/regression/signal_c/Makefile delete mode 100644 test/initramfs/src/regression/test_common.mk delete mode 100644 test/initramfs/src/regression/vsock/Makefile diff --git a/Makefile b/Makefile index 8b1d8ea42..668ae8021 100644 --- a/Makefile +++ b/Makefile @@ -99,13 +99,9 @@ CARGO_OSDK_BUILD_ARGS += --kcmd-args="EXTRA_BLOCKLISTS_DIRS=$(EXTRA_BLOCKLISTS_D CARGO_OSDK_BUILD_ARGS += --init-args="/opt/syscall_test/run_syscall_test.sh" else ifeq ($(AUTO_TEST), regression) ENABLE_REGRESSION_TEST := true - ifneq ($(SMP), 1) - CARGO_OSDK_BUILD_ARGS += --kcmd-args="BLOCK_UNSUPPORTED_SMP_TESTS=1" - endif CARGO_OSDK_BUILD_ARGS += --kcmd-args="INTEL_TDX=$(INTEL_TDX)" CARGO_OSDK_BUILD_ARGS += --init-args="/test/run_regression_test.sh" else ifeq ($(AUTO_TEST), boot) -ENABLE_REGRESSION_TEST := true CARGO_OSDK_BUILD_ARGS += --init-args="/test/boot_hello.sh" else ifeq ($(AUTO_TEST), vsock) ENABLE_REGRESSION_TEST := true diff --git a/test/initramfs/Makefile b/test/initramfs/Makefile index f5a1cc545..7e0bd9a21 100644 --- a/test/initramfs/Makefile +++ b/test/initramfs/Makefile @@ -9,7 +9,7 @@ ENABLE_REGRESSION_TEST ?= false # Specify platform macros when building regression tests (supported: asterinas, linux). # - asterinas: Define both `__asterinas__` and `__linux__`. Tests may fail in Linux. # - linux: Define only `__linux__`. Tests may fail in Asterinas. -BASIC_TEST_PLATFORM ?= asterinas +TEST_PLATFORM ?= asterinas DNS_SERVER ?= none # Set Nix's cached tarballs to be live for a longer period of time (30 days) to avoid network traffics. # Nix's default value is rather small (1 hour or 3600 seconds). @@ -65,9 +65,9 @@ $(INITRAMFS_IMAGE): $(INITRAMFS) @nix-build \ --tarball-ttl $(NIXPKGS_CACHE_TTL) \ --argstr target $(OSDK_TARGET_ARCH) \ - --arg enableRegressionTest $(ENABLE_REGRESSION_TEST) \ - --argstr basicTestPlatform $(BASIC_TEST_PLATFORM) \ + --argstr testPlatform $(TEST_PLATFORM) \ --arg enableBenchmark $(ENABLE_BENCHMARK) \ + --arg enableRegressionTest $(ENABLE_REGRESSION_TEST) \ --arg enableSyscallTest $(ENABLE_SYSCALL_TEST) \ --argstr syscallTestSuite $(SYSCALL_TEST_SUITE) \ --argstr syscallTestWorkDir $(SYSCALL_TEST_WORKDIR) \ @@ -82,9 +82,9 @@ $(INITRAMFS): @nix-build \ --tarball-ttl $(NIXPKGS_CACHE_TTL) \ --argstr target $(OSDK_TARGET_ARCH) \ - --arg enableRegressionTest $(ENABLE_REGRESSION_TEST) \ - --argstr basicTestPlatform $(BASIC_TEST_PLATFORM) \ + --argstr testPlatform $(TEST_PLATFORM) \ --arg enableBenchmark $(ENABLE_BENCHMARK) \ + --arg enableRegressionTest $(ENABLE_REGRESSION_TEST) \ --arg enableSyscallTest $(ENABLE_SYSCALL_TEST) \ --argstr syscallTestSuite $(SYSCALL_TEST_SUITE) \ --argstr syscallTestWorkDir $(SYSCALL_TEST_WORKDIR) \ @@ -133,14 +133,6 @@ riscv64_pkgs: -A regression.package \ -A syscall.ltp -general_pkgs: - @nix-build \ - nix/default.nix \ - --tarball-ttl $(NIXPKGS_CACHE_TTL) \ - $(NIX_QUIET) \ - --out-link /nix/var/nix/gcroots/auto/general \ - -A regression.mongoose_src - install_host_pkgs: @nix-env \ --file nix/default.nix \ diff --git a/test/initramfs/README.md b/test/initramfs/README.md index c0ed8fd36..239bf0557 100644 --- a/test/initramfs/README.md +++ b/test/initramfs/README.md @@ -5,18 +5,18 @@ This directory contains the test suites of Asterinas running in initramfs, inclu ## Directory Structure ``` -test/ +initramfs/ ├── src/ -│ ├── regression/ # Regression tests │ ├── benchmark/ # Supported benchmark test suites +│ ├── regression/ # Regression tests │ ├── etc/ # Configuration files │ └── syscall/ # Syscall test suites │ ├── ltp/ # LTP syscall test suite │ └── gvisor/ # Gvisor syscall test suite ├── nix/ │ ├── benchmark/ # Nix expressions for `benchmark` +│ ├── regression/ # Nix expressions for `regression` │ ├── syscall/ # Nix expressions for `syscall` -│ ├── regression.nix # Nix expression for `regression` │ └── initramfs.nix # Nix expression for packaging initramfs ├── Makefile └── README.md diff --git a/test/initramfs/nix/default.nix b/test/initramfs/nix/default.nix index b701adba8..1ad2e1bfd 100644 --- a/test/initramfs/nix/default.nix +++ b/test/initramfs/nix/default.nix @@ -1,8 +1,7 @@ -{ target ? "x86_64", enableRegressionTest ? false -, basicTestPlatform ? "asterinas", enableBenchmark ? false -, enableSyscallTest ? false, syscallTestSuite ? "ltp" -, syscallTestWorkDir ? "/tmp", dnsServer ? "none", smp ? 1 -, initramfsCompressed ? true, }: +{ target ? "x86_64", testPlatform ? "asterinas", enableBenchmark ? false +, enableRegressionTest ? false, enableSyscallTest ? false +, syscallTestSuite ? "ltp", syscallTestWorkDir ? "/tmp", dnsServer ? "none" +, smp ? 1, initramfsCompressed ? true, }: let crossSystem.config = if target == "x86_64" then "x86_64-unknown-linux-gnu" @@ -24,10 +23,9 @@ let }; in rec { # Packages needed by initramfs - regression = - pkgs.callPackage ./regression.nix { testPlatform = basicTestPlatform; }; busybox = pkgs.busybox; benchmark = pkgs.callPackage ./benchmark { }; + regression = pkgs.callPackage ./regression { inherit testPlatform; }; syscall = pkgs.callPackage ./syscall { inherit smp; testSuite = syscallTestSuite; diff --git a/test/initramfs/nix/initramfs.nix b/test/initramfs/nix/initramfs.nix index c199d13da..b23dca95d 100644 --- a/test/initramfs/nix/initramfs.nix +++ b/test/initramfs/nix/initramfs.nix @@ -1,6 +1,7 @@ { lib, stdenvNoCC, fetchFromGitHub, hostPlatform, writeClosure, busybox , regression, benchmark, syscall, dnsServer, pkgs }: let + boot_hello = builtins.path { path = ./../src/boot_hello.sh; }; etc = lib.fileset.toSource { root = ./../src/etc; fileset = ./../src/etc; @@ -37,6 +38,8 @@ in stdenvNoCC.mkDerivation { cp -r ${etc}/* $out/etc/ + cp ${boot_hello} $out/test/boot_hello.sh + cp ${resolv_conf}/resolv.conf $out/etc/ ${lib.optionalString (regression != null) '' diff --git a/test/initramfs/nix/regression.nix b/test/initramfs/nix/regression.nix deleted file mode 100644 index 89f3cc4d8..000000000 --- a/test/initramfs/nix/regression.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, hostPlatform, glibc, libnl, callPackage -, testPlatform, }: rec { - - tdxAttest = lib.optionalAttrs (builtins.getEnv "INTEL_TDX" == "1") - (callPackage ./tdx-attest.nix { }); - - mongoose_src = fetchFromGitHub { - owner = "cesanta"; - repo = "mongoose"; - rev = "7.13"; - sha256 = "sha256-9XHUE8SVOG/X7SIB52C8EImPx4XZ7B/5Ojwmb0PkiuI"; - }; - - package = stdenv.mkDerivation { - pname = "regression"; - version = "0.1.0"; - src = lib.fileset.toSource { - root = ./../src; - fileset = ./../src/regression; - }; - - MONGOOSE_DIR = "${mongoose_src}"; - - INTEL_TDX = builtins.getEnv "INTEL_TDX"; - TDX_ATTEST_DIR = lib.optionalString (builtins.getEnv "INTEL_TDX" == "1") - "${tdxAttest}/QuoteGeneration"; - - HOST_PLATFORM = "${hostPlatform.system}"; - CC = "${stdenv.cc.targetPrefix}cc"; - C_FLAGS = "-I${libnl.dev}/include/libnl3" - + (if testPlatform == "asterinas" then " -D__asterinas__" else ""); - # FIXME: Excluding `glibc` allows the build to succeed, but causes some tests to fail. - buildInputs = [ glibc glibc.static libnl ]; - buildCommand = '' - BUILD_DIR=$(mktemp -d) - mkdir -p $BUILD_DIR - cp -r $src/regression $BUILD_DIR/ - - pushd $BUILD_DIR - make --no-print-directory -C regression - popd - - mkdir -p $out - mv build/initramfs/test/* $out/ - ''; - }; -} diff --git a/test/initramfs/nix/regression/common.nix b/test/initramfs/nix/regression/common.nix new file mode 100644 index 000000000..cb82d56eb --- /dev/null +++ b/test/initramfs/nix/regression/common.nix @@ -0,0 +1,24 @@ +{ lib, stdenv, glibc, hostPlatform, dir, testPlatform ? "asterinas" +, extraEnv ? { }, extraBuildInputs ? [ ] }: +stdenv.mkDerivation ({ + pname = "${dir}-test"; + version = "0.1.0"; + src = lib.fileset.toSource { + root = ./../../src/regression; + fileset = lib.fileset.unions [ + ./../../src/regression/common + ./../../src/regression/${dir} + ]; + }; + + HOST_PLATFORM = "${hostPlatform.system}"; + TEST_PLATFORM = "${testPlatform}"; + + CC = "${stdenv.cc.targetPrefix}cc"; + + buildInputs = [ glibc glibc.static ] ++ extraBuildInputs; + buildCommand = '' + mkdir -p $out + make --no-print-directory BUILD_DIR=$(mktemp -d) OUTPUT_DIR=$out -C "$src/${dir}" + ''; +} // extraEnv) diff --git a/test/initramfs/nix/regression/default.nix b/test/initramfs/nix/regression/default.nix new file mode 100644 index 000000000..45a8603eb --- /dev/null +++ b/test/initramfs/nix/regression/default.nix @@ -0,0 +1,42 @@ +{ lib, pkgs, stdenv, callPackage, testPlatform ? "asterinas", }: rec { + scripts = lib.fileset.toSource { + root = ./../../src/regression/scripts; + fileset = lib.fileset.fileFilter (file: file.hasExt "sh") + ./../../src/regression/scripts; + }; + + allPkgs = lib.listToAttrs (map (dir: { + name = dir; + value = callPackage ./common.nix { inherit dir testPlatform; }; + }) [ "device" "fs" "hello_world" "io" "ipc" "memory" "process" "security" ]) + // { + network = callPackage ./common.nix { + dir = "network"; + inherit testPlatform; + extraEnv = { C_FLAGS = " -I${pkgs.libnl.dev}/include/libnl3"; }; + extraBuildInputs = [ pkgs.libnl ]; + }; + } // lib.optionalAttrs (pkgs.hostPlatform.system == "x86_64-linux") { + intel_tdx = callPackage ./common.nix { + dir = "intel_tdx"; + inherit testPlatform; + extraEnv = { + TDX_ATTEST_DIR = + "${callPackage ./tdx-attest.nix { }}/QuoteGeneration"; + }; + }; + }; + + package = stdenv.mkDerivation { + pname = "regression"; + version = "0.1.0"; + buildCommand = '' + mkdir -p $out + cp ${scripts}/* $out + + ${lib.concatMapStringsSep "\n" + (name: "ln -s ${toString allPkgs.${name}}/${name} $out/${name}") + (lib.attrNames allPkgs)} + ''; + }; +} diff --git a/test/initramfs/nix/tdx-attest.nix b/test/initramfs/nix/regression/tdx-attest.nix similarity index 100% rename from test/initramfs/nix/tdx-attest.nix rename to test/initramfs/nix/regression/tdx-attest.nix diff --git a/test/initramfs/src/regression/scripts/boot_hello.sh b/test/initramfs/src/boot_hello.sh similarity index 100% rename from test/initramfs/src/regression/scripts/boot_hello.sh rename to test/initramfs/src/boot_hello.sh diff --git a/test/initramfs/src/regression/Makefile b/test/initramfs/src/regression/Makefile index be353857a..3ee5db326 100644 --- a/test/initramfs/src/regression/Makefile +++ b/test/initramfs/src/regression/Makefile @@ -7,70 +7,37 @@ MAKEFLAGS += --no-builtin-rules MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) CUR_DIR := $(patsubst %/,%,$(dir $(MKFILE_PATH))) +BUILD_DIR ?= $(CUR_DIR)/../../build +OUTPUT_DIR ?= $(BUILD_DIR)/initramfs/test -INITRAMFS ?= $(CUR_DIR)/../../build/initramfs -TEST_BUILD_DIR ?= $(INITRAMFS)/test - -# These test apps are sorted by name -TEST_APPS := \ - alarm \ - capability \ - chroot \ - clone3 \ - cpu_affinity \ - devfs \ - epoll \ - eventfd2 \ - execve \ - exit \ - ext2 \ - fdatasync \ - file_io \ - fork_c \ - getcpu \ - getpid \ - hello_pie \ - inotify \ - itimer \ - mmap \ - mongoose \ - namespace \ - network \ - pipe \ - prctl \ - process \ - procfs \ - pseudofs \ - pthread \ - pty \ - sched \ - shm \ - vsock \ - -# TODO: Refactor those tests for target CPU arch using C macro-based conditional compilation. -ifeq ($(HOST_PLATFORM), x86_64-linux) -TEST_APPS += \ - fork \ - hello_c \ +SUBDIRS := \ + device \ + fs \ hello_world \ - signal_c + io \ + ipc \ + memory \ + network \ + process \ + scripts \ + security \ + +ifeq ($(HOST_PLATFORM), x86_64-linux) +SUBDIRS += intel_tdx endif -ifeq ($(INTEL_TDX), 1) -TEST_APPS += generate_tdx_quote -endif - -# The C head and source files of all the apps, excluding the downloaded mongoose files -C_SOURCES := \ - $(shell find . -type f \( -name "*.c" -or -name "*.h" \) \ - ! -name "mongoose.c" ! -name "mongoose.h") +# The C head and source files of all testcases. +C_SOURCES := $(shell find . -type f \( -name "*.c" -or -name "*.h" \)) .PHONY: all -all: $(TEST_APPS) scripts +all: $(SUBDIRS) -.PHONY: $(TEST_APPS) -$(TEST_APPS): - @make --no-print-directory -C $@ +$(OUTPUT_DIR): + @mkdir -p $@ + +.PHONY: $(SUBDIRS) +$(SUBDIRS): $(OUTPUT_DIR) + @make --no-print-directory BUILD_DIR=$(BUILD_DIR) OUTPUT_DIR=$(OUTPUT_DIR) -C $@ .PHONY: format format: @@ -81,10 +48,3 @@ format: check: @echo "Checking code format for regression tests..." @clang-format --dry-run --Werror $(C_SOURCES) - -$(TEST_BUILD_DIR): - @mkdir -p $@ - -.PHONY: scripts -scripts: | $(TEST_BUILD_DIR) - @make --no-print-directory BUILD_DIR=$(TEST_BUILD_DIR) -C scripts diff --git a/test/initramfs/src/regression/capability/Makefile b/test/initramfs/src/regression/capability/Makefile deleted file mode 100644 index c603a781a..000000000 --- a/test/initramfs/src/regression/capability/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/chroot/Makefile b/test/initramfs/src/regression/chroot/Makefile deleted file mode 100644 index c603a781a..000000000 --- a/test/initramfs/src/regression/chroot/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/clone3/Makefile b/test/initramfs/src/regression/clone3/Makefile deleted file mode 100644 index 9a664a9ad..000000000 --- a/test/initramfs/src/regression/clone3/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/common/Makefile b/test/initramfs/src/regression/common/Makefile new file mode 100644 index 000000000..388f16991 --- /dev/null +++ b/test/initramfs/src/regression/common/Makefile @@ -0,0 +1,72 @@ +# SPDX-License-Identifier: MPL-2.0 + +MAIN_MAKEFILE := $(firstword $(MAKEFILE_LIST)) +INCLUDE_MAKEFILE := $(lastword $(MAKEFILE_LIST)) +CUR_DIR := $(shell dirname $(realpath $(MAIN_MAKEFILE))) +INCLUDE_MAKEFILE_DIR := $(shell dirname $(realpath $(INCLUDE_MAKEFILE))) +COMMON_PREFIX := $(shell dirname $(INCLUDE_MAKEFILE_DIR)) +CUR_DIR_NAME := $(subst $(COMMON_PREFIX)/,,$(CUR_DIR)) + +BUILD_DIR ?= $(INCLUDE_MAKEFILE_DIR)/../../../build +OUTPUT_DIR ?= $(BUILD_DIR)/initramfs/test +OBJ_OUTPUT_DIR := $(OUTPUT_DIR)/$(CUR_DIR_NAME) +DEP_OUTPUT_DIR := $(BUILD_DIR)/dep/$(CUR_DIR_NAME) +C_SRCS := $(wildcard *.c) +C_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(C_SRCS:%.c=%)) +C_DEPS := $(addprefix $(DEP_OUTPUT_DIR)/,$(C_SRCS:%.c=%.d)) +ASM_SRCS := $(wildcard *.S) +ASM_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(ASM_SRCS:%.S=%)) +SCRIPTS := $(addprefix $(OBJ_OUTPUT_DIR)/, $(wildcard *.sh)) + +CC ?= gcc +C_FLAGS += -Wall -Werror + +HOST_PLATFORM ?= x86_64-linux +TEST_PLATFORM ?= asterinas + +ifeq ($(TEST_PLATFORM),asterinas) +C_FLAGS += -D__asterinas__ +endif + +ifneq ($(C_OBJS_FILTER),) + FILTERED_C_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(C_OBJS_FILTER)) + C_OBJS := $(filter-out $(FILTERED_C_OBJS),$(C_OBJS)) +endif + +ifneq ($(ASM_OBJS_FILTER),) + FILTERED_ASM_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(ASM_OBJS_FILTER)) + ASM_OBJS := $(filter-out $(FILTERED_ASM_OBJS),$(ASM_OBJS)) +endif + +ifneq ($(SCRIPTS_FILTER),) + FILTERED_SCRIPTS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(SCRIPTS_FILTER)) + SCRIPTS := $(filter-out $(FILTERED_SCRIPTS),$(SCRIPTS)) +endif + +ifneq ($(SUBDIRS_FILTER),) + SUBDIRS := $(filter-out $(SUBDIRS_FILTER),$(SUBDIRS)) +endif + +.PHONY: all +all: $(C_OBJS) $(ASM_OBJS) $(SUBDIRS) $(SCRIPTS) + +$(OBJ_OUTPUT_DIR) $(DEP_OUTPUT_DIR): + @mkdir -p $@ + +$(OBJ_OUTPUT_DIR)/%: %.c | $(OBJ_OUTPUT_DIR) $(DEP_OUTPUT_DIR) + @$(CC) $(C_FLAGS) $< -o $@ $(EXTRA_C_FLAGS) \ + -MMD -MF $(DEP_OUTPUT_DIR)/$*.d + @echo "CC <= $@" + +-include $(C_DEPS) + +$(OBJ_OUTPUT_DIR)/%: %.S | $(OBJ_OUTPUT_DIR) + @$(CC) $(C_FLAGS) $(EXTRA_C_FLAGS) $< -o $@ + @echo "CC <= $@" + +$(OBJ_OUTPUT_DIR)/%.sh: %.sh | $(OBJ_OUTPUT_DIR) + @cp $< $@ + +.PHONY: $(SUBDIRS) +$(SUBDIRS): + @make --no-print-directory -C $@ diff --git a/test/initramfs/src/regression/test.h b/test/initramfs/src/regression/common/test.h similarity index 100% rename from test/initramfs/src/regression/test.h rename to test/initramfs/src/regression/common/test.h diff --git a/test/initramfs/src/regression/cpu_affinity/Makefile b/test/initramfs/src/regression/cpu_affinity/Makefile deleted file mode 100644 index ce42e33b0..000000000 --- a/test/initramfs/src/regression/cpu_affinity/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/devfs/Makefile b/test/initramfs/src/regression/devfs/Makefile deleted file mode 100644 index ce42e33b0..000000000 --- a/test/initramfs/src/regression/devfs/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/device/Makefile b/test/initramfs/src/regression/device/Makefile new file mode 100644 index 000000000..65c63847f --- /dev/null +++ b/test/initramfs/src/regression/device/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: MPL-2.0 + +SUBDIRS := pty + +include ../common/Makefile diff --git a/test/initramfs/src/regression/devfs/evdev.c b/test/initramfs/src/regression/device/evdev.c similarity index 98% rename from test/initramfs/src/regression/devfs/evdev.c rename to test/initramfs/src/regression/device/evdev.c index 2236466fb..fe63666b7 100644 --- a/test/initramfs/src/regression/devfs/evdev.c +++ b/test/initramfs/src/regression/device/evdev.c @@ -9,7 +9,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" #define INPUT_DIR "/dev/input" #define MAX_EVDEV_DEVICES 16 diff --git a/test/initramfs/src/regression/devfs/framebuffer.c b/test/initramfs/src/regression/device/framebuffer.c similarity index 99% rename from test/initramfs/src/regression/devfs/framebuffer.c rename to test/initramfs/src/regression/device/framebuffer.c index 3e28ec908..5300b9e20 100644 --- a/test/initramfs/src/regression/devfs/framebuffer.c +++ b/test/initramfs/src/regression/device/framebuffer.c @@ -15,7 +15,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" #define FB_DEVICE "/dev/fb0" #define PAGE_SIZE 4096 diff --git a/test/initramfs/src/regression/devfs/full.c b/test/initramfs/src/regression/device/full.c similarity index 98% rename from test/initramfs/src/regression/devfs/full.c rename to test/initramfs/src/regression/device/full.c index 7ea168b09..a47b1942d 100644 --- a/test/initramfs/src/regression/devfs/full.c +++ b/test/initramfs/src/regression/device/full.c @@ -6,7 +6,7 @@ #include #include #include -#include "../test.h" +#include "../common/test.h" #define DEVICE_PATH "/dev/full" #define READ_SIZE 100 diff --git a/test/initramfs/src/regression/ext2/Makefile b/test/initramfs/src/regression/device/pty/Makefile similarity index 54% rename from test/initramfs/src/regression/ext2/Makefile rename to test/initramfs/src/regression/device/pty/Makefile index a24f8189d..a1e0b1931 100644 --- a/test/initramfs/src/regression/ext2/Makefile +++ b/test/initramfs/src/regression/device/pty/Makefile @@ -1,3 +1,3 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk \ No newline at end of file +include ../../common/Makefile diff --git a/test/initramfs/src/regression/pty/close_pty.c b/test/initramfs/src/regression/device/pty/close_pty.c similarity index 99% rename from test/initramfs/src/regression/pty/close_pty.c rename to test/initramfs/src/regression/device/pty/close_pty.c index e97cf479e..a9d2a1359 100644 --- a/test/initramfs/src/regression/pty/close_pty.c +++ b/test/initramfs/src/regression/device/pty/close_pty.c @@ -6,7 +6,7 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" int master; int slave; diff --git a/test/initramfs/src/regression/pty/open_ptmx.c b/test/initramfs/src/regression/device/pty/open_ptmx.c similarity index 98% rename from test/initramfs/src/regression/pty/open_ptmx.c rename to test/initramfs/src/regression/device/pty/open_ptmx.c index 5bf620ae6..1ab1ad541 100644 --- a/test/initramfs/src/regression/pty/open_ptmx.c +++ b/test/initramfs/src/regression/device/pty/open_ptmx.c @@ -9,7 +9,7 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" #define DEV_PTMX "/dev/ptmx" diff --git a/test/initramfs/src/regression/pty/open_pty.c b/test/initramfs/src/regression/device/pty/open_pty.c similarity index 100% rename from test/initramfs/src/regression/pty/open_pty.c rename to test/initramfs/src/regression/device/pty/open_pty.c diff --git a/test/initramfs/src/regression/pty/pty_blocking.c b/test/initramfs/src/regression/device/pty/pty_blocking.c similarity index 99% rename from test/initramfs/src/regression/pty/pty_blocking.c rename to test/initramfs/src/regression/device/pty/pty_blocking.c index a0ee670ff..409176e36 100644 --- a/test/initramfs/src/regression/pty/pty_blocking.c +++ b/test/initramfs/src/regression/device/pty/pty_blocking.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../../common/test.h" #include #include diff --git a/test/initramfs/src/regression/pty/pty_packet_mode.c b/test/initramfs/src/regression/device/pty/pty_packet_mode.c similarity index 99% rename from test/initramfs/src/regression/pty/pty_packet_mode.c rename to test/initramfs/src/regression/device/pty/pty_packet_mode.c index 30344b73a..0abcac388 100644 --- a/test/initramfs/src/regression/pty/pty_packet_mode.c +++ b/test/initramfs/src/regression/device/pty/pty_packet_mode.c @@ -8,7 +8,7 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" int master; int slave; diff --git a/test/initramfs/src/regression/devfs/random.c b/test/initramfs/src/regression/device/random.c similarity index 98% rename from test/initramfs/src/regression/devfs/random.c rename to test/initramfs/src/regression/device/random.c index 4aba6f338..3672469c8 100644 --- a/test/initramfs/src/regression/devfs/random.c +++ b/test/initramfs/src/regression/device/random.c @@ -3,7 +3,7 @@ #include #include #include -#include "../test.h" +#include "../common/test.h" #define PAGE_SIZE 4096 diff --git a/test/initramfs/src/regression/device/run_test.sh b/test/initramfs/src/regression/device/run_test.sh new file mode 100755 index 000000000..575b2a6cc --- /dev/null +++ b/test/initramfs/src/regression/device/run_test.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +./pty/close_pty +./pty/open_ptmx +./pty/open_pty +./pty/pty_blocking +./pty/pty_packet_mode +./evdev +./framebuffer +./full +./random diff --git a/test/initramfs/src/regression/epoll/Makefile b/test/initramfs/src/regression/epoll/Makefile deleted file mode 100644 index ce42e33b0..000000000 --- a/test/initramfs/src/regression/epoll/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/eventfd2/Makefile b/test/initramfs/src/regression/eventfd2/Makefile deleted file mode 100644 index ce42e33b0..000000000 --- a/test/initramfs/src/regression/eventfd2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/fork_c/Makefile b/test/initramfs/src/regression/fork_c/Makefile deleted file mode 100644 index cd19ae20b..000000000 --- a/test/initramfs/src/regression/fork_c/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := -static diff --git a/test/initramfs/src/regression/fs/Makefile b/test/initramfs/src/regression/fs/Makefile new file mode 100644 index 000000000..57873dc4f --- /dev/null +++ b/test/initramfs/src/regression/fs/Makefile @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: MPL-2.0 + +SUBDIRS := \ + chroot \ + ext2 \ + fdatasync \ + inotify \ + overlayfs \ + procfs \ + pseudofs \ + +include ../common/Makefile diff --git a/test/initramfs/src/regression/fs/chroot/Makefile b/test/initramfs/src/regression/fs/chroot/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/fs/chroot/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/chroot/chroot_jail.c b/test/initramfs/src/regression/fs/chroot/chroot_jail.c similarity index 98% rename from test/initramfs/src/regression/chroot/chroot_jail.c rename to test/initramfs/src/regression/fs/chroot/chroot_jail.c index 7531ed8e2..f5daaad59 100644 --- a/test/initramfs/src/regression/chroot/chroot_jail.c +++ b/test/initramfs/src/regression/fs/chroot/chroot_jail.c @@ -15,7 +15,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" FN_SETUP(create_chroot_env) { diff --git a/test/initramfs/src/regression/fs/ext2/Makefile b/test/initramfs/src/regression/fs/ext2/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/fs/ext2/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/ext2/mknod.c b/test/initramfs/src/regression/fs/ext2/mknod.c similarity index 97% rename from test/initramfs/src/regression/ext2/mknod.c rename to test/initramfs/src/regression/fs/ext2/mknod.c index 490244945..e6b03e296 100644 --- a/test/initramfs/src/regression/ext2/mknod.c +++ b/test/initramfs/src/regression/fs/ext2/mknod.c @@ -9,7 +9,7 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" #define NULL_DEVICE_PATH "/ext2/my_null_device" #define ZERO_DEVICE_PATH "/ext2/my_zero_device" diff --git a/test/initramfs/src/regression/ext2/unix_socket.c b/test/initramfs/src/regression/fs/ext2/unix_socket.c similarity index 97% rename from test/initramfs/src/regression/ext2/unix_socket.c rename to test/initramfs/src/regression/fs/ext2/unix_socket.c index 0297f1d50..b2c562a7a 100644 --- a/test/initramfs/src/regression/ext2/unix_socket.c +++ b/test/initramfs/src/regression/fs/ext2/unix_socket.c @@ -8,7 +8,7 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" #define SERVER_ADDRESS "/ext2/my_unix_server" diff --git a/test/initramfs/src/regression/fs/fdatasync/Makefile b/test/initramfs/src/regression/fs/fdatasync/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/fs/fdatasync/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/fdatasync/fdatasync.c b/test/initramfs/src/regression/fs/fdatasync/fdatasync.c similarity index 100% rename from test/initramfs/src/regression/fdatasync/fdatasync.c rename to test/initramfs/src/regression/fs/fdatasync/fdatasync.c diff --git a/test/initramfs/src/regression/fs/inotify/Makefile b/test/initramfs/src/regression/fs/inotify/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/fs/inotify/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/inotify/inotify_align.c b/test/initramfs/src/regression/fs/inotify/inotify_align.c similarity index 100% rename from test/initramfs/src/regression/inotify/inotify_align.c rename to test/initramfs/src/regression/fs/inotify/inotify_align.c diff --git a/test/initramfs/src/regression/inotify/inotify_poll.c b/test/initramfs/src/regression/fs/inotify/inotify_poll.c similarity index 100% rename from test/initramfs/src/regression/inotify/inotify_poll.c rename to test/initramfs/src/regression/fs/inotify/inotify_poll.c diff --git a/test/initramfs/src/regression/inotify/inotify_unlink.c b/test/initramfs/src/regression/fs/inotify/inotify_unlink.c similarity index 96% rename from test/initramfs/src/regression/inotify/inotify_unlink.c rename to test/initramfs/src/regression/fs/inotify/inotify_unlink.c index 8806dfc47..6c383fbdc 100644 --- a/test/initramfs/src/regression/inotify/inotify_unlink.c +++ b/test/initramfs/src/regression/fs/inotify/inotify_unlink.c @@ -3,7 +3,7 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" #define TEST_FILE "/tmp/test1" diff --git a/test/initramfs/src/regression/fs/overlayfs/Makefile b/test/initramfs/src/regression/fs/overlayfs/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/fs/overlayfs/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/overlayfs/ovl_test.c b/test/initramfs/src/regression/fs/overlayfs/ovl_test.c similarity index 100% rename from test/initramfs/src/regression/overlayfs/ovl_test.c rename to test/initramfs/src/regression/fs/overlayfs/ovl_test.c diff --git a/test/initramfs/src/regression/fs/procfs/Makefile b/test/initramfs/src/regression/fs/procfs/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/fs/procfs/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/procfs/dentry_cache.c b/test/initramfs/src/regression/fs/procfs/dentry_cache.c similarity index 97% rename from test/initramfs/src/regression/procfs/dentry_cache.c rename to test/initramfs/src/regression/fs/procfs/dentry_cache.c index 752472366..9a9506356 100644 --- a/test/initramfs/src/regression/procfs/dentry_cache.c +++ b/test/initramfs/src/regression/fs/procfs/dentry_cache.c @@ -6,7 +6,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" FN_TEST(negative_cache_pid) { diff --git a/test/initramfs/src/regression/procfs/pid_mem.c b/test/initramfs/src/regression/fs/procfs/pid_mem.c similarity index 99% rename from test/initramfs/src/regression/procfs/pid_mem.c rename to test/initramfs/src/regression/fs/procfs/pid_mem.c index 9d6d838ef..ffe43af03 100644 --- a/test/initramfs/src/regression/procfs/pid_mem.c +++ b/test/initramfs/src/regression/fs/procfs/pid_mem.c @@ -12,7 +12,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" #define PAGE_SIZE 4096 #define ORIG_STR "ORIGINAL" diff --git a/test/initramfs/src/regression/fs/pseudofs/Makefile b/test/initramfs/src/regression/fs/pseudofs/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/fs/pseudofs/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/pseudofs/memfd_access_err.c b/test/initramfs/src/regression/fs/pseudofs/memfd_access_err.c similarity index 98% rename from test/initramfs/src/regression/pseudofs/memfd_access_err.c rename to test/initramfs/src/regression/fs/pseudofs/memfd_access_err.c index 7fd41ac3c..5af7d5b3d 100644 --- a/test/initramfs/src/regression/pseudofs/memfd_access_err.c +++ b/test/initramfs/src/regression/fs/pseudofs/memfd_access_err.c @@ -12,7 +12,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" char memfd_path[64]; diff --git a/test/initramfs/src/regression/pseudofs/pseudo_dentry.c b/test/initramfs/src/regression/fs/pseudofs/pseudo_dentry.c similarity index 100% rename from test/initramfs/src/regression/pseudofs/pseudo_dentry.c rename to test/initramfs/src/regression/fs/pseudofs/pseudo_dentry.c diff --git a/test/initramfs/src/regression/pseudofs/pseudo_file_cleanup.h b/test/initramfs/src/regression/fs/pseudofs/pseudo_file_cleanup.h similarity index 100% rename from test/initramfs/src/regression/pseudofs/pseudo_file_cleanup.h rename to test/initramfs/src/regression/fs/pseudofs/pseudo_file_cleanup.h diff --git a/test/initramfs/src/regression/pseudofs/pseudo_file_create.h b/test/initramfs/src/regression/fs/pseudofs/pseudo_file_create.h similarity index 98% rename from test/initramfs/src/regression/pseudofs/pseudo_file_create.h rename to test/initramfs/src/regression/fs/pseudofs/pseudo_file_create.h index aefd9a460..afbc66284 100644 --- a/test/initramfs/src/regression/pseudofs/pseudo_file_create.h +++ b/test/initramfs/src/regression/fs/pseudofs/pseudo_file_create.h @@ -19,7 +19,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" int pipe_1[2], pipe_2[2]; int sock[2]; diff --git a/test/initramfs/src/regression/pseudofs/pseudo_inode.c b/test/initramfs/src/regression/fs/pseudofs/pseudo_inode.c similarity index 100% rename from test/initramfs/src/regression/pseudofs/pseudo_inode.c rename to test/initramfs/src/regression/fs/pseudofs/pseudo_inode.c diff --git a/test/initramfs/src/regression/pseudofs/pseudo_mount.c b/test/initramfs/src/regression/fs/pseudofs/pseudo_mount.c similarity index 100% rename from test/initramfs/src/regression/pseudofs/pseudo_mount.c rename to test/initramfs/src/regression/fs/pseudofs/pseudo_mount.c diff --git a/test/initramfs/src/regression/scripts/fs.sh b/test/initramfs/src/regression/fs/run_test.sh similarity index 86% rename from test/initramfs/src/regression/scripts/fs.sh rename to test/initramfs/src/regression/fs/run_test.sh index 618b8370e..c1e93f518 100755 --- a/test/initramfs/src/regression/scripts/fs.sh +++ b/test/initramfs/src/regression/fs/run_test.sh @@ -3,7 +3,6 @@ # SPDX-License-Identifier: MPL-2.0 set -e -set -x check_file_size() { local file_name="$1" @@ -45,11 +44,11 @@ test_ext2() { } test_fdatasync() { - fdatasync/fdatasync / + ./fdatasync/fdatasync / rm -f /test_fdatasync.txt - fdatasync/fdatasync /ext2 + ./fdatasync/fdatasync /ext2 rm -f /ext2/test_fdatasync.txt - fdatasync/fdatasync /exfat + ./fdatasync/fdatasync /exfat rm -f /exfat/test_fdatasync.txt } @@ -88,8 +87,8 @@ test_mount_bind_file() { echo "Start ext2 fs test......" test_ext2 "/ext2" "test_file.txt" -ext2/mknod -ext2/unix_socket +./ext2/mknod +./ext2/unix_socket echo "All ext2 fs test passed." echo "Start fdatasync test......" @@ -100,14 +99,16 @@ echo "Start mount bind file test......" test_mount_bind_file echo "All mount bind file test passed." -pipe/pipe_err -pipe/short_rw -epoll/epoll_err -epoll/poll_err -file_io/access_err -file_io/file_err -file_io/iovec_err -devfs/full -devfs/random -devfs/framebuffer -devfs/evdev +./inotify/inotify_align +./inotify/inotify_poll +./inotify/inotify_unlink + +./overlayfs/ovl_test + +./procfs/dentry_cache +./procfs/pid_mem + +./pseudofs/memfd_access_err +./pseudofs/pseudo_dentry +./pseudofs/pseudo_inode +./pseudofs/pseudo_mount diff --git a/test/initramfs/src/regression/getcpu/Makefile b/test/initramfs/src/regression/getcpu/Makefile deleted file mode 100644 index ce42e33b0..000000000 --- a/test/initramfs/src/regression/getcpu/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/getpid/Makefile b/test/initramfs/src/regression/getpid/Makefile deleted file mode 100644 index c603a781a..000000000 --- a/test/initramfs/src/regression/getpid/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/hello_c/Makefile b/test/initramfs/src/regression/hello_c/Makefile deleted file mode 100644 index 37e7cb4c0..000000000 --- a/test/initramfs/src/regression/hello_c/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := -static -mno-sse diff --git a/test/initramfs/src/regression/hello_pie/Makefile b/test/initramfs/src/regression/hello_pie/Makefile deleted file mode 100644 index c603a781a..000000000 --- a/test/initramfs/src/regression/hello_pie/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/hello_world/Makefile b/test/initramfs/src/regression/hello_world/Makefile index 14c46e670..ef9cb86f8 100644 --- a/test/initramfs/src/regression/hello_world/Makefile +++ b/test/initramfs/src/regression/hello_world/Makefile @@ -1,5 +1,11 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk +SUBDIRS := \ + in_c \ + in_c_pie \ -EXTRA_C_FLAGS := -static -nostdlib +ifeq ($(HOST_PLATFORM), x86_64-linux) +SUBDIRS += in_assembly +endif + +include ../common/Makefile diff --git a/test/initramfs/src/regression/fork/Makefile b/test/initramfs/src/regression/hello_world/in_assembly/Makefile similarity index 70% rename from test/initramfs/src/regression/fork/Makefile rename to test/initramfs/src/regression/hello_world/in_assembly/Makefile index 14c46e670..49be0181c 100644 --- a/test/initramfs/src/regression/fork/Makefile +++ b/test/initramfs/src/regression/hello_world/in_assembly/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk - EXTRA_C_FLAGS := -static -nostdlib + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/hello_world/hello_world.S b/test/initramfs/src/regression/hello_world/in_assembly/hello.S similarity index 100% rename from test/initramfs/src/regression/hello_world/hello_world.S rename to test/initramfs/src/regression/hello_world/in_assembly/hello.S diff --git a/test/initramfs/src/regression/execve/Makefile b/test/initramfs/src/regression/hello_world/in_c/Makefile similarity index 67% rename from test/initramfs/src/regression/execve/Makefile rename to test/initramfs/src/regression/hello_world/in_c/Makefile index cd19ae20b..a454c83dd 100644 --- a/test/initramfs/src/regression/execve/Makefile +++ b/test/initramfs/src/regression/hello_world/in_c/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk - EXTRA_C_FLAGS := -static + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/hello_c/hello.c b/test/initramfs/src/regression/hello_world/in_c/hello.c similarity index 100% rename from test/initramfs/src/regression/hello_c/hello.c rename to test/initramfs/src/regression/hello_world/in_c/hello.c diff --git a/test/initramfs/src/regression/hello_world/in_c_pie/Makefile b/test/initramfs/src/regression/hello_world/in_c_pie/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/hello_world/in_c_pie/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/hello_pie/hello.c b/test/initramfs/src/regression/hello_world/in_c_pie/hello.c similarity index 100% rename from test/initramfs/src/regression/hello_pie/hello.c rename to test/initramfs/src/regression/hello_world/in_c_pie/hello.c diff --git a/test/initramfs/src/regression/hello_world/run_test.sh b/test/initramfs/src/regression/hello_world/run_test.sh new file mode 100755 index 000000000..494552053 --- /dev/null +++ b/test/initramfs/src/regression/hello_world/run_test.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +./in_c/hello +./in_c_pie/hello +[ "$(uname -m)" = "x86_64" ] && ./in_assembly/hello diff --git a/test/initramfs/src/regression/inotify/Makefile b/test/initramfs/src/regression/inotify/Makefile deleted file mode 100644 index ce42e33b0..000000000 --- a/test/initramfs/src/regression/inotify/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/intel_tdx/Makefile b/test/initramfs/src/regression/intel_tdx/Makefile new file mode 100644 index 000000000..8cbeecab7 --- /dev/null +++ b/test/initramfs/src/regression/intel_tdx/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: MPL-2.0 + +SUBDIRS := gen_quote + +include ../common/Makefile diff --git a/test/initramfs/src/regression/generate_tdx_quote/Makefile b/test/initramfs/src/regression/intel_tdx/gen_quote/Makefile similarity index 61% rename from test/initramfs/src/regression/generate_tdx_quote/Makefile rename to test/initramfs/src/regression/intel_tdx/gen_quote/Makefile index a17f28623..2adb61ba0 100644 --- a/test/initramfs/src/regression/generate_tdx_quote/Makefile +++ b/test/initramfs/src/regression/intel_tdx/gen_quote/Makefile @@ -1,27 +1,26 @@ # SPDX-License-Identifier: MPL-2.0 -MAIN_MAKEFILE := $(firstword $(MAKEFILE_LIST)) -INCLUDE_MAKEFILE := $(lastword $(MAKEFILE_LIST)) -CUR_DIR := $(shell dirname $(realpath $(MAIN_MAKEFILE))) -CUR_DIR_NAME := $(shell basename $(realpath $(CUR_DIR))) +CUR_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) +ATOMIC_WGET := $(CUR_DIR)/../../../../../../tools/atomic_wget.sh +BUILD_DIR ?= $(CUR_DIR)/../../../../build +OUTPUT_DIR ?= $(BUILD_DIR)/initramfs/test +BIN_OUTPUT_DIR := $(OUTPUT_DIR)/intel_tdx/gen_quote TDX_ATTEST_DIR ?= $(CUR_DIR) TDX_SRCS := test_tdx_attest.c tdx_attest.c qgs_msg_lib.cpp -BUILD_DIR := $(CUR_DIR)/../../../build -OBJ_OUTPUT_DIR := $(BUILD_DIR)/initramfs/test/$(CUR_DIR_NAME) CC ?= gcc -C_FLAGS ?= -Wall -Werror +# FIXME: Disable use-after-free warning as error due to potential false positive +# in realloc/free pattern in `tdx_attest.c`. +C_FLAGS += -Wno-error DCAP_VERSION := DCAP_1.23 DCAP_URL_PREFIX := "https://github.com/intel/SGXDataCenterAttestationPrimitives/raw/$(DCAP_VERSION)/QuoteGeneration/quote_wrapper" -ATOMIC_WGET := $(CUR_DIR)/../../../../tools/atomic_wget.sh .PHONY: all +all: $(BIN_OUTPUT_DIR)/gen_quote -all: $(OBJ_OUTPUT_DIR) $(OBJ_OUTPUT_DIR)/generate_tdx_quote +$(BIN_OUTPUT_DIR): + @mkdir -p $@ -$(OBJ_OUTPUT_DIR): - @mkdir -p $(OBJ_OUTPUT_DIR) - -$(OBJ_OUTPUT_DIR)/generate_tdx_quote: $(addprefix $(TDX_ATTEST_DIR)/,$(TDX_SRCS)) +$(BIN_OUTPUT_DIR)/gen_quote: $(addprefix $(TDX_ATTEST_DIR)/,$(TDX_SRCS)) | $(BIN_OUTPUT_DIR) @$(CC) $(C_FLAGS) $^ -o $@ @echo "CC <= $@" diff --git a/test/initramfs/src/regression/intel_tdx/run_test.sh b/test/initramfs/src/regression/intel_tdx/run_test.sh new file mode 100755 index 000000000..c6b802c3d --- /dev/null +++ b/test/initramfs/src/regression/intel_tdx/run_test.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +if [ -e /dev/tdx_guest ]; then + ./gen_quote/gen_quote +fi diff --git a/test/initramfs/src/regression/io/Makefile b/test/initramfs/src/regression/io/Makefile new file mode 100644 index 000000000..d0b04eea6 --- /dev/null +++ b/test/initramfs/src/regression/io/Makefile @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MPL-2.0 + +SUBDIRS := \ + epoll \ + eventfd2 \ + file_io \ + +include ../common/Makefile diff --git a/test/initramfs/src/regression/io/epoll/Makefile b/test/initramfs/src/regression/io/epoll/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/io/epoll/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/epoll/epoll_err.c b/test/initramfs/src/regression/io/epoll/epoll_err.c similarity index 99% rename from test/initramfs/src/regression/epoll/epoll_err.c rename to test/initramfs/src/regression/io/epoll/epoll_err.c index e55c1d020..75fe47e34 100644 --- a/test/initramfs/src/regression/epoll/epoll_err.c +++ b/test/initramfs/src/regression/io/epoll/epoll_err.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../../common/test.h" #include #include diff --git a/test/initramfs/src/regression/epoll/epoll_pwait.c b/test/initramfs/src/regression/io/epoll/epoll_pwait.c similarity index 100% rename from test/initramfs/src/regression/epoll/epoll_pwait.c rename to test/initramfs/src/regression/io/epoll/epoll_pwait.c diff --git a/test/initramfs/src/regression/epoll/epoll_wait.c b/test/initramfs/src/regression/io/epoll/epoll_wait.c similarity index 100% rename from test/initramfs/src/regression/epoll/epoll_wait.c rename to test/initramfs/src/regression/io/epoll/epoll_wait.c diff --git a/test/initramfs/src/regression/epoll/poll_err.c b/test/initramfs/src/regression/io/epoll/poll_err.c similarity index 96% rename from test/initramfs/src/regression/epoll/poll_err.c rename to test/initramfs/src/regression/io/epoll/poll_err.c index 732b86a54..5c58815d0 100644 --- a/test/initramfs/src/regression/epoll/poll_err.c +++ b/test/initramfs/src/regression/io/epoll/poll_err.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../../common/test.h" #include #include diff --git a/test/initramfs/src/regression/scripts/test_epoll_pwait.sh b/test/initramfs/src/regression/io/epoll/test_epoll_pwait.sh similarity index 95% rename from test/initramfs/src/regression/scripts/test_epoll_pwait.sh rename to test/initramfs/src/regression/io/epoll/test_epoll_pwait.sh index 9ce90e02d..ce34b8743 100755 --- a/test/initramfs/src/regression/scripts/test_epoll_pwait.sh +++ b/test/initramfs/src/regression/io/epoll/test_epoll_pwait.sh @@ -4,7 +4,7 @@ set -e -EPOLLTEST_DIR=/test/epoll +EPOLLTEST_DIR=/test/io/epoll cd ${EPOLLTEST_DIR} echo "Start epoll_pwait test......" diff --git a/test/initramfs/src/regression/io/eventfd2/Makefile b/test/initramfs/src/regression/io/eventfd2/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/io/eventfd2/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/eventfd2/eventfd2.c b/test/initramfs/src/regression/io/eventfd2/eventfd2.c similarity index 100% rename from test/initramfs/src/regression/eventfd2/eventfd2.c rename to test/initramfs/src/regression/io/eventfd2/eventfd2.c diff --git a/test/initramfs/src/regression/file_io/Makefile b/test/initramfs/src/regression/io/file_io/Makefile similarity index 74% rename from test/initramfs/src/regression/file_io/Makefile rename to test/initramfs/src/regression/io/file_io/Makefile index d9048d1cd..8618b2bf8 100644 --- a/test/initramfs/src/regression/file_io/Makefile +++ b/test/initramfs/src/regression/io/file_io/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk - EXTRA_C_FLAGS := -Wno-incompatible-pointer-types + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/file_io/access_err.c b/test/initramfs/src/regression/io/file_io/access_err.c similarity index 99% rename from test/initramfs/src/regression/file_io/access_err.c rename to test/initramfs/src/regression/io/file_io/access_err.c index 381281186..c9b4f2744 100644 --- a/test/initramfs/src/regression/file_io/access_err.c +++ b/test/initramfs/src/regression/io/file_io/access_err.c @@ -9,7 +9,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" #define FILENAME "/tmp/testfile" #define DIRNAME "/tmp" diff --git a/test/initramfs/src/regression/file_io/file_err.c b/test/initramfs/src/regression/io/file_io/file_err.c similarity index 97% rename from test/initramfs/src/regression/file_io/file_err.c rename to test/initramfs/src/regression/io/file_io/file_err.c index 1f4cd32b0..473038d6c 100644 --- a/test/initramfs/src/regression/file_io/file_err.c +++ b/test/initramfs/src/regression/io/file_io/file_err.c @@ -2,7 +2,7 @@ #define _GNU_SOURCE -#include "../test.h" +#include "../../common/test.h" #include #include #include diff --git a/test/initramfs/src/regression/file_io/file_io.c b/test/initramfs/src/regression/io/file_io/file_io.c similarity index 100% rename from test/initramfs/src/regression/file_io/file_io.c rename to test/initramfs/src/regression/io/file_io/file_io.c diff --git a/test/initramfs/src/regression/file_io/iovec_err.c b/test/initramfs/src/regression/io/file_io/iovec_err.c similarity index 98% rename from test/initramfs/src/regression/file_io/iovec_err.c rename to test/initramfs/src/regression/io/file_io/iovec_err.c index 530919a4e..960236dec 100644 --- a/test/initramfs/src/regression/file_io/iovec_err.c +++ b/test/initramfs/src/regression/io/file_io/iovec_err.c @@ -6,7 +6,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" static char buf[16]; static struct iovec iov_long[UIO_MAXIOV + 2]; diff --git a/test/initramfs/src/regression/io/run_test.sh b/test/initramfs/src/regression/io/run_test.sh new file mode 100755 index 000000000..4e7467b5b --- /dev/null +++ b/test/initramfs/src/regression/io/run_test.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +./epoll/epoll_err +./epoll/poll_err +./epoll/test_epoll_pwait.sh + +./eventfd2/eventfd2 + +./file_io/access_err +./file_io/file_err +./file_io/iovec_err diff --git a/test/initramfs/src/regression/ipc/Makefile b/test/initramfs/src/regression/ipc/Makefile new file mode 100644 index 000000000..35b36c288 --- /dev/null +++ b/test/initramfs/src/regression/ipc/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: MPL-2.0 + +SUBDIRS := \ + pipe \ + shm \ + +include ../common/Makefile diff --git a/test/initramfs/src/regression/ipc/pipe/Makefile b/test/initramfs/src/regression/ipc/pipe/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/ipc/pipe/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/pipe/pipe_err.c b/test/initramfs/src/regression/ipc/pipe/pipe_err.c similarity index 99% rename from test/initramfs/src/regression/pipe/pipe_err.c rename to test/initramfs/src/regression/ipc/pipe/pipe_err.c index 678848942..0eb8dd0da 100644 --- a/test/initramfs/src/regression/pipe/pipe_err.c +++ b/test/initramfs/src/regression/ipc/pipe/pipe_err.c @@ -2,7 +2,7 @@ #define _GNU_SOURCE -#include "../test.h" +#include "../../common/test.h" #include #include #include diff --git a/test/initramfs/src/regression/pipe/short_rw.c b/test/initramfs/src/regression/ipc/pipe/short_rw.c similarity index 94% rename from test/initramfs/src/regression/pipe/short_rw.c rename to test/initramfs/src/regression/ipc/pipe/short_rw.c index 82f0ca441..4959ab43e 100644 --- a/test/initramfs/src/regression/pipe/short_rw.c +++ b/test/initramfs/src/regression/ipc/pipe/short_rw.c @@ -4,7 +4,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" #define PAGE_SIZE 4096 diff --git a/test/initramfs/src/regression/ipc/run_test.sh b/test/initramfs/src/regression/ipc/run_test.sh new file mode 100755 index 000000000..942a65b68 --- /dev/null +++ b/test/initramfs/src/regression/ipc/run_test.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +./pipe/pipe_err +./pipe/short_rw + +./shm/posix_shm diff --git a/test/initramfs/src/regression/ipc/shm/Makefile b/test/initramfs/src/regression/ipc/shm/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/ipc/shm/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/shm/posix_shm.c b/test/initramfs/src/regression/ipc/shm/posix_shm.c similarity index 98% rename from test/initramfs/src/regression/shm/posix_shm.c rename to test/initramfs/src/regression/ipc/shm/posix_shm.c index bd44a5df8..a67cba163 100644 --- a/test/initramfs/src/regression/shm/posix_shm.c +++ b/test/initramfs/src/regression/ipc/shm/posix_shm.c @@ -63,7 +63,7 @@ int producer_process() if (child_pid < 0) { THROW_ERROR("Spawn a child process failed"); } else if (child_pid == 0) { - execl("/test/shm/posix_shm", "posix_shm", "consumer", NULL); + execl("/test/ipc/shm/posix_shm", "posix_shm", "consumer", NULL); THROW_ERROR("exec failed"); } diff --git a/test/initramfs/src/regression/itimer/Makefile b/test/initramfs/src/regression/itimer/Makefile deleted file mode 100644 index c603a781a..000000000 --- a/test/initramfs/src/regression/itimer/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/memory/Makefile b/test/initramfs/src/regression/memory/Makefile new file mode 100644 index 000000000..74d9827bb --- /dev/null +++ b/test/initramfs/src/regression/memory/Makefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: MPL-2.0 + +SUBDIRS := \ + mmap \ + +include ../common/Makefile diff --git a/test/initramfs/src/regression/memory/mmap/Makefile b/test/initramfs/src/regression/memory/mmap/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/memory/mmap/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/mmap/mmap_and_fork.c b/test/initramfs/src/regression/memory/mmap/mmap_and_fork.c similarity index 100% rename from test/initramfs/src/regression/mmap/mmap_and_fork.c rename to test/initramfs/src/regression/memory/mmap/mmap_and_fork.c diff --git a/test/initramfs/src/regression/mmap/mmap_and_mprotect.c b/test/initramfs/src/regression/memory/mmap/mmap_and_mprotect.c similarity index 98% rename from test/initramfs/src/regression/mmap/mmap_and_mprotect.c rename to test/initramfs/src/regression/memory/mmap/mmap_and_mprotect.c index 50021e99c..a4247775b 100644 --- a/test/initramfs/src/regression/mmap/mmap_and_mprotect.c +++ b/test/initramfs/src/regression/memory/mmap/mmap_and_mprotect.c @@ -7,7 +7,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" #define PAGE_SIZE 4096 const char *filename = "testfile"; diff --git a/test/initramfs/src/regression/mmap/mmap_and_mremap.c b/test/initramfs/src/regression/memory/mmap/mmap_and_mremap.c similarity index 99% rename from test/initramfs/src/regression/mmap/mmap_and_mremap.c rename to test/initramfs/src/regression/memory/mmap/mmap_and_mremap.c index 534cb86b8..e94e7d213 100644 --- a/test/initramfs/src/regression/mmap/mmap_and_mremap.c +++ b/test/initramfs/src/regression/memory/mmap/mmap_and_mremap.c @@ -7,7 +7,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" #define PAGE_SIZE 4096 diff --git a/test/initramfs/src/regression/mmap/mmap_beyond_the_file.c b/test/initramfs/src/regression/memory/mmap/mmap_beyond_the_file.c similarity index 95% rename from test/initramfs/src/regression/mmap/mmap_beyond_the_file.c rename to test/initramfs/src/regression/memory/mmap/mmap_beyond_the_file.c index 241d19908..c3585ad12 100644 --- a/test/initramfs/src/regression/mmap/mmap_beyond_the_file.c +++ b/test/initramfs/src/regression/memory/mmap/mmap_beyond_the_file.c @@ -4,7 +4,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" #define PAGE_SIZE 4096 diff --git a/test/initramfs/src/regression/mmap/mmap_err.c b/test/initramfs/src/regression/memory/mmap/mmap_err.c similarity index 99% rename from test/initramfs/src/regression/mmap/mmap_err.c rename to test/initramfs/src/regression/memory/mmap/mmap_err.c index b285eaf83..01a87f886 100644 --- a/test/initramfs/src/regression/mmap/mmap_err.c +++ b/test/initramfs/src/regression/memory/mmap/mmap_err.c @@ -5,7 +5,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" #define PAGE_SIZE 4096 diff --git a/test/initramfs/src/regression/mmap/mmap_holes.c b/test/initramfs/src/regression/memory/mmap/mmap_holes.c similarity index 97% rename from test/initramfs/src/regression/mmap/mmap_holes.c rename to test/initramfs/src/regression/memory/mmap/mmap_holes.c index 008d0f7eb..8fecd24fa 100644 --- a/test/initramfs/src/regression/mmap/mmap_holes.c +++ b/test/initramfs/src/regression/memory/mmap/mmap_holes.c @@ -2,7 +2,7 @@ #include -#include "../test.h" +#include "../../common/test.h" static char *start_addr; diff --git a/test/initramfs/src/regression/mmap/mmap_readahead.c b/test/initramfs/src/regression/memory/mmap/mmap_readahead.c similarity index 95% rename from test/initramfs/src/regression/mmap/mmap_readahead.c rename to test/initramfs/src/regression/memory/mmap/mmap_readahead.c index abfa08f24..547af5b86 100644 --- a/test/initramfs/src/regression/mmap/mmap_readahead.c +++ b/test/initramfs/src/regression/memory/mmap/mmap_readahead.c @@ -4,7 +4,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" #define FILE_NAME "/tmp/mmap_readahead.txt" diff --git a/test/initramfs/src/regression/mmap/mmap_shared_filebacked.c b/test/initramfs/src/regression/memory/mmap/mmap_shared_filebacked.c similarity index 100% rename from test/initramfs/src/regression/mmap/mmap_shared_filebacked.c rename to test/initramfs/src/regression/memory/mmap/mmap_shared_filebacked.c diff --git a/test/initramfs/src/regression/mmap/mmap_vmrss.c b/test/initramfs/src/regression/memory/mmap/mmap_vmrss.c similarity index 99% rename from test/initramfs/src/regression/mmap/mmap_vmrss.c rename to test/initramfs/src/regression/memory/mmap/mmap_vmrss.c index 0b7f8cde2..f58e5ed98 100644 --- a/test/initramfs/src/regression/mmap/mmap_vmrss.c +++ b/test/initramfs/src/regression/memory/mmap/mmap_vmrss.c @@ -2,7 +2,7 @@ #define _GNU_SOURCE -#include "../test.h" +#include "../../common/test.h" #include #include diff --git a/test/initramfs/src/regression/memory/run_test.sh b/test/initramfs/src/regression/memory/run_test.sh new file mode 100755 index 000000000..c9a9c774f --- /dev/null +++ b/test/initramfs/src/regression/memory/run_test.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +./mmap/mmap_and_fork +./mmap/mmap_and_mprotect +./mmap/mmap_and_mremap +./mmap/mmap_beyond_the_file +./mmap/mmap_err +./mmap/mmap_holes +./mmap/mmap_readahead +./mmap/mmap_shared_filebacked +./mmap/mmap_vmrss diff --git a/test/initramfs/src/regression/mmap/Makefile b/test/initramfs/src/regression/mmap/Makefile deleted file mode 100644 index ce42e33b0..000000000 --- a/test/initramfs/src/regression/mmap/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/mongoose/.gitignore b/test/initramfs/src/regression/mongoose/.gitignore deleted file mode 100644 index eed9dfe89..000000000 --- a/test/initramfs/src/regression/mongoose/.gitignore +++ /dev/null @@ -1 +0,0 @@ -mongoose.* \ No newline at end of file diff --git a/test/initramfs/src/regression/mongoose/Makefile b/test/initramfs/src/regression/mongoose/Makefile deleted file mode 100644 index 1ddcee1a3..000000000 --- a/test/initramfs/src/regression/mongoose/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -CUR_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) -BUILD_DIR := $(CUR_DIR)/../../../build/initramfs/test/network -ATOMIC_WGET := $(CUR_DIR)/../../../../tools/atomic_wget.sh -MONGOOSE_DIR ?= $(CUR_DIR) -MONGOOSE_C := $(MONGOOSE_DIR)/mongoose.c -MONGOOSE_H := $(MONGOOSE_DIR)/mongoose.h -MONGOOSE_FILES := $(MONGOOSE_C) $(MONGOOSE_H) -MONGOOSE_O := $(MONGOOSE_DIR)/mongoose.o -SERVER_C := http_server.c -SERVER_BIN := $(BUILD_DIR)/http_server -CLIENT_C := http_client.c -CLIENT_BIN := $(BUILD_DIR)/http_client -BINS := $(SERVER_BIN) $(CLIENT_BIN) -CC ?= cc -CFLAGS ?= -W -Wall -Wextra -I. -I$(MONGOOSE_DIR) -DMG_ENABLE_LINES=1 - -.PHONY: all -all: $(BINS) - -$(SERVER_BIN): $(SERVER_C) $(MONGOOSE_C) | $(BUILD_DIR) - $(CC) $^ $(CFLAGS) -o $@ - -$(CLIENT_BIN): $(CLIENT_C) $(MONGOOSE_C) | $(BUILD_DIR) - $(CC) $^ $(CFLAGS) -o $@ - -$(MONGOOSE_C): $(MONGOOSE_H) - $(ATOMIC_WGET) $@ "https://raw.githubusercontent.com/cesanta/mongoose/7.13/$(notdir $@)" - -$(MONGOOSE_H): - $(ATOMIC_WGET) $@ "https://raw.githubusercontent.com/cesanta/mongoose/7.13/$(notdir $@)" - -$(BUILD_DIR) $(MONGOOSE_DIR): - @mkdir -p $@ - -PHONY: clean -clean: - @rm -f $(BINS) $(MONGOOSE_O) $(MONGOOSE_FILES) diff --git a/test/initramfs/src/regression/mongoose/http_client.c b/test/initramfs/src/regression/mongoose/http_client.c deleted file mode 100644 index b66e10bbc..000000000 --- a/test/initramfs/src/regression/mongoose/http_client.c +++ /dev/null @@ -1,51 +0,0 @@ -// SPDX-License-Identifier: MPL-2.0 - -#include "mongoose.h" - -static const char *s_url = "http://127.0.0.1:8080/"; -static const char *s_post_data = NULL; // POST data - -// Print HTTP response and signal that we're done -static void fn(struct mg_connection *c, int ev, void *ev_data) -{ - if (ev == MG_EV_CONNECT) { - // Connected to server. Send request - struct mg_str host = mg_url_host(s_url); - int content_length = s_post_data ? (int)strlen(s_post_data) : 0; - - mg_printf(c, - "%s %s HTTP/1.1\r\n" - "Host: %.*s\r\n" - "Content-Length: %d\r\n" - "\r\n", - s_post_data ? "POST" : "GET", mg_url_uri(s_url), - (int)host.len, host.ptr, content_length); - - mg_send(c, s_post_data, content_length); - } else if (ev == MG_EV_HTTP_MSG) { - // Response is received. Print it - struct mg_http_message *hm = (struct mg_http_message *)ev_data; - printf("%.*s", (int)hm->message.len, hm->message.ptr); - c->is_draining = 1; // Tell mongoose to close this connection - *(bool *)c->fn_data = true; // Tell event loop to stop - } else if (ev == MG_EV_ERROR) { - *(bool *)c->fn_data = true; // Error, tell event loop to stop - } -} - -int main(int argc, char *argv[]) -{ - struct mg_mgr mgr; - if (argc > 1) - s_url = argv[1]; // Use URL provided on the command line - bool done = false; - - mg_mgr_init(&mgr); // Initialize event manager - - mg_http_connect(&mgr, s_url, fn, &done); // Create client connection - while (!done) - mg_mgr_poll(&mgr, 50); - - mg_mgr_free(&mgr); // Free resources - return 0; -} diff --git a/test/initramfs/src/regression/mongoose/http_server.c b/test/initramfs/src/regression/mongoose/http_server.c deleted file mode 100644 index 01d9636e3..000000000 --- a/test/initramfs/src/regression/mongoose/http_server.c +++ /dev/null @@ -1,72 +0,0 @@ -// SPDX-License-Identifier: MPL-2.0 - -#include -#include -#include -#include "mongoose.h" - -static int s_debug_level = MG_LL_INFO; -static const char *s_listening_address = "http://127.0.0.1:8080/"; - -static int s_signo; -static void signal_handler(int signo) -{ - s_signo = signo; -} - -// Event handler for the listening connection. -static void cb(struct mg_connection *c, int ev, void *ev_data) -{ - if (ev == MG_EV_HTTP_MSG) { - struct mg_http_message *hm = ev_data; - if (mg_match(hm->uri, mg_str("/"), NULL)) { - // Generate a random number - srand(time(NULL)); - int random_number = rand(); - char response[100]; - sprintf(response, "Random number: %d\n", random_number); - MG_INFO(("Send a random number : %d", random_number)); - mg_http_reply(c, 200, "", "%s", response); - } else { - // Serve 404 for other routes - mg_http_reply(c, 404, "", "Not found"); - } - // Remove this line if you need a long running server - // signal_handler(SIGTERM); - } -} - -int main(int argc, char *argv[]) -{ - struct mg_mgr mgr; - struct mg_connection *c; - - // Parse command-line flags - for (int i = 1; i < argc; i++) { - if (strcmp(argv[i], "-l") == 0) { - s_listening_address = argv[++i]; - } else if (strcmp(argv[i], "-v") == 0) { - s_debug_level = atoi(argv[++i]); - } - } - - // Initialise stuff - signal(SIGINT, signal_handler); - signal(SIGTERM, signal_handler); - mg_log_set(s_debug_level); - mg_mgr_init(&mgr); - if ((c = mg_http_listen(&mgr, s_listening_address, cb, &mgr)) == NULL) { - MG_ERROR(("Cannot listen on %s. Use http://ADDR:PORT or :PORT", - s_listening_address)); - exit(EXIT_FAILURE); - } - - // Start infinite event loop - MG_INFO(("Mongoose version : v%s", MG_VERSION)); - MG_INFO(("Listening on : %s", s_listening_address)); - while (s_signo == 0) - mg_mgr_poll(&mgr, 1000); - mg_mgr_free(&mgr); - MG_INFO(("Exiting on signal %d", s_signo)); - return 0; -} \ No newline at end of file diff --git a/test/initramfs/src/regression/namespace/Makefile b/test/initramfs/src/regression/namespace/Makefile deleted file mode 100644 index ce42e33b0..000000000 --- a/test/initramfs/src/regression/namespace/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/network/Makefile b/test/initramfs/src/regression/network/Makefile index 1f5a12ee9..ddb3cd278 100644 --- a/test/initramfs/src/regression/network/Makefile +++ b/test/initramfs/src/regression/network/Makefile @@ -1,5 +1,8 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk - EXTRA_C_FLAGS := -I/usr/include/libnl3 -lnl-3 -lnl-route-3 + +SUBDIRS := \ + vsock \ + +include ../common/Makefile diff --git a/test/initramfs/src/regression/network/netlink_route.c b/test/initramfs/src/regression/network/netlink_route.c index 428c7b264..daad315de 100644 --- a/test/initramfs/src/regression/network/netlink_route.c +++ b/test/initramfs/src/regression/network/netlink_route.c @@ -4,7 +4,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" #define ETHER_NAME "eth0" #define LOOPBACK_NAME "lo" diff --git a/test/initramfs/src/regression/network/rtnl_err.c b/test/initramfs/src/regression/network/rtnl_err.c index 610a6bb08..f74fdbdd3 100644 --- a/test/initramfs/src/regression/network/rtnl_err.c +++ b/test/initramfs/src/regression/network/rtnl_err.c @@ -3,7 +3,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" static struct sockaddr_nl sk_addr = { .nl_family = AF_NETLINK }; diff --git a/test/initramfs/src/regression/scripts/network.sh b/test/initramfs/src/regression/network/run_test.sh similarity index 73% rename from test/initramfs/src/regression/scripts/network.sh rename to test/initramfs/src/regression/network/run_test.sh index 0c88fea08..aff534cb7 100755 --- a/test/initramfs/src/regression/scripts/network.sh +++ b/test/initramfs/src/regression/network/run_test.sh @@ -4,11 +4,6 @@ set -e -NETTEST_DIR=/test/network -cd ${NETTEST_DIR} - -echo "Start network test......" - ./tcp_server & sleep 0.2 ./tcp_client @@ -21,10 +16,6 @@ sleep 0.2 sleep 0.2 ./unix_client -./http_server & -sleep 0.2 -./http_client - ./socketpair ./sockoption ./sockoption_unix @@ -43,5 +34,3 @@ sleep 0.2 ./netlink_route ./rtnl_err ./uevent_err - -echo "All network test passed" diff --git a/test/initramfs/src/regression/network/sendmmsg.c b/test/initramfs/src/regression/network/sendmmsg.c index 71bd7b0ce..fa6a06466 100644 --- a/test/initramfs/src/regression/network/sendmmsg.c +++ b/test/initramfs/src/regression/network/sendmmsg.c @@ -10,7 +10,7 @@ #include #include #include -#include "../test.h" +#include "../common/test.h" int sk_sender; int sk_receiver; diff --git a/test/initramfs/src/regression/network/sockoption.c b/test/initramfs/src/regression/network/sockoption.c index c123cd98c..1ccf84f30 100644 --- a/test/initramfs/src/regression/network/sockoption.c +++ b/test/initramfs/src/regression/network/sockoption.c @@ -7,7 +7,7 @@ #include #include #include -#include "../test.h" +#include "../common/test.h" int sk_unbound; int sk_listen; diff --git a/test/initramfs/src/regression/network/sockoption_unix.c b/test/initramfs/src/regression/network/sockoption_unix.c index 543f9fc35..8cffa9a0d 100644 --- a/test/initramfs/src/regression/network/sockoption_unix.c +++ b/test/initramfs/src/regression/network/sockoption_unix.c @@ -13,7 +13,7 @@ #include #include #include -#include "../test.h" +#include "../common/test.h" static int sk_unbound; static int sk_listen; diff --git a/test/initramfs/src/regression/network/tcp_err.c b/test/initramfs/src/regression/network/tcp_err.c index b4236fc1b..acfb7c76e 100644 --- a/test/initramfs/src/regression/network/tcp_err.c +++ b/test/initramfs/src/regression/network/tcp_err.c @@ -8,7 +8,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" static struct sockaddr_in sk_addr; diff --git a/test/initramfs/src/regression/network/tcp_poll.c b/test/initramfs/src/regression/network/tcp_poll.c index d6f18809c..8561b2448 100644 --- a/test/initramfs/src/regression/network/tcp_poll.c +++ b/test/initramfs/src/regression/network/tcp_poll.c @@ -11,7 +11,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" #define S_PORT htons(0x1238) diff --git a/test/initramfs/src/regression/network/tcp_reuseaddr.c b/test/initramfs/src/regression/network/tcp_reuseaddr.c index 0c782ab1e..e72caf0df 100644 --- a/test/initramfs/src/regression/network/tcp_reuseaddr.c +++ b/test/initramfs/src/regression/network/tcp_reuseaddr.c @@ -8,7 +8,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" int sock1; int sock2; diff --git a/test/initramfs/src/regression/network/udp_broadcast.c b/test/initramfs/src/regression/network/udp_broadcast.c index fc960a2f8..951487267 100644 --- a/test/initramfs/src/regression/network/udp_broadcast.c +++ b/test/initramfs/src/regression/network/udp_broadcast.c @@ -4,7 +4,7 @@ #include #include #include -#include "../test.h" +#include "../common/test.h" #define SENDER_BIND_ADDR "127.0.0.1" #define SENDER_PORT 12345 diff --git a/test/initramfs/src/regression/network/udp_err.c b/test/initramfs/src/regression/network/udp_err.c index ec67645ca..752ccf7d7 100644 --- a/test/initramfs/src/regression/network/udp_err.c +++ b/test/initramfs/src/regression/network/udp_err.c @@ -8,7 +8,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" static struct sockaddr_in sk_addr; diff --git a/test/initramfs/src/regression/network/uevent_err.c b/test/initramfs/src/regression/network/uevent_err.c index 641c123ba..8fc10dc8d 100644 --- a/test/initramfs/src/regression/network/uevent_err.c +++ b/test/initramfs/src/regression/network/uevent_err.c @@ -4,7 +4,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" static struct sockaddr_nl sk_addr = { .nl_family = AF_NETLINK }; diff --git a/test/initramfs/src/regression/network/unix_datagram_err.c b/test/initramfs/src/regression/network/unix_datagram_err.c index 5ea425628..9802b236e 100644 --- a/test/initramfs/src/regression/network/unix_datagram_err.c +++ b/test/initramfs/src/regression/network/unix_datagram_err.c @@ -9,7 +9,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" static int sk_unbound; static int sk_bound; diff --git a/test/initramfs/src/regression/network/unix_streamlike_prologue.h b/test/initramfs/src/regression/network/unix_streamlike_prologue.h index cd52b8508..b9ca7c8ce 100644 --- a/test/initramfs/src/regression/network/unix_streamlike_prologue.h +++ b/test/initramfs/src/regression/network/unix_streamlike_prologue.h @@ -11,7 +11,7 @@ #include #include -#include "../test.h" +#include "../common/test.h" FN_SETUP(general) { diff --git a/test/initramfs/src/regression/network/vsock/Makefile b/test/initramfs/src/regression/network/vsock/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/network/vsock/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/vsock/vsock_client.c b/test/initramfs/src/regression/network/vsock/vsock_client.c similarity index 96% rename from test/initramfs/src/regression/vsock/vsock_client.c rename to test/initramfs/src/regression/network/vsock/vsock_client.c index d24f0b94d..2a3487055 100644 --- a/test/initramfs/src/regression/vsock/vsock_client.c +++ b/test/initramfs/src/regression/network/vsock/vsock_client.c @@ -16,7 +16,7 @@ int main() FILE *commandFile; struct sockaddr_vm serv_addr; - commandFile = fopen("../vsock_commands.sh", "r"); + commandFile = fopen("./vsock_commands.sh", "r"); if (commandFile == NULL) { perror("Failed to open the command file"); return -1; diff --git a/test/initramfs/src/regression/scripts/vsock_commands.sh b/test/initramfs/src/regression/network/vsock/vsock_commands.sh similarity index 100% rename from test/initramfs/src/regression/scripts/vsock_commands.sh rename to test/initramfs/src/regression/network/vsock/vsock_commands.sh diff --git a/test/initramfs/src/regression/vsock/vsock_server.c b/test/initramfs/src/regression/network/vsock/vsock_server.c similarity index 100% rename from test/initramfs/src/regression/vsock/vsock_server.c rename to test/initramfs/src/regression/network/vsock/vsock_server.c diff --git a/test/initramfs/src/regression/overlayfs/Makefile b/test/initramfs/src/regression/overlayfs/Makefile deleted file mode 100644 index c603a781a..000000000 --- a/test/initramfs/src/regression/overlayfs/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/pipe/Makefile b/test/initramfs/src/regression/pipe/Makefile deleted file mode 100644 index c603a781a..000000000 --- a/test/initramfs/src/regression/pipe/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/process/Makefile b/test/initramfs/src/regression/process/Makefile index c603a781a..d3927feb3 100644 --- a/test/initramfs/src/regression/process/Makefile +++ b/test/initramfs/src/regression/process/Makefile @@ -1,5 +1,22 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk +SUBDIRS := \ + alarm \ + clone3 \ + cpu_affinity \ + execve \ + exit \ + fork_c \ + getcpu \ + getpid \ + itimer \ + prctl \ + pthread \ + sched \ + signal \ -EXTRA_C_FLAGS := +ifeq ($(HOST_PLATFORM), x86_64-linux) +SUBDIRS += fork +endif + +include ../common/Makefile diff --git a/test/initramfs/src/regression/alarm/Makefile b/test/initramfs/src/regression/process/alarm/Makefile similarity index 67% rename from test/initramfs/src/regression/alarm/Makefile rename to test/initramfs/src/regression/process/alarm/Makefile index cd19ae20b..a454c83dd 100644 --- a/test/initramfs/src/regression/alarm/Makefile +++ b/test/initramfs/src/regression/process/alarm/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk - EXTRA_C_FLAGS := -static + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/alarm/alarm.c b/test/initramfs/src/regression/process/alarm/alarm.c similarity index 100% rename from test/initramfs/src/regression/alarm/alarm.c rename to test/initramfs/src/regression/process/alarm/alarm.c diff --git a/test/initramfs/src/regression/scripts/cgroup.sh b/test/initramfs/src/regression/process/cgroup.sh old mode 100644 new mode 100755 similarity index 100% rename from test/initramfs/src/regression/scripts/cgroup.sh rename to test/initramfs/src/regression/process/cgroup.sh diff --git a/test/initramfs/src/regression/process/clone3/Makefile b/test/initramfs/src/regression/process/clone3/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/process/clone3/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/clone3/clone_exit_signal.c b/test/initramfs/src/regression/process/clone3/clone_exit_signal.c similarity index 100% rename from test/initramfs/src/regression/clone3/clone_exit_signal.c rename to test/initramfs/src/regression/process/clone3/clone_exit_signal.c diff --git a/test/initramfs/src/regression/clone3/clone_files.c b/test/initramfs/src/regression/process/clone3/clone_files.c similarity index 96% rename from test/initramfs/src/regression/clone3/clone_files.c rename to test/initramfs/src/regression/process/clone3/clone_files.c index 0f4d38c5d..d4edc3f70 100644 --- a/test/initramfs/src/regression/clone3/clone_files.c +++ b/test/initramfs/src/regression/process/clone3/clone_files.c @@ -2,7 +2,7 @@ #define _GNU_SOURCE -#include "../test.h" +#include "../../common/test.h" #include #include diff --git a/test/initramfs/src/regression/clone3/clone_no_exit_signal.c b/test/initramfs/src/regression/process/clone3/clone_no_exit_signal.c similarity index 100% rename from test/initramfs/src/regression/clone3/clone_no_exit_signal.c rename to test/initramfs/src/regression/process/clone3/clone_no_exit_signal.c diff --git a/test/initramfs/src/regression/clone3/clone_parent.c b/test/initramfs/src/regression/process/clone3/clone_parent.c similarity index 99% rename from test/initramfs/src/regression/clone3/clone_parent.c rename to test/initramfs/src/regression/process/clone3/clone_parent.c index b3990b9de..104fd082c 100644 --- a/test/initramfs/src/regression/clone3/clone_parent.c +++ b/test/initramfs/src/regression/process/clone3/clone_parent.c @@ -10,7 +10,7 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" pid_t sys_clone3(struct clone_args *args) { diff --git a/test/initramfs/src/regression/clone3/clone_process.c b/test/initramfs/src/regression/process/clone3/clone_process.c similarity index 100% rename from test/initramfs/src/regression/clone3/clone_process.c rename to test/initramfs/src/regression/process/clone3/clone_process.c diff --git a/test/initramfs/src/regression/process/cpu_affinity/Makefile b/test/initramfs/src/regression/process/cpu_affinity/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/process/cpu_affinity/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/cpu_affinity/cpu_affinity.c b/test/initramfs/src/regression/process/cpu_affinity/cpu_affinity.c similarity index 100% rename from test/initramfs/src/regression/cpu_affinity/cpu_affinity.c rename to test/initramfs/src/regression/process/cpu_affinity/cpu_affinity.c diff --git a/test/initramfs/src/regression/process/execve/Makefile b/test/initramfs/src/regression/process/execve/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/process/execve/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/execve/execve.c b/test/initramfs/src/regression/process/execve/execve.c similarity index 89% rename from test/initramfs/src/regression/execve/execve.c rename to test/initramfs/src/regression/process/execve/execve.c index 6318c7f15..584bf6b67 100644 --- a/test/initramfs/src/regression/execve/execve.c +++ b/test/initramfs/src/regression/process/execve/execve.c @@ -11,7 +11,7 @@ int main() printf("Execve a new file /execve/hello:\n"); // flush the stdout content to ensure the content print to console fflush(stdout); - execve("/test/execve/hello", argv, envp); + execve("/test/process/execve/hello", argv, envp); printf("Should not print\n"); fflush(stdout); return 0; diff --git a/test/initramfs/src/regression/execve/execve_err.c b/test/initramfs/src/regression/process/execve/execve_err.c similarity index 99% rename from test/initramfs/src/regression/execve/execve_err.c rename to test/initramfs/src/regression/process/execve/execve_err.c index 0fa6464f9..8e83f01bc 100644 --- a/test/initramfs/src/regression/execve/execve_err.c +++ b/test/initramfs/src/regression/process/execve/execve_err.c @@ -6,7 +6,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" struct custom_elf { Elf64_Ehdr ehdr; diff --git a/test/initramfs/src/regression/execve/execve_memfd.c b/test/initramfs/src/regression/process/execve/execve_memfd.c similarity index 89% rename from test/initramfs/src/regression/execve/execve_memfd.c rename to test/initramfs/src/regression/process/execve/execve_memfd.c index 7e07289a2..71c0038a7 100644 --- a/test/initramfs/src/regression/execve/execve_memfd.c +++ b/test/initramfs/src/regression/process/execve/execve_memfd.c @@ -11,11 +11,19 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" -#define EXECUTABLE_PATH "/test/execve/hello" +#define EXECUTABLE_PATH "/test/process/execve/hello" #define MFD_NAME "test_memfd_execve" +#ifndef MFD_NOEXEC_SEAL +#define MFD_NOEXEC_SEAL 0x0008U +#endif + +#ifndef F_SEAL_EXEC +#define F_SEAL_EXEC 0x0020U +#endif + FN_TEST(memfd_noexec_seal) { int memfd = TEST_SUCC( diff --git a/test/initramfs/src/regression/execve/execve_mt_child.c b/test/initramfs/src/regression/process/execve/execve_mt_child.c similarity index 97% rename from test/initramfs/src/regression/execve/execve_mt_child.c rename to test/initramfs/src/regression/process/execve/execve_mt_child.c index 23f782fa1..8565b4d16 100644 --- a/test/initramfs/src/regression/execve/execve_mt_child.c +++ b/test/initramfs/src/regression/process/execve/execve_mt_child.c @@ -5,7 +5,7 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" #define FILENAME "/tmp/exec_test.stat" diff --git a/test/initramfs/src/regression/execve/execve_mt_parent.c b/test/initramfs/src/regression/process/execve/execve_mt_parent.c similarity index 99% rename from test/initramfs/src/regression/execve/execve_mt_parent.c rename to test/initramfs/src/regression/process/execve/execve_mt_parent.c index efd1c1402..59cb0f53b 100644 --- a/test/initramfs/src/regression/execve/execve_mt_parent.c +++ b/test/initramfs/src/regression/process/execve/execve_mt_parent.c @@ -15,7 +15,7 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" struct info { bool should_sleep; diff --git a/test/initramfs/src/regression/execve/hello.c b/test/initramfs/src/regression/process/execve/hello.c similarity index 100% rename from test/initramfs/src/regression/execve/hello.c rename to test/initramfs/src/regression/process/execve/hello.c diff --git a/test/initramfs/src/regression/exit/Makefile b/test/initramfs/src/regression/process/exit/Makefile similarity index 70% rename from test/initramfs/src/regression/exit/Makefile rename to test/initramfs/src/regression/process/exit/Makefile index 039e6e028..8bb74d3aa 100644 --- a/test/initramfs/src/regression/exit/Makefile +++ b/test/initramfs/src/regression/process/exit/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk - EXTRA_C_FLAGS := -static -lpthread + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/exit/exit_code.c b/test/initramfs/src/regression/process/exit/exit_code.c similarity index 98% rename from test/initramfs/src/regression/exit/exit_code.c rename to test/initramfs/src/regression/process/exit/exit_code.c index a02899731..21171b40e 100644 --- a/test/initramfs/src/regression/exit/exit_code.c +++ b/test/initramfs/src/regression/process/exit/exit_code.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../../common/test.h" #include #include diff --git a/test/initramfs/src/regression/exit/exit_procfs.c b/test/initramfs/src/regression/process/exit/exit_procfs.c similarity index 98% rename from test/initramfs/src/regression/exit/exit_procfs.c rename to test/initramfs/src/regression/process/exit/exit_procfs.c index 1ca0cbed3..48f842006 100644 --- a/test/initramfs/src/regression/exit/exit_procfs.c +++ b/test/initramfs/src/regression/process/exit/exit_procfs.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../../common/test.h" #include #include diff --git a/test/initramfs/src/regression/process/fork/Makefile b/test/initramfs/src/regression/process/fork/Makefile new file mode 100644 index 000000000..49be0181c --- /dev/null +++ b/test/initramfs/src/regression/process/fork/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: MPL-2.0 + +EXTRA_C_FLAGS := -static -nostdlib + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/fork/fork.S b/test/initramfs/src/regression/process/fork/fork.S similarity index 100% rename from test/initramfs/src/regression/fork/fork.S rename to test/initramfs/src/regression/process/fork/fork.S diff --git a/test/initramfs/src/regression/fdatasync/Makefile b/test/initramfs/src/regression/process/fork_c/Makefile similarity index 67% rename from test/initramfs/src/regression/fdatasync/Makefile rename to test/initramfs/src/regression/process/fork_c/Makefile index cd19ae20b..a454c83dd 100644 --- a/test/initramfs/src/regression/fdatasync/Makefile +++ b/test/initramfs/src/regression/process/fork_c/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk - EXTRA_C_FLAGS := -static + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/fork_c/fork.c b/test/initramfs/src/regression/process/fork_c/fork.c similarity index 100% rename from test/initramfs/src/regression/fork_c/fork.c rename to test/initramfs/src/regression/process/fork_c/fork.c diff --git a/test/initramfs/src/regression/process/getcpu/Makefile b/test/initramfs/src/regression/process/getcpu/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/process/getcpu/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/getcpu/getcpu.c b/test/initramfs/src/regression/process/getcpu/getcpu.c similarity index 96% rename from test/initramfs/src/regression/getcpu/getcpu.c rename to test/initramfs/src/regression/process/getcpu/getcpu.c index 723c3b8a0..1ec43f58c 100644 --- a/test/initramfs/src/regression/getcpu/getcpu.c +++ b/test/initramfs/src/regression/process/getcpu/getcpu.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../../common/test.h" #include #include diff --git a/test/initramfs/src/regression/process/getpid/Makefile b/test/initramfs/src/regression/process/getpid/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/process/getpid/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/getpid/getpid.c b/test/initramfs/src/regression/process/getpid/getpid.c similarity index 100% rename from test/initramfs/src/regression/getpid/getpid.c rename to test/initramfs/src/regression/process/getpid/getpid.c diff --git a/test/initramfs/src/regression/process/group_session.c b/test/initramfs/src/regression/process/group_session.c index 01abb8ea6..f35bca43c 100644 --- a/test/initramfs/src/regression/process/group_session.c +++ b/test/initramfs/src/regression/process/group_session.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../common/test.h" #include #include diff --git a/test/initramfs/src/regression/process/itimer/Makefile b/test/initramfs/src/regression/process/itimer/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/process/itimer/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/itimer/setitimer.c b/test/initramfs/src/regression/process/itimer/setitimer.c similarity index 100% rename from test/initramfs/src/regression/itimer/setitimer.c rename to test/initramfs/src/regression/process/itimer/setitimer.c diff --git a/test/initramfs/src/regression/itimer/timer_create.c b/test/initramfs/src/regression/process/itimer/timer_create.c similarity index 100% rename from test/initramfs/src/regression/itimer/timer_create.c rename to test/initramfs/src/regression/process/itimer/timer_create.c diff --git a/test/initramfs/src/regression/process/job_control.c b/test/initramfs/src/regression/process/job_control.c index 2a5884aad..605e9f232 100644 --- a/test/initramfs/src/regression/process/job_control.c +++ b/test/initramfs/src/regression/process/job_control.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../common/test.h" #include #include diff --git a/test/initramfs/src/regression/process/pidfd.c b/test/initramfs/src/regression/process/pidfd.c index 0ac48e89f..aac314939 100644 --- a/test/initramfs/src/regression/process/pidfd.c +++ b/test/initramfs/src/regression/process/pidfd.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../common/test.h" #include #include diff --git a/test/initramfs/src/regression/process/pidfd_getfd.c b/test/initramfs/src/regression/process/pidfd_getfd.c index ade6e9294..7b89cb584 100644 --- a/test/initramfs/src/regression/process/pidfd_getfd.c +++ b/test/initramfs/src/regression/process/pidfd_getfd.c @@ -12,7 +12,7 @@ #include #include #include -#include "../test.h" +#include "../common/test.h" static int pidfd; static pid_t pid; diff --git a/test/initramfs/src/regression/prctl/Makefile b/test/initramfs/src/regression/process/prctl/Makefile similarity index 70% rename from test/initramfs/src/regression/prctl/Makefile rename to test/initramfs/src/regression/process/prctl/Makefile index 039e6e028..8bb74d3aa 100644 --- a/test/initramfs/src/regression/prctl/Makefile +++ b/test/initramfs/src/regression/process/prctl/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk - EXTRA_C_FLAGS := -static -lpthread + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/prctl/secure_bits.c b/test/initramfs/src/regression/process/prctl/secure_bits.c similarity index 98% rename from test/initramfs/src/regression/prctl/secure_bits.c rename to test/initramfs/src/regression/process/prctl/secure_bits.c index e8ce80295..f7a0f8804 100644 --- a/test/initramfs/src/regression/prctl/secure_bits.c +++ b/test/initramfs/src/regression/process/prctl/secure_bits.c @@ -2,7 +2,7 @@ #define _GNU_SOURCE -#include "../test.h" +#include "../../common/test.h" #include #include #include diff --git a/test/initramfs/src/regression/prctl/subreaper.c b/test/initramfs/src/regression/process/prctl/subreaper.c similarity index 100% rename from test/initramfs/src/regression/prctl/subreaper.c rename to test/initramfs/src/regression/process/prctl/subreaper.c diff --git a/test/initramfs/src/regression/pthread/Makefile b/test/initramfs/src/regression/process/pthread/Makefile similarity index 70% rename from test/initramfs/src/regression/pthread/Makefile rename to test/initramfs/src/regression/process/pthread/Makefile index 039e6e028..8bb74d3aa 100644 --- a/test/initramfs/src/regression/pthread/Makefile +++ b/test/initramfs/src/regression/process/pthread/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -include ../test_common.mk - EXTRA_C_FLAGS := -static -lpthread + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/pthread/pthread_signal_test.c b/test/initramfs/src/regression/process/pthread/pthread_signal_test.c similarity index 100% rename from test/initramfs/src/regression/pthread/pthread_signal_test.c rename to test/initramfs/src/regression/process/pthread/pthread_signal_test.c diff --git a/test/initramfs/src/regression/pthread/pthread_test.c b/test/initramfs/src/regression/process/pthread/pthread_test.c similarity index 100% rename from test/initramfs/src/regression/pthread/pthread_test.c rename to test/initramfs/src/regression/process/pthread/pthread_test.c diff --git a/test/initramfs/src/regression/process/run_test.sh b/test/initramfs/src/regression/process/run_test.sh new file mode 100755 index 000000000..aa86715f4 --- /dev/null +++ b/test/initramfs/src/regression/process/run_test.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +./cgroup.sh + +./clone3/clone_exit_signal +./clone3/clone_files +./clone3/clone_no_exit_signal +./clone3/clone_parent +./clone3/clone_process + +./cpu_affinity/cpu_affinity + +./execve/execve +./execve/execve_err +./execve/execve_memfd +./execve/execve_mt_parent + +./exit/exit_code +./exit/exit_procfs + +[ "$(uname -m)" = "x86_64" ] && ./fork/fork +./fork_c/fork + +./getcpu/getcpu + +./getpid/getpid + +./itimer/setitimer +./itimer/timer_create + +./prctl/secure_bits +./prctl/subreaper + +./pthread/pthread_signal_test +./pthread/pthread_test + +./sched/sched_attr_getset +./sched/sched_param_getset +./sched/sched_param_idle + +./signal/kill +./signal/parent_death_signal +./signal/pidfd_send_signal +./signal/signal_fd +./signal/signal_test2 + +if [ "$(uname -m)" = "x86_64" ]; then + ./signal/sigaltstack + ./signal/signal_fpu + ./signal/signal_rflags_df + ./signal/signal_test +fi + +./group_session +./job_control +./pidfd +./pidfd_getfd +./wait4 diff --git a/test/initramfs/src/regression/process/sched/Makefile b/test/initramfs/src/regression/process/sched/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/process/sched/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/sched/sched_attr_getset.c b/test/initramfs/src/regression/process/sched/sched_attr_getset.c similarity index 98% rename from test/initramfs/src/regression/sched/sched_attr_getset.c rename to test/initramfs/src/regression/process/sched/sched_attr_getset.c index fc0844008..657e01ec1 100644 --- a/test/initramfs/src/regression/sched/sched_attr_getset.c +++ b/test/initramfs/src/regression/process/sched/sched_attr_getset.c @@ -4,7 +4,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" static int sched_setattr(pid_t pid, struct sched_attr *attr, unsigned int flags) { diff --git a/test/initramfs/src/regression/sched/sched_param_getset.c b/test/initramfs/src/regression/process/sched/sched_param_getset.c similarity index 98% rename from test/initramfs/src/regression/sched/sched_param_getset.c rename to test/initramfs/src/regression/process/sched/sched_param_getset.c index 86dee3cc2..eabb1cf58 100644 --- a/test/initramfs/src/regression/sched/sched_param_getset.c +++ b/test/initramfs/src/regression/process/sched/sched_param_getset.c @@ -5,7 +5,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" FN_TEST(sched_param) { diff --git a/test/initramfs/src/regression/sched/sched_param_idle.c b/test/initramfs/src/regression/process/sched/sched_param_idle.c similarity index 100% rename from test/initramfs/src/regression/sched/sched_param_idle.c rename to test/initramfs/src/regression/process/sched/sched_param_idle.c diff --git a/test/initramfs/src/regression/process/signal/Makefile b/test/initramfs/src/regression/process/signal/Makefile new file mode 100644 index 000000000..444efbb78 --- /dev/null +++ b/test/initramfs/src/regression/process/signal/Makefile @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: MPL-2.0 + +ifneq ($(HOST_PLATFORM), x86_64-linux) +C_OBJS_FILTER += \ + sigaltstack \ + signal_fpu \ + signal_rflags_df \ + signal_test +endif + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/signal_c/kill.c b/test/initramfs/src/regression/process/signal/kill.c similarity index 98% rename from test/initramfs/src/regression/signal_c/kill.c rename to test/initramfs/src/regression/process/signal/kill.c index 860649dd1..b2da8c3d3 100644 --- a/test/initramfs/src/regression/signal_c/kill.c +++ b/test/initramfs/src/regression/process/signal/kill.c @@ -8,7 +8,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" FN_SETUP(setpgrp) { diff --git a/test/initramfs/src/regression/signal_c/parent_death_signal.c b/test/initramfs/src/regression/process/signal/parent_death_signal.c similarity index 100% rename from test/initramfs/src/regression/signal_c/parent_death_signal.c rename to test/initramfs/src/regression/process/signal/parent_death_signal.c diff --git a/test/initramfs/src/regression/signal_c/pidfd_send_signal.c b/test/initramfs/src/regression/process/signal/pidfd_send_signal.c similarity index 99% rename from test/initramfs/src/regression/signal_c/pidfd_send_signal.c rename to test/initramfs/src/regression/process/signal/pidfd_send_signal.c index d3e35bcf1..43bab8931 100644 --- a/test/initramfs/src/regression/signal_c/pidfd_send_signal.c +++ b/test/initramfs/src/regression/process/signal/pidfd_send_signal.c @@ -9,7 +9,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" // Reference: . #define PIDFD_SELF_THREAD -10000 diff --git a/test/initramfs/src/regression/signal_c/sigaltstack.c b/test/initramfs/src/regression/process/signal/sigaltstack.c similarity index 99% rename from test/initramfs/src/regression/signal_c/sigaltstack.c rename to test/initramfs/src/regression/process/signal/sigaltstack.c index 20ddac4b0..6c6ded64d 100644 --- a/test/initramfs/src/regression/signal_c/sigaltstack.c +++ b/test/initramfs/src/regression/process/signal/sigaltstack.c @@ -9,7 +9,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" #define ALT_STACK_SIZE (SIGSTKSZ + 40960) diff --git a/test/initramfs/src/regression/signal_c/signal_fd.c b/test/initramfs/src/regression/process/signal/signal_fd.c similarity index 99% rename from test/initramfs/src/regression/signal_c/signal_fd.c rename to test/initramfs/src/regression/process/signal/signal_fd.c index 4ca805f6d..4be8ed582 100644 --- a/test/initramfs/src/regression/signal_c/signal_fd.c +++ b/test/initramfs/src/regression/process/signal/signal_fd.c @@ -9,7 +9,7 @@ #include #include #include -#include "../test.h" +#include "../../common/test.h" int sfd; sigset_t mask; diff --git a/test/initramfs/src/regression/signal_c/signal_fpu.c b/test/initramfs/src/regression/process/signal/signal_fpu.c similarity index 100% rename from test/initramfs/src/regression/signal_c/signal_fpu.c rename to test/initramfs/src/regression/process/signal/signal_fpu.c diff --git a/test/initramfs/src/regression/signal_c/signal_rflags_df.c b/test/initramfs/src/regression/process/signal/signal_rflags_df.c similarity index 100% rename from test/initramfs/src/regression/signal_c/signal_rflags_df.c rename to test/initramfs/src/regression/process/signal/signal_rflags_df.c diff --git a/test/initramfs/src/regression/signal_c/signal_test.c b/test/initramfs/src/regression/process/signal/signal_test.c similarity index 100% rename from test/initramfs/src/regression/signal_c/signal_test.c rename to test/initramfs/src/regression/process/signal/signal_test.c diff --git a/test/initramfs/src/regression/signal_c/signal_test2.c b/test/initramfs/src/regression/process/signal/signal_test2.c similarity index 97% rename from test/initramfs/src/regression/signal_c/signal_test2.c rename to test/initramfs/src/regression/process/signal/signal_test2.c index f89206042..0612dbdfe 100644 --- a/test/initramfs/src/regression/signal_c/signal_test2.c +++ b/test/initramfs/src/regression/process/signal/signal_test2.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../../common/test.h" #include #include diff --git a/test/initramfs/src/regression/process/wait4.c b/test/initramfs/src/regression/process/wait4.c index 4c13e8f5f..9f97df3db 100644 --- a/test/initramfs/src/regression/process/wait4.c +++ b/test/initramfs/src/regression/process/wait4.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 -#include "../test.h" +#include "../common/test.h" #include #include diff --git a/test/initramfs/src/regression/procfs/Makefile b/test/initramfs/src/regression/procfs/Makefile deleted file mode 100644 index ce42e33b0..000000000 --- a/test/initramfs/src/regression/procfs/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/pseudofs/Makefile b/test/initramfs/src/regression/pseudofs/Makefile deleted file mode 100644 index ce42e33b0..000000000 --- a/test/initramfs/src/regression/pseudofs/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := \ No newline at end of file diff --git a/test/initramfs/src/regression/pty/Makefile b/test/initramfs/src/regression/pty/Makefile deleted file mode 100644 index c603a781a..000000000 --- a/test/initramfs/src/regression/pty/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/sched/Makefile b/test/initramfs/src/regression/sched/Makefile deleted file mode 100644 index c603a781a..000000000 --- a/test/initramfs/src/regression/sched/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/scripts/Makefile b/test/initramfs/src/regression/scripts/Makefile index 85ccd0834..034ee2e6b 100644 --- a/test/initramfs/src/regression/scripts/Makefile +++ b/test/initramfs/src/regression/scripts/Makefile @@ -1,10 +1,10 @@ # SPDX-License-Identifier: MPL-2.0 SOURCES := $(wildcard *.sh) -TARGETS := $(addprefix $(BUILD_DIR)/, $(SOURCES)) +TARGETS := $(addprefix $(OUTPUT_DIR)/, $(SOURCES)) .PHONY: all all: $(TARGETS) -$(BUILD_DIR)/%.sh: %.sh +$(OUTPUT_DIR)/%.sh: %.sh @cp $< $@ diff --git a/test/initramfs/src/regression/scripts/process.sh b/test/initramfs/src/regression/scripts/process.sh deleted file mode 100755 index 773de695b..000000000 --- a/test/initramfs/src/regression/scripts/process.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: MPL-2.0 - -set -e - -SCRIPT_DIR=/test -cd ${SCRIPT_DIR}/.. - -echo "Start process test......" -# These test programs are sorted by name. -tests=" -chroot/chroot_jail -clone3/clone_exit_signal -clone3/clone_files -clone3/clone_no_exit_signal -clone3/clone_parent -clone3/clone_process -cpu_affinity/cpu_affinity -execve/execve -execve/execve_err -execve/execve_mt_parent -execve/execve_memfd -exit/exit_code -exit/exit_procfs -eventfd2/eventfd2 -fork/fork -fork_c/fork -getcpu/getcpu -getpid/getpid -hello_pie/hello -hello_world/hello_world -inotify/inotify_align -inotify/inotify_poll -inotify/inotify_unlink -itimer/setitimer -itimer/timer_create -mmap/mmap_and_fork -mmap/mmap_and_mprotect -mmap/mmap_and_mremap -mmap/mmap_beyond_the_file -mmap/mmap_err -mmap/mmap_holes -mmap/mmap_shared_filebacked -mmap/mmap_readahead -mmap/mmap_vmrss -namespace/mnt_ns -namespace/setns -namespace/unshare -process/group_session -process/job_control -process/pidfd -process/pidfd_getfd -process/wait4 -procfs/dentry_cache -procfs/pid_mem -pseudofs/pseudo_dentry -pseudofs/pseudo_inode -pseudofs/pseudo_mount -pseudofs/memfd_access_err -pthread/pthread_test -pty/close_pty -pty/open_ptmx -pty/open_pty -pty/pty_blocking -pty/pty_packet_mode -sched/sched_attr_getset -sched/sched_param_getset -sched/sched_param_idle -shm/posix_shm -signal_c/kill -signal_c/parent_death_signal -signal_c/pidfd_send_signal -signal_c/sigaltstack -signal_c/signal_fd -signal_c/signal_fpu -signal_c/signal_test -signal_c/signal_test2 -" - -# Add TDX-specific tests -if [ "$INTEL_TDX" = "1" ]; then -tests="${tests} -generate_tdx_quote/generate_tdx_quote -" -fi - -for testcase in ${tests} -do - echo "Running test ${testcase}......" - ${SCRIPT_DIR}/${testcase} -done -echo "All process test passed." diff --git a/test/initramfs/src/regression/scripts/run_regression_test.sh b/test/initramfs/src/regression/scripts/run_regression_test.sh index 1edc41520..483be811d 100755 --- a/test/initramfs/src/regression/scripts/run_regression_test.sh +++ b/test/initramfs/src/regression/scripts/run_regression_test.sh @@ -4,18 +4,17 @@ set -e -SCRIPT_DIR=/test -cd ${SCRIPT_DIR} +REGRESSION_TEST_DIR=/test +TEST_SCRIPT=run_test.sh -./shell_cmd.sh -./test_epoll_pwait.sh -./cgroup.sh - -# TODO: Support the following tests with SMP -if [ -z $BLOCK_UNSUPPORTED_SMP_TESTS ]; then - ./fs.sh # will hang - ./process.sh # will randomly hang - ./network.sh # will hang -fi +for dir in $(find -L "${REGRESSION_TEST_DIR}" -mindepth 1 -maxdepth 1 -type d); do + if [ -x "${dir}/${TEST_SCRIPT}" ]; then + echo "Running test in $dir" + (cd "$dir" && ./${TEST_SCRIPT}) + echo "All test in $dir passed." + else + echo "Skipping $dir (no executable TEST_SCRIPT)" + fi +done echo "All regression tests passed." diff --git a/test/initramfs/src/regression/scripts/run_vsock_test.sh b/test/initramfs/src/regression/scripts/run_vsock_test.sh index b083dd181..17dd0b580 100644 --- a/test/initramfs/src/regression/scripts/run_vsock_test.sh +++ b/test/initramfs/src/regression/scripts/run_vsock_test.sh @@ -8,7 +8,7 @@ set -e -VSOCK_DIR=/test/vsock +VSOCK_DIR=/test/network/vsock cd ${VSOCK_DIR} echo "Start vsock test......" diff --git a/test/initramfs/src/regression/scripts/shell_cmd.sh b/test/initramfs/src/regression/scripts/shell_cmd.sh deleted file mode 100755 index c8293f7ea..000000000 --- a/test/initramfs/src/regression/scripts/shell_cmd.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: MPL-2.0 - -set -e -set -x - -SCRIPT_DIR=/test -cd ${SCRIPT_DIR} - -touch hello.txt -mv hello.txt hello_world.txt -rm hello_world.txt - -awk '{print $2}' shell_cmd.sh -cp shell_cmd.sh shell_cmd_backup.sh -cat shell_cmd_backup.sh -rm shell_cmd_backup.sh - -ln -s shell_cmd.sh tesk_cmd_soft_link -readlink -f tesk_cmd_soft_link -tail -n 1 tesk_cmd_soft_link -rm tesk_cmd_soft_link - -ln shell_cmd.sh tesk_cmd_hard_link -tail -n 1 tesk_cmd_hard_link -unlink tesk_cmd_hard_link - -sed 3q shell_cmd.sh - -find . -name "*shell_cmd*" - -mkdir foo -rmdir foo - -echo "Hello world from asterinas" > hello.txt -rm hello.txt - -cd .. - -ps -T | grep ps \ No newline at end of file diff --git a/test/initramfs/src/regression/security/Makefile b/test/initramfs/src/regression/security/Makefile new file mode 100644 index 000000000..2ddb31232 --- /dev/null +++ b/test/initramfs/src/regression/security/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: MPL-2.0 + +SUBDIRS := \ + capability \ + namespace \ + +include ../common/Makefile diff --git a/test/initramfs/src/regression/security/capability/Makefile b/test/initramfs/src/regression/security/capability/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/security/capability/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/capability/capabilities.c b/test/initramfs/src/regression/security/capability/capabilities.c similarity index 100% rename from test/initramfs/src/regression/capability/capabilities.c rename to test/initramfs/src/regression/security/capability/capabilities.c diff --git a/test/initramfs/src/regression/security/namespace/Makefile b/test/initramfs/src/regression/security/namespace/Makefile new file mode 100644 index 000000000..a1e0b1931 --- /dev/null +++ b/test/initramfs/src/regression/security/namespace/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: MPL-2.0 + +include ../../common/Makefile diff --git a/test/initramfs/src/regression/namespace/mnt_ns.c b/test/initramfs/src/regression/security/namespace/mnt_ns.c similarity index 99% rename from test/initramfs/src/regression/namespace/mnt_ns.c rename to test/initramfs/src/regression/security/namespace/mnt_ns.c index d65a400bd..677f64bae 100644 --- a/test/initramfs/src/regression/namespace/mnt_ns.c +++ b/test/initramfs/src/regression/security/namespace/mnt_ns.c @@ -1,13 +1,14 @@ // SPDX-License-Identifier: MPL-2.0 #define _GNU_SOURCE +#include #include #include #include #include #include -#include "../test.h" +#include "../../common/test.h" #define STACK_SIZE (1024 * 1024) diff --git a/test/initramfs/src/regression/namespace/setns.c b/test/initramfs/src/regression/security/namespace/setns.c similarity index 97% rename from test/initramfs/src/regression/namespace/setns.c rename to test/initramfs/src/regression/security/namespace/setns.c index 843f9ba2e..a78727e96 100644 --- a/test/initramfs/src/regression/namespace/setns.c +++ b/test/initramfs/src/regression/security/namespace/setns.c @@ -6,7 +6,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" FN_TEST(set_ns_empty_flags) { diff --git a/test/initramfs/src/regression/namespace/unshare.c b/test/initramfs/src/regression/security/namespace/unshare.c similarity index 99% rename from test/initramfs/src/regression/namespace/unshare.c rename to test/initramfs/src/regression/security/namespace/unshare.c index f992c3fa8..1c6ef081c 100644 --- a/test/initramfs/src/regression/namespace/unshare.c +++ b/test/initramfs/src/regression/security/namespace/unshare.c @@ -7,7 +7,7 @@ #include #include -#include "../test.h" +#include "../../common/test.h" FN_TEST(invalid_flags) { diff --git a/test/initramfs/src/regression/security/run_test.sh b/test/initramfs/src/regression/security/run_test.sh new file mode 100755 index 000000000..fa70e83b1 --- /dev/null +++ b/test/initramfs/src/regression/security/run_test.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +./capability/capabilities + +./namespace/mnt_ns +./namespace/setns +./namespace/unshare diff --git a/test/initramfs/src/regression/shm/Makefile b/test/initramfs/src/regression/shm/Makefile deleted file mode 100644 index c603a781a..000000000 --- a/test/initramfs/src/regression/shm/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/signal_c/Makefile b/test/initramfs/src/regression/signal_c/Makefile deleted file mode 100644 index d2ee97801..000000000 --- a/test/initramfs/src/regression/signal_c/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -# Removed `-static` to enable dynamic linking. -# Refer to "signal_rflags_df.c" for details on how dynamic linking affects DF flag testing. -EXTRA_C_FLAGS := diff --git a/test/initramfs/src/regression/test_common.mk b/test/initramfs/src/regression/test_common.mk deleted file mode 100644 index 0118e0750..000000000 --- a/test/initramfs/src/regression/test_common.mk +++ /dev/null @@ -1,33 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -MAIN_MAKEFILE := $(firstword $(MAKEFILE_LIST)) -INCLUDE_MAKEFILE := $(lastword $(MAKEFILE_LIST)) -CUR_DIR := $(shell dirname $(realpath $(MAIN_MAKEFILE))) -CUR_DIR_NAME := $(shell basename $(realpath $(CUR_DIR))) -BUILD_DIR := $(CUR_DIR)/../../../build -OBJ_OUTPUT_DIR := $(BUILD_DIR)/initramfs/test/$(CUR_DIR_NAME) -DEP_OUTPUT_DIR := $(BUILD_DIR)/dep/$(CUR_DIR_NAME) -C_SRCS := $(wildcard *.c) -C_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(C_SRCS:%.c=%)) -C_DEPS := $(addprefix $(DEP_OUTPUT_DIR)/,$(C_SRCS:%.c=%.d)) -ASM_SRCS := $(wildcard *.S) -ASM_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(ASM_SRCS:%.S=%)) -CC ?= gcc -C_FLAGS += -Wall -Werror - -.PHONY: all -all: $(C_OBJS) $(ASM_OBJS) - -$(OBJ_OUTPUT_DIR) $(DEP_OUTPUT_DIR): - @mkdir -p $@ - -$(OBJ_OUTPUT_DIR)/%: %.c | $(OBJ_OUTPUT_DIR) $(DEP_OUTPUT_DIR) - @$(CC) $(C_FLAGS) $< -o $@ $(EXTRA_C_FLAGS) \ - -MMD -MF $(DEP_OUTPUT_DIR)/$*.d - @echo "CC <= $@" - --include $(C_DEPS) - -$(OBJ_OUTPUT_DIR)/%: %.S | $(OBJ_OUTPUT_DIR) - @$(CC) $(C_FLAGS) $(EXTRA_C_FLAGS) $< -o $@ - @echo "CC <= $@" diff --git a/test/initramfs/src/regression/vsock/Makefile b/test/initramfs/src/regression/vsock/Makefile deleted file mode 100644 index d428635d2..000000000 --- a/test/initramfs/src/regression/vsock/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -include ../test_common.mk - -EXTRA_C_FLAGS := diff --git a/tools/docker/nix/Dockerfile b/tools/docker/nix/Dockerfile index ec5ae3781..3793e166f 100644 --- a/tools/docker/nix/Dockerfile +++ b/tools/docker/nix/Dockerfile @@ -36,9 +36,8 @@ RUN make riscv64_pkgs VERBOSE=0 \ RUN make x86_64_pkgs VERBOSE=0 \ && make nix_gc -# Build general packages and install host required packages -RUN make general_pkgs VERBOSE=0 \ - && make install_host_pkgs \ +# Install host required packages +RUN make install_host_pkgs \ && make nix_gc # Build initramfs packages to accelerate CI workflows