#!/bin/bash # Copyright 2011 George Danchev # Licensed under GNU GPL version 2 or later set -e not_in_releng_exit() { printf "\nPlease execute the tests from releng directory.\n\n" exit 1 } . inc/releng_getopts.inc || not_in_releng_exit print_specific_help() { cat << HLP Specific options: none yet. Overview: Tests both xorriso/xorriso.h and libisoburn/libisoburn.h APIs for C++ cleanness. HLP } if test "$SPECIFIC_HELP" = 1; then print_specific_help exit 0 fi # xorriso binary is not needed for that particular test SAMPLE_CODE_DIR=codesamples CC=${CC:-g++} # check compiler if ! which "${CC}" >/dev/null 2>&1; then printf "\n${SELF}: Not found: ${CC}. Install ${CC}.\n" cleanup exit 5 fi # check data dir if [ -d "${GEN_DATA_DIR}" ]; then printf "\n${SELF}: directory %s exists!" ${GEN_DATA_DIR} printf "\n${SELF}: use '${SELF} -c' to remove.\n" exit 6 else mkdir "${GEN_DATA_DIR}" fi INCLUDE_DIRS="-I../ -I../../libburn -I../../libisofs -I/usr/local/include -I/usr/pkg/include" # process sample code tests for SMPL in `ls "${SAMPLE_CODE_DIR}"/*.cpp`; do # CMD_CPL="${CC} -I../ -L ../libisoburn/.libs/ ${CFLAGS} -lisoburn -o ${SMPL}.obj ${SMPL}" CMD_CPL="${CC} -c ${INCLUDE_DIRS} ${CFLAGS} -o ${SMPL}.obj ${SMPL}" printf "${SELF}: ${CMD_CPL}" set +e ${CMD_CPL} RET_CPL="$?" if [ ${RET_CPL} = 0 -a -f ${SMPL}.obj ]; then mv ${SMPL}.obj ${GEN_DATA_DIR} printf "...ok\n" else printf "\nFAIL : ${SELF}: Compilation of ${SMPL}\n" cleanup exit 7 fi # BASE=$(basename ${SMPL}.obj) # printf "${SELF}: Running LD_LIBRARY_PATH=../libisoburn/.libs/:${LD_LIBRARY_PATH} ${GEN_DATA_DIR}/${BASE}" # LD_LIBRARY_PATH=../libisoburn/.libs/:${LD_LIBRARY_PATH} ${GEN_DATA_DIR}/${BASE} # RET_SMPL="$?" # case ${RET_SMPL} in # 0) # printf "...ok\n" # ;; # *) # printf "exit code: ${RET_SMPL}\n" # cleanup # exit 8 # ;; # esac set -e done # clean cleanup exit 0