-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_remove_last_pipe.bats
44 lines (35 loc) · 1.19 KB
/
test_remove_last_pipe.bats
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/env bats
# ==========================================================
# test_remove_last_pipe_opt.bats
# ✓ 测试 process_dat_file 函数删除每行最后的 '|' 字符
# ✓ 测试 process_dat_files 函数处理目录中的所有 .dat 文件
#
# 2 tests, 0 failures
# ==========================================================
load "remove_last_pipe.sh"
setup() {
TEST_DIR=$(mktemp -d)
}
teardown() {
rm -rf "$TEST_DIR"
}
@test "测试 process_dat_file 函数删除每行最后的 '|' 字符" {
# 在这个测试的独立环境中创建测试文件
echo "Sample line 1|" >"$TEST_DIR/sample1.dat"
process_dat_file "$TEST_DIR/sample1.dat"
wait
result=$(cat "$TEST_DIR/sample1.dat")
[ "$result" = "Sample line 1" ]
}
@test "测试 process_dat_files 函数处理目录中的所有 .dat 文件" {
# 在这个测试的独立环境中创建超过20个测试文件来触发 wait -n 逻辑
for i in $(seq 1 25); do
echo "Sample line $i|" >"$TEST_DIR/sample$i.dat"
done
process_dat_files "$TEST_DIR"
wait
for i in $(seq 1 25); do
result=$(cat "$TEST_DIR/sample$i.dat")
[ "$result" = "Sample line $i" ] || false
done
}