summaryrefslogtreecommitdiffstats
path: root/test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test.sh')
-rwxr-xr-xtest.sh14
1 files changed, 2 insertions, 12 deletions
diff --git a/test.sh b/test.sh
index 547054c..645eabe 100755
--- a/test.sh
+++ b/test.sh
@@ -8,36 +8,26 @@
8# Created Time : 2023-10-06 8# Created Time : 2023-10-06
9########################################################################## 9##########################################################################
10 10
11# 写一个脚本,测试已经生成的main的功能
12# 输入年份为自1976年至2076年的任意年份
13# 如果未出现段错误就重定向输出到res.txt,否则输出到err.txt,并在屏幕上显示出错的年份 11# 如果未出现段错误就重定向输出到res.txt,否则输出到err.txt,并在屏幕上显示出错的年份
14 12
15# 设置要测试的可执行文件 13# 设置要测试的可执行文件
16executable="main" 14executable="main"
17 15
18# 清空res.txt和err.txt
19echo "" > res.txt 16echo "" > res.txt
20 17
21# 循环测试年份,计算总用时为多少秒
22start_time=$(date +%s) 18start_time=$(date +%s)
23for year in {1900..2100}; do 19for year in {1800..2200}; do
24 echo "==================测试年份 $year=====================" 20 echo "==================测试年份 $year====================="
25 21
26 # 执行可执行文件,并捕获标准输出和标准错误
27 output=$(./$executable "$year" 2>&1) 22 output=$(./$executable "$year" 2>&1)
28 23
29 # 获取命令的退出状态码
30 exit_code=$? 24 exit_code=$?
31
32 if [ $exit_code -eq 0 ]; then 25 if [ $exit_code -eq 0 ]; then
33 # 执行正常,将输出重定向到res.txt
34 echo -e "$year:\n$output" >> res.txt 26 echo -e "$year:\n$output" >> res.txt
35 # echo "执行正常"
36 else 27 else
37 # 执行异常,将错误信息重定向到err.txt 28 # 执行异常,将错误信息重定向到err.txt
38 echo -e "$year:\n$output" >> err.txt 29 echo -e "$year:\n$output" >> err.txt
39 echo "执行异常(退出码: $exit_code)" 30 echo "执行异常(退出码: $exit_code)"
40 # 停止执行
41 exit 1 31 exit 1
42 fi 32 fi
43done 33done