#!/usr/bin/env bash # ©AngelaMos | 2026 # test_01_initial_setup.sh # # Tests for CIS Section 1 (Initial Setup) checks # # Uses pass and fail fixture directories to verify cramfs module # detection (1.1.1), /tmp separate partition (1.2.1), /tmp mount # options noexec/nosuid/nodev (1.2.2-1.2.4), ASLR enabled status # (1.5.1), and core dump restrictions (1.5.2). Each test calls the # corresponding check function against a fixture SYSROOT and asserts # both the expected status and key evidence substrings. # # Connects to: # checks/01_initial_setup.sh - check functions under test # tests/test_helpers.sh - setup_test, assert_status, # assert_evidence_contains test_1_1_1_pass() { CURRENT_TEST="test_1_1_1_pass" setup_test "${PROJECT_DIR}/testdata/fixtures" check_1_1_1 assert_status "1.1.1" "PASS" assert_evidence_contains "1.1.1" "cramfs" } test_1_1_1_fail() { CURRENT_TEST="test_1_1_1_fail" setup_test "${PROJECT_DIR}/testdata/fixtures_fail" check_1_1_1 assert_status "1.1.1" "FAIL" assert_evidence_contains "1.1.1" "cramfs" } test_1_2_1_pass() { CURRENT_TEST="test_1_2_1_pass" setup_test "${PROJECT_DIR}/testdata/fixtures" check_1_2_1 assert_status "1.2.1" "PASS" assert_evidence_contains "1.2.1" "/tmp" } test_1_2_1_fail() { CURRENT_TEST="test_1_2_1_fail" setup_test "${PROJECT_DIR}/testdata/fixtures_fail" check_1_2_1 assert_status "1.2.1" "FAIL" assert_evidence_contains "1.2.1" "/tmp" } test_1_2_2_pass() { CURRENT_TEST="test_1_2_2_pass" setup_test "${PROJECT_DIR}/testdata/fixtures" check_1_2_2 assert_status "1.2.2" "PASS" assert_evidence_contains "1.2.2" "noexec" } test_1_2_2_fail() { CURRENT_TEST="test_1_2_2_fail" setup_test "${PROJECT_DIR}/testdata/fixtures_fail" check_1_2_2 assert_status "1.2.2" "SKIP" assert_evidence_contains "1.2.2" "/tmp" } test_1_2_3_pass() { CURRENT_TEST="test_1_2_3_pass" setup_test "${PROJECT_DIR}/testdata/fixtures" check_1_2_3 assert_status "1.2.3" "PASS" assert_evidence_contains "1.2.3" "nosuid" } test_1_2_4_pass() { CURRENT_TEST="test_1_2_4_pass" setup_test "${PROJECT_DIR}/testdata/fixtures" check_1_2_4 assert_status "1.2.4" "PASS" assert_evidence_contains "1.2.4" "nodev" } test_1_5_1_pass() { CURRENT_TEST="test_1_5_1_pass" setup_test "${PROJECT_DIR}/testdata/fixtures" check_1_5_1 assert_status "1.5.1" "PASS" assert_evidence_contains "1.5.1" "ASLR is fully enabled" } test_1_5_1_fail() { CURRENT_TEST="test_1_5_1_fail" setup_test "${PROJECT_DIR}/testdata/fixtures_fail" check_1_5_1 assert_status "1.5.1" "FAIL" assert_evidence_contains "1.5.1" "ASLR is disabled" } test_1_5_2_pass() { CURRENT_TEST="test_1_5_2_pass" setup_test "${PROJECT_DIR}/testdata/fixtures" check_1_5_2 assert_status "1.5.2" "PASS" assert_evidence_contains "1.5.2" "Core dumps restricted" } test_1_5_2_fail() { CURRENT_TEST="test_1_5_2_fail" setup_test "${PROJECT_DIR}/testdata/fixtures_fail" check_1_5_2 assert_status "1.5.2" "FAIL" }