68 lines
1.1 KiB
Bash
68 lines
1.1 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
# Script to automate running the provided example programs to test all
|
||
|
# language binding (cpp, python, java)
|
||
|
|
||
|
# Needs to be run from the directory containing the newly-built deb's
|
||
|
|
||
|
set -e
|
||
|
|
||
|
test -f protobuf-compiler_*.deb || \
|
||
|
{ echo "Cannot find protobuf-compiler deb file, exiting" 1>&2; exit 1; }
|
||
|
|
||
|
echo "*** Installing dependencies (hardcoded list)"
|
||
|
|
||
|
apt-get install -y openjdk-6-jdk python python-support pkg-config zlib1g-dev
|
||
|
|
||
|
echo "*** Installing packages"
|
||
|
|
||
|
dpkg -i *.deb
|
||
|
|
||
|
cd /usr/share/doc/protobuf-compiler/examples
|
||
|
|
||
|
export CLASSPATH=/usr/share/java/protobuf.jar
|
||
|
|
||
|
echo "*** Building example programs"
|
||
|
|
||
|
make
|
||
|
|
||
|
TEST_FILE=`mktemp`
|
||
|
echo "Test file is $TEST_FILE"
|
||
|
|
||
|
echo "*** Adding via cpp"
|
||
|
./add_person_cpp $TEST_FILE << EOF
|
||
|
1
|
||
|
Person One
|
||
|
|
||
|
|
||
|
EOF
|
||
|
|
||
|
echo "*** Adding via python"
|
||
|
|
||
|
./add_person_python $TEST_FILE << EOF
|
||
|
2
|
||
|
Person Two
|
||
|
two@example.net
|
||
|
|
||
|
EOF
|
||
|
|
||
|
echo "*** Adding via java"
|
||
|
|
||
|
./add_person_java $TEST_FILE << EOF
|
||
|
2
|
||
|
Person Two
|
||
|
|
||
|
555-1234
|
||
|
work
|
||
|
|
||
|
EOF
|
||
|
|
||
|
|
||
|
|
||
|
for kind in cpp python java; do
|
||
|
echo "*** Listing via $kind"
|
||
|
./list_people_$kind $TEST_FILE
|
||
|
done
|
||
|
|
||
|
rm $TEST_FILE
|