diff options
| -rw-r--r-- | Makefile | 9 | ||||
| -rw-r--r-- | tools/validate-docx2.sh | 25 |
2 files changed, 34 insertions, 0 deletions
@@ -242,6 +242,15 @@ validate-docx-golden-tests: ## validate docx golden tests against schema sh ./tools/validate-docx.sh test/docx/golden/*.docx .PHONY: validate-docx-golden-tests +validate-docx-golden-tests2: ## validate docx golden tests using OOXMLValidator + which dotnet || ("dotnet is required" && exit 1) + which json_reformat || ("json_reformat is required" && exit 1) + test -d ./OOXML-Validator || \ + (git clone https://github.com/mikeebowen/OOXML-Validator.git \ + && cd OOXML-Validator && dotnet build --configuration=Release) + dotnet run --configuration=Release --no-build --no-restore --project OOXML-Validator/OOXMLValidatorCLI -- test/docx/golden -r | json_reformat +.PHONY: validate-docx-golden-tests2 + validate-epub: ## generate an epub and validate it with epubcheck which epubcheck || exit 1 tmp=$$(mktemp -d) && \ diff --git a/tools/validate-docx2.sh b/tools/validate-docx2.sh new file mode 100644 index 000000000..7b43c62a0 --- /dev/null +++ b/tools/validate-docx2.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +# based on validate-docx.sh, and adapted for OOXMLValidatorCLI +# Modified by edwintorok from https://github.com/devoidfury/docx-validator +# to look at more files than just document.xml. +# Further modified by jgm for portability. + +tmpdir=$(mktemp -d) +error_files="" +errors=0 +VALIDATOR=OOXML-Validator/bin/Release/*/OOXMLValidatorCLI + +for file in "$@"; do + file_errors=0 + echo "*** Checking $file" + dotnet $(VALIDATOR) "${file}" 2>&1 || file_errors=1 + if [ $file_errors -gt 0 ]; then + errors=$((file_errors + errors)) + error_files="$error_files\n$file" + fi +done +if [ $errors -gt 0 ]; then + echo "These files failed validation:$error_files" +fi +exit $errors |
