summaryrefslogtreecommitdiff
path: root/Makefile
blob: 8f7cd0ef813d40ae4b8b43c4da57fa57fb7f3622 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
SHELL := bash

PINNED_COMMITS := $(shell LIBYAML_DEBUG_PIN=$(LIBYAML_DEBUG_PIN) ./bin/pin)

ifeq ($(PINNED_COMMITS),)
    $(error ./bin/pin failed)
endif

LIBYAML_TEST_SUITE_CODE_COMMIT ?= $(word 2, $(PINNED_COMMITS))
LIBYAML_TEST_SUITE_DATA_COMMIT ?= $(word 3, $(PINNED_COMMITS))

default: help

help:
	@echo 'test  - Run the tests'
	@echo 'clean - Remove generated files'
	@echo 'help  - Show help'

.PHONY: test
test: data code
	prove -lv test

clean:
	rm -fr data test
	git worktree prune

data:
	git clone https://github.com/yaml/yaml-test-suite $@ --branch=$@
	(cd $@ && git reset --hard $(LIBYAML_TEST_SUITE_DATA_COMMIT))

code:
	-git branch --track run-test-suite-code origin/run-test-suite-code
	git worktree prune
	[[ -d test ]] || \
	    git worktree add test run-test-suite-code
	(cd test && git reset --hard $(LIBYAML_TEST_SUITE_CODE_COMMIT))