blob: 547054c5d04f1b8cb7ee5bdf6c727fe90085ae30 (
plain) (
blame)
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
44
45
46
47
|
#!/bin/bash
##########################################################################
# File Name : test.sh
# Encoding : utf-8
# Author : We-unite
# Email : weunite1848@gmail.com
# Created Time : 2023-10-06
##########################################################################
# 写一个脚本,测试已经生成的main的功能
# 输入年份为自1976年至2076年的任意年份
# 如果未出现段错误就重定向输出到res.txt,否则输出到err.txt,并在屏幕上显示出错的年份
# 设置要测试的可执行文件
executable="main"
# 清空res.txt和err.txt
echo "" > res.txt
# 循环测试年份,计算总用时为多少秒
start_time=$(date +%s)
for year in {1900..2100}; do
echo "==================测试年份 $year====================="
# 执行可执行文件,并捕获标准输出和标准错误
output=$(./$executable "$year" 2>&1)
# 获取命令的退出状态码
exit_code=$?
if [ $exit_code -eq 0 ]; then
# 执行正常,将输出重定向到res.txt
echo -e "$year:\n$output" >> res.txt
# echo "执行正常"
else
# 执行异常,将错误信息重定向到err.txt
echo -e "$year:\n$output" >> err.txt
echo "执行异常(退出码: $exit_code)"
# 停止执行
exit 1
fi
done
end_time=$(date +%s)
echo "测试成功!"
echo "总用时:$((end_time - start_time))秒"
|