mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-18 17:33:02 +00:00
Need to use the correct script path. Fixes: #802 Signed-off-by: Peng Tao <bergwolf@hyper.sh>
31 lines
883 B
Bash
Executable File
31 lines
883 B
Bash
Executable File
#!/bin/bash
|
|
# Copyright (c) 2018 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Check there are no os.Exit() calls creeping into the code
|
|
# We don't use that exit path in the Kata codebase.
|
|
|
|
# Allow the path to check to be over-ridden.
|
|
# Default to the current directory.
|
|
go_packages=${1:-.}
|
|
|
|
echo "Checking for no os.Exit() calls for package [${go_packages}]"
|
|
|
|
candidates=`go list -f '{{.Dir}}/*.go' $go_packages`
|
|
for f in $candidates; do
|
|
filename=`basename $f`
|
|
# skip all go test files
|
|
[[ $filename == *_test.go ]] && continue
|
|
# skip exit.go where, the only file we should call os.Exit() from.
|
|
[[ $filename == "exit.go" ]] && continue
|
|
files="$f $files"
|
|
done
|
|
|
|
[ -z "$files" ] && echo "No files to check, skipping" && exit 0
|
|
|
|
if egrep -n '\<os\.Exit\>' $files; then
|
|
echo "Direct calls to os.Exit() are forbidden, please use exit() so atexit() works"
|
|
exit 1
|
|
fi
|