Cura-packaging/_3rd-party/protobuf/pkg-test.sh

68 lines
1.1 KiB
Bash
Executable File

#!/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