#!/bin/bash

#set -e
set -x

env
whoami
pstree

## As per test/CMakeLists.txt:
# SET(TEST_DEFAULT_HOST   "tcp://localhost:3306"  CACHE STRING "Defines Unit Tests default server" )
# SET(TEST_DEFAULT_DB     "test"                  CACHE STRING "Defines Unit Tests default Database" )
# SET(TEST_DEFAULT_LOGIN  "root"                  CACHE STRING "Defines Unit Tests default login user" )
# SET(TEST_DEFAULT_PASSWD "root"                  CACHE STRING "Defines Unit Tests default login user password" )
mysql -u root -h localhost << EOF
UPDATE mysql.user SET Password=password('root') where User='root';
UPDATE mysql.user SET plugin='' where User='root';
flush privileges;
CREATE DATABASE IF NOT EXISTS test;
EOF

# re-configure
dh_auto_configure -- \
          -DCMAKE_INSTALL_PREFIX:PATH=/usr \
          -DMYSQLCPPCONN_ICU_ENABLE:BOOL=0 \
          -DMYSQLCLIENT_STATIC_LINKING:BOOL=0 \
          \
          #-DMYSQLCPPCONN_TEST_NOT_IMPLEMENTED:BOOL=1

gnu_type=`dpkg-architecture -qDEB_HOST_GNU_TYPE`
cd obj-$gnu_type && make -j$(getconf _NPROCESSORS_ONLN)
cd ..

find obj-$gnu_type -name "libmysqlcppconn*so*" -print

cd obj-$gnu_type

## What a miserable test suite! Executables exit with status==1
## even when all tests pass. Pathetic...
test/CJUnitTestsPort/CJUnitTestsPort
test/driver_test || true
test/static_test
test/unit/classes/art_resultset
test/unit/classes/connection || true
test/unit/classes/databasemetadata || true
test/unit/classes/parametermetadata
test/unit/classes/preparedstatement
test/unit/classes/resultset
test/unit/classes/resultsetmetadata
test/unit/classes/savepoint
test/unit/classes/statement

exit 0
