1#!/bin/bash 2 3PLUGIN=$1 4RUBY_BIN=ruby 5SASS_SPEC_PATH=sass-spec 6SASSC_BIN=sassc/bin/sassc 7SASS_SPEC_SPEC_DIR=plugins/libsass-${PLUGIN}/test 8 9if [ -e ./tester ] ; then 10 SASSC_BIN=./tester 11fi 12 13if [ -d ./build/lib ] ; then 14 cp -a build/lib lib 15fi 16 17if [ "x$1" == "x" ] ; then 18 echo "No plugin name given" 19 exit 1 20fi 21 22if [ "x$COVERAGE" == "0" ] ; then 23 unset COVERAGE 24fi 25 26export EXTRA_CFLAGS="" 27export EXTRA_CXXFLAGS="" 28if [ "$TRAVIS_OS_NAME" == "osx" ]; then 29 # osx doesn't seem to know gcov lib? 30 export EXTRA_LDFLAGS="--coverage" 31else 32 export EXTRA_LDFLAGS="-lgcov --coverage" 33fi 34 35mkdir -p plugins 36if [ ! -d plugins/libsass-${PLUGIN} ] ; then 37 if [ "$PLUGIN" == "tests" ]; then 38 git clone https://github.com/mgreter/libsass-${PLUGIN} plugins/libsass-${PLUGIN} --branch master 39 else 40 git clone https://github.com/mgreter/libsass-${PLUGIN} plugins/libsass-${PLUGIN} 41 fi 42fi 43if [ ! -d plugins/libsass-${PLUGIN}/build ] ; then 44 mkdir plugins/libsass-${PLUGIN}/build 45fi 46RETVAL=$?; if [ "$RETVAL" != "0" ]; then exit $RETVAL; fi 47 48cd plugins/libsass-${PLUGIN}/build 49cmake -G "Unix Makefiles" -D LIBSASS_DIR="../../.." .. 50RETVAL=$?; if [ "$RETVAL" != "0" ]; then exit $RETVAL; fi 51make VERBOSE=1 -j2 52RETVAL=$?; if [ "$RETVAL" != "0" ]; then exit $RETVAL; fi 53cd ../../.. 54 55# glob only works on paths relative to imports 56if [ "x$PLUGIN" == "xglob" ]; then 57 ${SASSC_BIN} --precision 5 --plugin-path plugins/libsass-${PLUGIN}/build ${SASS_SPEC_SPEC_DIR}/basic/input.scss > ${SASS_SPEC_SPEC_DIR}/basic/result.css 58 ${SASSC_BIN} --precision 5 --plugin-path plugins/libsass-${PLUGIN}/build ${SASS_SPEC_SPEC_DIR}/basic/input.scss --sourcemap > /dev/null 59else 60 cat ${SASS_SPEC_SPEC_DIR}/basic/input.scss | ${SASSC_BIN} --precision 5 --plugin-path plugins/libsass-${PLUGIN}/build -I ${SASS_SPEC_SPEC_DIR}/basic > ${SASS_SPEC_SPEC_DIR}/basic/result.css 61 cat ${SASS_SPEC_SPEC_DIR}/basic/input.scss | ${SASSC_BIN} --precision 5 --plugin-path plugins/libsass-${PLUGIN}/build -I ${SASS_SPEC_SPEC_DIR}/basic --sourcemap > /dev/null 62fi 63RETVAL=$?; if [ "$RETVAL" != "0" ]; then exit $RETVAL; fi 64 65diff ${SASS_SPEC_SPEC_DIR}/basic/expected_output.css ${SASS_SPEC_SPEC_DIR}/basic/result.css 66RETVAL=$?; if [ "$RETVAL" != "0" ]; then exit $RETVAL; fi 67