1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#!/bin/sh
EXAMPLES="rdkafka_example.c rdkafka_example.cpp producer.c consumer.c rdkafka_complex_consumer_example.cpp"
WORKDIR=$AUTOPKGTEST_TMP/examples
set -e
# create our working directory, separate from anythin else tested
mkdir $WORKDIR || true
# copy some examples from the source tree
for example in $EXAMPLES; do
cp examples/$example $WORKDIR/
done
cd $WORKDIR
# switch the code to use the system copy of the header
sed -i 's;#include "rdkafka.h";#include <librdkafka/rdkafka.h>;' *.c
sed -i 's;#include "rdkafkacpp.h";#include <librdkafka/rdkafkacpp.h>;' *.cpp
echo "Info pkgconf (rdkafka): $(pkgconf --cflags --libs rdkafka)"
echo "Info pkgconf (rdkafka++): $(pkgconf --cflags --libs rdkafka++)"
# build C programs
for src in *.c; do
echo "Build $src"
cc $src -o $src.out $(pkgconf --cflags --libs rdkafka)
done
# build C++ programs
for src in *.cpp; do
echo "Build $src"
c++ $src -o $src.out $(pkgconf --cflags --libs rdkafka++)
done
# run them, check for "Usage" string in stderr
for out in *.out; do
echo "Run $out"
./$out 2>&1 | grep -q Usage
done
echo "All OK"
|