/libyaml.a
/run-dumper
/run-emitter
+/run-emitter-test-suite
/run-loader
/run-parser
+/run-parser-test-suite
/run-scanner
/src/Makefile
/stamp-h1
/tests/example-reformatter-alt
/tests/run-dumper
/tests/run-emitter
+/tests/run-emitter-test-suite
/tests/run-loader
/tests/run-parser
+/tests/run-parser-test-suite
/tests/run-scanner
/tests/run-test-suite/data
tests/run-test-suite/src/libyaml/
make -C tests check-TESTS
test-suite:
- (export LIBYAML_DIR=$$PWD; make -C tests/run-test-suite test)
+ make -C tests/run-test-suite test
test-all: test test-suite
example-reformatter-alt
run-dumper
run-emitter
+ run-emitter-test-suite
run-loader
run-parser
+ run-parser-test-suite
run-scanner
test-reader
test-version
check_PROGRAMS = test-version test-reader
noinst_PROGRAMS = run-scanner run-parser run-loader run-emitter run-dumper \
example-reformatter example-reformatter-alt \
- example-deconstructor example-deconstructor-alt
+ example-deconstructor example-deconstructor-alt \
+ run-parser-test-suite run-emitter-test-suite
.PHONY: test
GITHUB_ORG_URI := https://github.com/yaml
TEST_SUITE_URL := $(GITHUB_ORG_URI)/yaml-test-suite
-LIBYAML_DIR ?= $(PWD)/libyaml-parser-emitter/libyaml
default: help
@echo 'clean - Remove generated files'
@echo 'help - Show help'
-# Depends on parser and emitter but, building parser will also build emitter.
-# Building twice makes things fail. Note: Some environments like on OS X, the
-# shell resets the {DY,}LD_LIBRARY_PATH vars, so we work around it like so:
-test: data src/libyaml-parser
- (export MY_LD_LIBRARY_PATH=$(LIBYAML_DIR)/src/.libs; prove -lv test)
+test: data
+ prove -lv test
clean:
rm -fr data
data:
git clone $(TEST_SUITE_URL) $@ --branch=$@
-%/libyaml-parser %/libyaml-emitter: %
- (cd $<; make clean build)
- (cd $<; make clean build)
-
-libyaml-parser-emitter:
- git clone $(GITHUB_ORG_URI)/$@ $@
LibYAML Test Runner
===================
-Run libyaml-parser and libyaml-emitter against yaml-test-suite
+Run run-parser-test-suite and run-emitter-test-suite against yaml-test-suite
# Synopsis
```
make test
+# Run tests from yaml-test-suite
+make test-suite
```
# Overview
See:
-* https://github.com/yaml/libyaml
* https://github.com/yaml/yaml-test-suite
+
+# Usage
+
+Print parse events for a YAML file (or stdin):
+```
+../run-parser-test-suite file.yaml
+../run-parser-test-suite < file.yaml
+cat file.yaml | ../run-parser-test-suite
+```
+
+Print the YAML for a libyaml-parser events file (or stdin):
+```
+../run-emitter-test-suite file.events
+../run-emitter-test-suite < file.events
+cat file.events | ../libyaml-run-test-suite
+```
+
+++ /dev/null
-LIBYAML_DIR ?= libyaml
-LIBYAML_REPO ?= https://github.com/yaml/libyaml
-LIBYAML_BRANCH ?= master
-define HELP
-This Makefile supports the following targets:
-
- build - Build ./libyaml-parser and ./libyaml-emitter
- test - Run tests
-
-endef
-export HELP
-
-help:
- @echo "$$HELP"
-
-build: touch libyaml-parser libyaml-emitter
-
-touch:
-ifneq ($(LIBYAML_DIR),libyaml)
- touch *.c
-endif
-
-libyaml-%: $(LIBYAML_DIR)/tests/.libs/run-%
- cp $< $@
-
-$(LIBYAML_DIR)/tests/.libs/%: $(LIBYAML_DIR)/tests/%.c $(LIBYAML_DIR)/Makefile
- make -C $(LIBYAML_DIR)
-ifneq ($(LIBYAML_DIR),libyaml)
- (cd $(LIBYAML_DIR) && git checkout tests/run-parser.c tests/run-emitter.c)
-endif
-
-$(LIBYAML_DIR)/tests/run-%: libyaml-% $(LIBYAML_DIR)
- cp $< $@
-.SECONDARY: \
- $(LIBYAML_DIR)/tests/run-parser.c \
- $(LIBYAML_DIR)/tests/run-emitter.c \
- $(LIBYAML_DIR)/tests/.libs/run-parser \
- $(LIBYAML_DIR)/tests/.libs/run-emitter
-
-$(LIBYAML_DIR)/Makefile: $(LIBYAML_DIR)
- ( cd $< && ./bootstrap && ./configure )
- touch $@
-
-$(LIBYAML_DIR):
- git clone $(LIBYAML_REPO) $@
- sleep 1
- touch *.c
-
-.PHONY: test
-test: build
- prove -lv test/
-
-clean:
- rm -fr libyaml libyaml-parser libyaml-emitter
+++ /dev/null
-libyaml-parser-emitter
-======================
-
-Parser and Emitter CLI tools for libyaml
-
-# Synopsis
-
-```
-make build
-make test
-```
-
-# Usage
-
-Print parse events for a YAML file (or stdin):
-```
-./libyaml-parser file.yaml
-./libyaml-parser < file.yaml
-cat file.yaml | ./libyaml-parser
-```
-
-Print the YAML for a libyaml-parser events file (or stdin):
-```
-./libyaml-emitter file.events
-./libyaml-emitter < file.events
-cat file.events | ./libyaml-emitter
-```
-
-# Build
-
-```
-export LIBYAML_DIR=/path/to/libyaml # Optional
-make build
-```
ids=($(cut -d: -f1 < test/libyaml-emitter.list))
fi
-# Some environments like on OS X, the shell resets the following vars, so we
-# work around it like so:
-export LD_LIBRARY_PATH="${MY_LD_LIBRARY_PATH:?}"
-export DYLD_LIBRARY_PATH="${MY_LD_LIBRARY_PATH:?}"
-
count=0
for id in "${ids[@]}"; do
dir="data/$id"
[[ -e "$dir/in.yaml" ]] || continue
want="$dir/out.yaml"
[[ -e $want ]] || want="$dir/in.yaml"
- ./src/libyaml-emitter "$dir/test.event" > /tmp/test.out || {
+ ../../tests/run-emitter-test-suite "$dir/test.event" > /tmp/test.out || {
(
cat "$dir/test.event"
cat "$want"
dir="data/$id"
label="$id: $(< $dir/===)"
[[ -e "$dir/in.yaml" ]] || continue
- ./src/libyaml-parser "$dir/in.yaml" > /tmp/test.out || {
+ ../../tests/run-parser-test-suite "$dir/in.yaml" > /tmp/test.out || {
(
cat "$dir/in.yaml"
cat "$dir/test.event"