mirror of
https://github.com/golang/go
synced 2024-11-12 10:00:25 -07:00
10076b55ec
Change-Id: If6dc3acdc023ac78f63e257974cd2d2e9f1cca10 Reviewed-on: https://go-review.googlesource.com/11161 Reviewed-by: Andrew Gerrand <adg@golang.org>
59 lines
1.3 KiB
Bash
Executable File
59 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright 2010 The Go Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style
|
|
# license that can be found in the LICENSE file.
|
|
|
|
set -e
|
|
|
|
if ! which patch > /dev/null; then
|
|
echo "Skipping test; patch command not found."
|
|
exit 0
|
|
fi
|
|
|
|
wiki_pid=
|
|
cleanup() {
|
|
kill $wiki_pid
|
|
rm -f test_*.out Test.txt final-test.go final-test.bin final-test-port.txt a.out get.bin
|
|
}
|
|
trap cleanup 0 INT
|
|
|
|
rm -f get.bin final-test.bin a.out
|
|
|
|
# If called with -all, check that all code snippets compile.
|
|
if [ "$1" == "-all" ]; then
|
|
for fn in *.go; do
|
|
go build -o a.out $fn
|
|
done
|
|
fi
|
|
|
|
go build -o get.bin get.go
|
|
cp final.go final-test.go
|
|
patch final-test.go final-test.patch > /dev/null
|
|
go build -o final-test.bin final-test.go
|
|
./final-test.bin &
|
|
wiki_pid=$!
|
|
|
|
l=0
|
|
while [ ! -f ./final-test-port.txt ]
|
|
do
|
|
l=$(($l+1))
|
|
if [ "$l" -gt 5 ]
|
|
then
|
|
echo "port not available within 5 seconds"
|
|
exit 1
|
|
break
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
addr=$(cat final-test-port.txt)
|
|
./get.bin http://$addr/edit/Test > test_edit.out
|
|
diff -u test_edit.out test_edit.good
|
|
./get.bin -post=body=some%20content http://$addr/save/Test > test_save.out
|
|
diff -u test_save.out test_view.good # should be the same as viewing
|
|
diff -u Test.txt test_Test.txt.good
|
|
./get.bin http://$addr/view/Test > test_view.out
|
|
diff -u test_view.out test_view.good
|
|
|
|
echo PASS
|