44 lines
1.2 KiB
Bash
Executable File
44 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
cd build
|
|
|
|
success_count=0
|
|
failure_count=0
|
|
failed_files=()
|
|
successful_files=()
|
|
|
|
for test_file in ../test/*.go; do
|
|
base_name=$(basename "$test_file" .go)
|
|
|
|
echo -e "\n========== 编译 $base_name =========="
|
|
if ! ./LiteGoCompiler ../test/$test_file; then
|
|
echo "编译错误"
|
|
failure_count=$((failure_count + 1))
|
|
failed_files+=("$base_name")
|
|
continue
|
|
fi
|
|
|
|
if ! ld -m elf_i386 -o run.bin out.o print.o; then
|
|
echo "链接错误"
|
|
failure_count=$((failure_count + 1))
|
|
failed_files+=("$base_name")
|
|
continue
|
|
fi
|
|
|
|
echo -e "\n========== 运行 $base_name =========="
|
|
if ! ./run.bin; then
|
|
echo "运行错误"
|
|
failure_count=$((failure_count + 1))
|
|
failed_files+=("$base_name")
|
|
continue
|
|
fi
|
|
|
|
success_count=$((success_count + 1))
|
|
successful_files+=("$base_name")
|
|
done
|
|
|
|
# 输出统计结果
|
|
echo -e "\n========== 编译结果统计 =========="
|
|
echo "编译成功的文件数量: $success_count"
|
|
echo "编译成功的文件名: ${successful_files[*]}"
|
|
echo "编译失败的文件数量: $failure_count"
|
|
echo "编译失败的文件名: ${failed_files[*]}" |