Skip to content

Commit a6b58f4

Browse files
committed
Add tap reporter to test targets
1 parent cf54cd8 commit a6b58f4

File tree

6 files changed

+711
-17
lines changed

6 files changed

+711
-17
lines changed

Makefile.am

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -81,32 +81,48 @@ nodist_EXTRA_sassc_bin_SOURCES = non-existent-file-to-force-CXX-linking.cxx
8181
nodist_EXTRA_libsass_la_SOURCES = non-existent-file-to-force-CXX-linking.cxx
8282
endif
8383

84-
TESTS = \
85-
$(SASS_SPEC_PATH)/spec/basic \
86-
$(SASS_SPEC_PATH)/spec/benchmarks \
87-
$(SASS_SPEC_PATH)/spec/bourbon \
88-
$(SASS_SPEC_PATH)/spec/libsass \
89-
$(SASS_SPEC_PATH)/spec/scss \
90-
$(SASS_SPEC_PATH)/spec/todo
91-
92-
LOG_COMPILER = $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
93-
AM_LOG_FLAGS = -c ./sass-tester
94-
9584
SASS_SASSC_PATH ?= sassc
9685
SASS_SPEC_PATH ?= sass-spec
9786
SASSC_BIN = $(SASS_SASSC_PATH)/bin/sassc
98-
RUBY_BIN = ruby
87+
88+
TESTS = $(SASS_SPEC_PATH)/spec/basic \
89+
$(SASS_SPEC_PATH)/spec/css \
90+
$(SASS_SPEC_PATH)/spec/extend-tests \
91+
$(SASS_SPEC_PATH)/spec/extends \
92+
$(SASS_SPEC_PATH)/spec/libsass \
93+
$(SASS_SPEC_PATH)/spec/libsass-closed-issues \
94+
$(SASS_SPEC_PATH)/spec/maps \
95+
$(SASS_SPEC_PATH)/spec/misc \
96+
$(SASS_SPEC_PATH)/spec/regressions \
97+
$(SASS_SPEC_PATH)/spec/scss \
98+
$(SASS_SPEC_PATH)/spec/scss-tests \
99+
$(SASS_SPEC_PATH)/spec/types
100+
101+
SASS_TEST_FLAGS =
102+
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) ./scripts/tap-driver
103+
AM_LOG_FLAGS = -c ./sassc_bin --ignore-todo $(LOG_FLAGS)
104+
if USE_TAP
105+
AM_LOG_FLAGS += -t
106+
SASS_TEST_FLAGS += -t | tapout
107+
# route everything throught the tap runner to produce tap output
108+
LOG_COMPILER = ./scripts/tap-runner $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
109+
else
110+
LOG_COMPILER = $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
111+
endif
99112

100113
$(SASSC_BIN): libsass.la
101114
cd $(SASS_SASSC_PATH) && $(MAKE)
102115

103116
test: $(SASSC_BIN)
104-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) -s $(LOG_FLAGS) $(SASS_SPEC_PATH)
117+
$(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --ignore-todo $(LOG_FLAGS) $(SASS_SPEC_PATH) $(SASS_TEST_FLAGS)
105118

106119
test_build: $(SASSC_BIN)
107-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) -s --ignore-todo $(LOG_FLAGS) $(SASS_SPEC_PATH)
120+
$(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --ignore-todo $(LOG_FLAGS) $(SASS_SPEC_PATH) $(SASS_TEST_FLAGS)
121+
122+
test_full: $(SASSC_BIN)
123+
$(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) $(LOG_FLAGS) $(SASS_SPEC_PATH) $(SASS_TEST_FLAGS)
108124

109125
test_issues: $(SASSC_BIN)
110-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) $(LOG_FLAGS) $(SASS_SPEC_PATH)/spec/issues
126+
$(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) $(LOG_FLAGS) $(SASS_SPEC_PATH)/spec/issues $(SASS_TEST_FLAGS)
111127

112128
endif

configure.ac

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ AC_INIT([libsass], [1.0], [support@moovweb.com])
66
AC_CONFIG_SRCDIR([ast.hpp])
77
AC_CONFIG_MACRO_DIR([m4])
88
AC_CONFIG_HEADERS([config.h])
9-
AM_INIT_AUTOMAKE([1.10 foreign])
10-
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
9+
AC_CONFIG_AUX_DIR([script])
10+
AM_INIT_AUTOMAKE([1.10 foreign parallel-tests])
11+
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
1112
LT_INIT
1213

1314
# Checks for programs.
@@ -32,7 +33,11 @@ AC_ARG_ENABLE(tests, AS_HELP_STRING([--enable-tests], [enable testing the build]
3233
if test "x$enable_tests" = "xyes"; then
3334
AC_PROG_CC
3435
AC_PROG_AWK
36+
# test need minitest gem
3537
AC_PATH_PROG(RUBY, [ruby])
38+
AC_PATH_PROG(TAPOUT, [tapout])
39+
AC_REQUIRE_AUX_FILE([tap-driver])
40+
AC_REQUIRE_AUX_FILE([tap-runner])
3641
AC_ARG_WITH(sassc-dir,
3742
AS_HELP_STRING([--with-sassc-dir=<dir>], [specify directory of sassc sources for testing (default: sassc)]),
3843
[sassc_dir="$withval"], [sassc_dir="sassc"])
@@ -64,9 +69,21 @@ the --with-sass-spec-dir=<dir> argument.
6469
;;
6570
esac
6671
AC_SUBST(SASS_SPEC_PATH)
72+
73+
# TODO: Remove this when automake requirements are 1.12+
74+
AC_MSG_CHECKING([whether we can use TAP mode])
75+
tmp=`$AWK '/TEST_LOG_DRIVER/' $srcdir/Makefile.in`
76+
if test "x$tmp" != "x"; then
77+
use_tap=yes
78+
else
79+
use_tap=no
80+
fi
81+
AC_MSG_RESULT([$use_tap])
82+
6783
fi
6884

6985
AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = "xyes")
86+
AM_CONDITIONAL(USE_TAP, test "x$use_tap" = "xyes")
7087

7188
AC_ARG_ENABLE([coverage],
7289
[AS_HELP_STRING([--enable-coverage],

script/ci-install-compiler

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
#!/bin/bash
22

33
gem install minitest
4+
gem install minitap

script/ci-install-deps

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,10 @@ if [ "x$COVERAGE" == "xyes" ]; then
1010
else
1111
echo "no dependencies to install"
1212
fi
13+
14+
if [ "x$AUTOTOOLS" == "xyes" ]; then
15+
sudo add-apt-repository -y ppa:rbose-debianizer/automake &> /dev/null
16+
sudo apt-get -qq update
17+
sudo apt-get -qq install automake
18+
AUTOTOOLS=yes
19+
fi

0 commit comments

Comments
 (0)