Skip to content

Commit 914f80d

Browse files
authored
Merge pull request kubernetes#78018 from sttts/sttts-go-tools-nm
Fix broken hack/verify-symbols.sh
2 parents 4884873 + ab6eae3 commit 914f80d

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

hack/verify-symbols.sh

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,36 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
2323

2424
kube::golang::setup_env
2525

26-
make -C "${KUBE_ROOT}" WHAT=cmd/hyperkube
26+
kube::util::ensure-temp-dir
27+
OUTPUT="${KUBE_TEMP}"/symbols-output
28+
cleanup() {
29+
rm -rf "${OUTPUT}"
30+
}
31+
trap "cleanup" EXIT SIGINT
32+
mkdir -p "${OUTPUT}"
33+
34+
GOLDFLAGS="-w" make -C "${KUBE_ROOT}" WHAT=cmd/hyperkube
2735

2836
# Add other BADSYMBOLS here.
2937
BADSYMBOLS=(
3038
"httptest"
3139
"testify"
3240
"testing[.]"
3341
"TestOnlySetFatalOnDecodeError"
42+
"TrackStorageCleanup"
3443
)
3544

3645
# b/c hyperkube binds everything simply check that for bad symbols
37-
SYMBOLS="$(nm "${KUBE_OUTPUT_HOSTBIN}/hyperkube")"
46+
go tool nm "${KUBE_OUTPUT_HOSTBIN}/hyperkube" > "${OUTPUT}/hyperkube-symbols"
47+
48+
if ! grep -q "NewHyperKubeCommand" "${OUTPUT}/hyperkube-symbols"; then
49+
echo "No symbols found in hyperkube binary."
50+
exit 1
51+
fi
3852

3953
RESULT=0
4054
for BADSYMBOL in "${BADSYMBOLS[@]}"; do
41-
if FOUND=$(echo "$SYMBOLS" | grep "$BADSYMBOL"); then
55+
if FOUND=$(grep "${BADSYMBOL}" < "${OUTPUT}/hyperkube-symbols"); then
4256
echo "Found bad symbol '${BADSYMBOL}':"
4357
echo "$FOUND"
4458
RESULT=1

0 commit comments

Comments
 (0)