test(09-01): add directory test cases to Kotlin cross-validation script

- Test 6: nested directory extraction (3+ levels deep, 4 files)
- Test 7: empty directory creation without decryption errors
- Test 8: mixed standalone files + directory pack/unpack
- All 5 original test cases preserved unchanged

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
NikitolProject
2026-02-26 22:05:29 +03:00
parent a01b260944
commit 27fb3926cf

View File

@@ -246,6 +246,70 @@ java -jar "$JAR" "$TMPDIR/test5.archive" "$TMPDIR/output5/"
verify_file "$ORIG5" "$TMPDIR/output5/large.bin" "large.bin (100 KB random)"
echo ""
# ---------------------------------------------------------------------------
# Test case 6: Directory with nested files
# ---------------------------------------------------------------------------
echo -e "${BOLD}Test 6: Directory with nested files${NC}"
mkdir -p "$TMPDIR/testdir6/subdir1/deep"
mkdir -p "$TMPDIR/testdir6/subdir2"
echo "file in root" > "$TMPDIR/testdir6/root.txt"
echo "file in subdir1" > "$TMPDIR/testdir6/subdir1/sub1.txt"
echo "file in deep" > "$TMPDIR/testdir6/subdir1/deep/deep.txt"
echo "file in subdir2" > "$TMPDIR/testdir6/subdir2/sub2.txt"
"$ARCHIVER" pack "$TMPDIR/testdir6" -o "$TMPDIR/test6.archive"
java -jar "$JAR" "$TMPDIR/test6.archive" "$TMPDIR/output6/"
verify_file "$TMPDIR/testdir6/root.txt" "$TMPDIR/output6/testdir6/root.txt" "testdir6/root.txt"
verify_file "$TMPDIR/testdir6/subdir1/sub1.txt" "$TMPDIR/output6/testdir6/subdir1/sub1.txt" "testdir6/subdir1/sub1.txt"
verify_file "$TMPDIR/testdir6/subdir1/deep/deep.txt" "$TMPDIR/output6/testdir6/subdir1/deep/deep.txt" "testdir6/subdir1/deep/deep.txt"
verify_file "$TMPDIR/testdir6/subdir2/sub2.txt" "$TMPDIR/output6/testdir6/subdir2/sub2.txt" "testdir6/subdir2/sub2.txt"
echo ""
# ---------------------------------------------------------------------------
# Test case 7: Directory with empty subdirectory
# ---------------------------------------------------------------------------
echo -e "${BOLD}Test 7: Directory with empty subdirectory${NC}"
mkdir -p "$TMPDIR/testdir7/populated"
mkdir -p "$TMPDIR/testdir7/empty_subdir"
echo "content" > "$TMPDIR/testdir7/populated/file.txt"
"$ARCHIVER" pack "$TMPDIR/testdir7" -o "$TMPDIR/test7.archive"
java -jar "$JAR" "$TMPDIR/test7.archive" "$TMPDIR/output7/"
# Verify file content
verify_file "$TMPDIR/testdir7/populated/file.txt" "$TMPDIR/output7/testdir7/populated/file.txt" "testdir7/populated/file.txt"
# Verify empty directory exists
if [ -d "$TMPDIR/output7/testdir7/empty_subdir" ]; then
pass "testdir7/empty_subdir (empty directory created)"
else
fail "testdir7/empty_subdir" "Empty directory not found in output"
fi
echo ""
# ---------------------------------------------------------------------------
# Test case 8: Mixed standalone files and directory
# ---------------------------------------------------------------------------
echo -e "${BOLD}Test 8: Mixed standalone files and directory${NC}"
ORIG8_FILE="$TMPDIR/standalone.txt"
echo "standalone content" > "$ORIG8_FILE"
mkdir -p "$TMPDIR/testdir8"
echo "dir content" > "$TMPDIR/testdir8/inner.txt"
"$ARCHIVER" pack "$ORIG8_FILE" "$TMPDIR/testdir8" -o "$TMPDIR/test8.archive"
java -jar "$JAR" "$TMPDIR/test8.archive" "$TMPDIR/output8/"
verify_file "$ORIG8_FILE" "$TMPDIR/output8/standalone.txt" "standalone.txt (standalone file)"
verify_file "$TMPDIR/testdir8/inner.txt" "$TMPDIR/output8/testdir8/inner.txt" "testdir8/inner.txt (from directory)"
echo ""
# ---------------------------------------------------------------------------
# Summary
# ---------------------------------------------------------------------------