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