Skip to content

Commit 69a0dfa

Browse files
mgreterxzyfer
authored andcommitted
Fix automake build if sassc is missing
Improves and fixes `make check` target too
1 parent e5421e6 commit 69a0dfa

File tree

3 files changed

+30
-48
lines changed

3 files changed

+30
-48
lines changed

GNUmakefile.am

Lines changed: 21 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -25,63 +25,49 @@ else
2525
AM_CXXFLAGS += -std=c++0x
2626
endif
2727

28+
TEST_EXTENSIONS = .rb
29+
2830
if ENABLE_TESTS
2931

30-
noinst_PROGRAMS = tester
32+
SASS_SASSC_PATH ?= $(top_srcdir)/sassc
33+
SASS_SPEC_PATH ?= $(top_srcdir)/sass-spec
3134

35+
noinst_PROGRAMS = tester
3236
tester_LDADD = src/libsass.la
33-
tester_SOURCES = $(SASS_SASSC_PATH)/sassc.c
34-
tester_VERSION ?= `cd "$(SASS_SASSC_PATH)" && ./version.sh`
35-
tester_CFLAGS = $(AM_CFLAGS) -DSASSC_VERSION="\"$(tester_VERSION)\""
36-
tester_CXXFLAGS = $(AM_CXXFLAGS) -DSASSC_VERSION="\"$(tester_VERSION)\""
3737
tester_LDFLAGS = $(AM_LDFLAGS)
38+
nodist_tester_SOURCES = $(SASS_SASSC_PATH)/sassc.c
39+
SASS_SASSC_VERSION ?= `cd "$(SASS_SASSC_PATH)" && ./version.sh`
40+
tester_CFLAGS = $(AM_CFLAGS) -DSASSC_VERSION="\"$(SASS_SASSC_VERSION)\""
41+
tester_CXXFLAGS = $(AM_CXXFLAGS) -DSASSC_VERSION="\"$(SASS_SASSC_VERSION)\""
3842

3943
if ENABLE_COVERAGE
4044
nodist_EXTRA_tester_SOURCES = non-existent-file-to-force-CXX-linking.cxx
4145
endif
4246

43-
SASS_SASSC_PATH ?= $(top_srcdir)/sassc
44-
SASS_SPEC_PATH ?= $(top_srcdir)/sass-spec
45-
46-
TESTS = \
47-
$(SASS_SPEC_PATH)/spec/basic \
48-
$(SASS_SPEC_PATH)/spec/css \
49-
$(SASS_SPEC_PATH)/spec/extend-tests \
50-
$(SASS_SPEC_PATH)/spec/extends \
51-
$(SASS_SPEC_PATH)/spec/libsass \
52-
$(SASS_SPEC_PATH)/spec/libsass-closed-issues \
53-
$(SASS_SPEC_PATH)/spec/maps \
54-
$(SASS_SPEC_PATH)/spec/misc \
55-
$(SASS_SPEC_PATH)/spec/regressions \
56-
$(SASS_SPEC_PATH)/spec/scss \
57-
$(SASS_SPEC_PATH)/spec/scss-tests \
58-
$(SASS_SPEC_PATH)/spec/types
47+
TESTS = $(SASS_SPEC_PATH)/sass-spec.rb
48+
RB_LOG_COMPILER = ./script/tap-runner
49+
AM_RB_LOG_FLAGS = $(RUBY)
5950

6051
SASS_TEST_FLAGS = -V 3.5 --impl libsass
61-
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) ./script/tap-driver
62-
AM_LOG_FLAGS = -c ./tester $(LOG_FLAGS)
63-
if USE_TAP
64-
AM_LOG_FLAGS += -t
65-
SASS_TEST_FLAGS += -t | tapout
66-
LOG_COMPILER = ./script/tap-runner $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
67-
else
68-
LOG_COMPILER = $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
69-
endif
52+
SASS_TEST_FLAGS += -r $(SASS_SPEC_PATH)
53+
SASS_TEST_FLAGS += -c $(top_srcdir)/tester$(EXEEXT)
54+
AM_TESTS_ENVIRONMENT = TEST_FLAGS='$(SASS_TEST_FLAGS)'
7055

7156
SASS_TESTER = $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
72-
SASS_TESTER += -c $(top_srcdir)/tester$(EXEEXT)
7357

7458
test:
75-
$(SASS_TESTER) $(LOG_FLAGS) $(SASS_SPEC_PATH) $(SASS_TEST_FLAGS)
59+
$(SASS_TESTER) $(SASS_TEST_FLAGS)
7660

7761
test_build:
78-
$(SASS_TESTER) $(LOG_FLAGS) $(SASS_SPEC_PATH) $(SASS_TEST_FLAGS)
62+
$(SASS_TESTER) $(SASS_TEST_FLAGS)
7963

8064
test_full:
81-
$(SASS_TESTER) --run-todo $(LOG_FLAGS) $(SASS_SPEC_PATH) $(SASS_TEST_FLAGS)
65+
$(SASS_TESTER) --run-todo $(SASS_TEST_FLAGS)
8266

8367
test_probe:
84-
$(SASS_TESTER) --probe-todo $(LOG_FLAGS) $(SASS_SPEC_PATH) $(SASS_TEST_FLAGS)
68+
$(SASS_TESTER) --probe-todo $(SASS_TEST_FLAGS)
69+
70+
.PHONY: test test_build test_full test_probe
8571

8672
endif
8773

configure.ac

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ AC_CONFIG_MACRO_DIR([m4])
99
AC_CONFIG_HEADERS([src/config.h])
1010
AC_CONFIG_FILES([include/sass/version.h])
1111
AC_CONFIG_AUX_DIR([script])
12+
1213
# These are flags passed to automake
1314
# Though they look like gcc flags!
1415
AM_INIT_AUTOMAKE([foreign parallel-tests -Wall])
@@ -93,21 +94,16 @@ the --with-sass-spec-dir=<dir> argument.
9394
;;
9495
esac
9596
AC_SUBST(SASS_SPEC_PATH)
96-
97-
# TODO: Remove this when automake requirements are 1.12+
98-
AC_MSG_CHECKING([whether we can use TAP mode])
99-
tmp=`$AWK '/TEST_LOG_DRIVER/' $srcdir/GNUmakefile.in`
100-
if test "x$tmp" != "x"; then
101-
use_tap=yes
102-
else
103-
use_tap=no
104-
fi
105-
AC_MSG_RESULT([$use_tap])
106-
97+
else
98+
# we do not really need these paths for non test build
99+
# but automake may error if we do not define them here
100+
SASS_SPEC_PATH=sass-spec
101+
SASS_SASSC_PATH=sassc
102+
AC_SUBST(SASS_SPEC_PATH)
103+
AC_SUBST(SASS_SASSC_PATH)
107104
fi
108105

109106
AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = "xyes")
110-
AM_CONDITIONAL(USE_TAP, test "x$use_tap" = "xyes")
111107

112108
AC_ARG_ENABLE([coverage],
113109
[AS_HELP_STRING([--enable-coverage],

script/tap-runner

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
$@ | tapout tap
1+
$@ $TEST_FLAGS --tap --silent | tapout tap

0 commit comments

Comments
 (0)