rj_schema 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Rakefile +18 -0
- data/ext/rj_schema/extconf.rb +7 -0
- data/ext/rj_schema/rapidjson/CHANGELOG.md +158 -0
- data/ext/rj_schema/rapidjson/CMakeLists.txt +221 -0
- data/ext/rj_schema/rapidjson/CMakeModules/FindGTestSrc.cmake +30 -0
- data/ext/rj_schema/rapidjson/RapidJSON.pc.in +7 -0
- data/ext/rj_schema/rapidjson/RapidJSONConfig.cmake.in +15 -0
- data/ext/rj_schema/rapidjson/RapidJSONConfigVersion.cmake.in +10 -0
- data/ext/rj_schema/rapidjson/appveyor.yml +41 -0
- data/ext/rj_schema/rapidjson/bin/data/glossary.json +22 -0
- data/ext/rj_schema/rapidjson/bin/data/menu.json +27 -0
- data/ext/rj_schema/rapidjson/bin/data/readme.txt +1 -0
- data/ext/rj_schema/rapidjson/bin/data/sample.json +3315 -0
- data/ext/rj_schema/rapidjson/bin/data/webapp.json +88 -0
- data/ext/rj_schema/rapidjson/bin/data/widget.json +26 -0
- data/ext/rj_schema/rapidjson/bin/draft-04/schema +150 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf16be.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf16bebom.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf16le.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf16lebom.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf32be.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf32bebom.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf32le.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf32lebom.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf8.json +7 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf8bom.json +7 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail1.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail10.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail11.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail12.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail13.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail14.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail15.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail16.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail17.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail18.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail19.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail2.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail20.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail21.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail22.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail23.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail24.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail25.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail26.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail27.json +2 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail28.json +2 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail29.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail3.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail30.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail31.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail32.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail33.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail4.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail5.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail6.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail7.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail8.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail9.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/pass1.json +58 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/pass2.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/pass3.json +6 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/readme.txt +3 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/LICENSE +19 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/README.md +148 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/bin/jsonschema_suite +283 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json +3 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/integer.json +3 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/subSchemas.json +8 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json +82 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json +88 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/default.json +49 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/dependencies.json +108 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/disallow.json +80 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json +60 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/enum.json +71 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/extends.json +94 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/items.json +46 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maxItems.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maxLength.json +33 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maximum.json +42 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minItems.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minLength.json +33 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minimum.json +42 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json +107 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/format.json +222 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json +18 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json +15 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/pattern.json +34 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json +110 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/properties.json +92 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/ref.json +159 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/refRemote.json +74 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/required.json +53 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/type.json +474 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json +79 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json +82 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json +88 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/allOf.json +112 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/anyOf.json +68 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/default.json +49 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/definitions.json +32 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/dependencies.json +113 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/enum.json +72 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/items.json +46 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxItems.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxLength.json +33 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maximum.json +42 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minItems.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minLength.json +33 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minProperties.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minimum.json +42 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json +60 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/not.json +96 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/oneOf.json +68 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json +107 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/format.json +148 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json +15 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/pattern.json +34 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json +110 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/properties.json +92 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/ref.json +159 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/refRemote.json +74 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/required.json +39 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/type.json +330 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json +79 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tox.ini +8 -0
- data/ext/rj_schema/rapidjson/bin/types/booleans.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/floats.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/guids.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/integers.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/mixed.json +592 -0
- data/ext/rj_schema/rapidjson/bin/types/nulls.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/paragraphs.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/readme.txt +1 -0
- data/ext/rj_schema/rapidjson/contrib/natvis/LICENSE +45 -0
- data/ext/rj_schema/rapidjson/contrib/natvis/README.md +7 -0
- data/ext/rj_schema/rapidjson/contrib/natvis/rapidjson.natvis +38 -0
- data/ext/rj_schema/rapidjson/doc/CMakeLists.txt +27 -0
- data/ext/rj_schema/rapidjson/doc/Doxyfile.in +2369 -0
- data/ext/rj_schema/rapidjson/doc/Doxyfile.zh-cn.in +2369 -0
- data/ext/rj_schema/rapidjson/doc/diagram/architecture.dot +50 -0
- data/ext/rj_schema/rapidjson/doc/diagram/architecture.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/insituparsing.dot +65 -0
- data/ext/rj_schema/rapidjson/doc/diagram/insituparsing.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/iterative-parser-states-diagram.dot +62 -0
- data/ext/rj_schema/rapidjson/doc/diagram/iterative-parser-states-diagram.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/makefile +8 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move1.dot +47 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move1.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move2.dot +62 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move2.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move3.dot +60 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move3.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/normalparsing.dot +56 -0
- data/ext/rj_schema/rapidjson/doc/diagram/normalparsing.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/simpledom.dot +54 -0
- data/ext/rj_schema/rapidjson/doc/diagram/simpledom.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/tutorial.dot +58 -0
- data/ext/rj_schema/rapidjson/doc/diagram/tutorial.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/utilityclass.dot +73 -0
- data/ext/rj_schema/rapidjson/doc/diagram/utilityclass.png +0 -0
- data/ext/rj_schema/rapidjson/doc/dom.md +280 -0
- data/ext/rj_schema/rapidjson/doc/dom.zh-cn.md +284 -0
- data/ext/rj_schema/rapidjson/doc/encoding.md +146 -0
- data/ext/rj_schema/rapidjson/doc/encoding.zh-cn.md +152 -0
- data/ext/rj_schema/rapidjson/doc/faq.md +289 -0
- data/ext/rj_schema/rapidjson/doc/faq.zh-cn.md +290 -0
- data/ext/rj_schema/rapidjson/doc/features.md +104 -0
- data/ext/rj_schema/rapidjson/doc/features.zh-cn.md +103 -0
- data/ext/rj_schema/rapidjson/doc/internals.md +368 -0
- data/ext/rj_schema/rapidjson/doc/internals.zh-cn.md +363 -0
- data/ext/rj_schema/rapidjson/doc/logo/rapidjson.png +0 -0
- data/ext/rj_schema/rapidjson/doc/logo/rapidjson.svg +119 -0
- data/ext/rj_schema/rapidjson/doc/misc/DoxygenLayout.xml +194 -0
- data/ext/rj_schema/rapidjson/doc/misc/doxygenextra.css +274 -0
- data/ext/rj_schema/rapidjson/doc/misc/footer.html +11 -0
- data/ext/rj_schema/rapidjson/doc/misc/header.html +24 -0
- data/ext/rj_schema/rapidjson/doc/npm.md +31 -0
- data/ext/rj_schema/rapidjson/doc/performance.md +26 -0
- data/ext/rj_schema/rapidjson/doc/performance.zh-cn.md +26 -0
- data/ext/rj_schema/rapidjson/doc/pointer.md +234 -0
- data/ext/rj_schema/rapidjson/doc/pointer.zh-cn.md +234 -0
- data/ext/rj_schema/rapidjson/doc/sax.md +509 -0
- data/ext/rj_schema/rapidjson/doc/sax.zh-cn.md +487 -0
- data/ext/rj_schema/rapidjson/doc/schema.md +505 -0
- data/ext/rj_schema/rapidjson/doc/schema.zh-cn.md +237 -0
- data/ext/rj_schema/rapidjson/doc/stream.md +426 -0
- data/ext/rj_schema/rapidjson/doc/stream.zh-cn.md +426 -0
- data/ext/rj_schema/rapidjson/doc/tutorial.md +536 -0
- data/ext/rj_schema/rapidjson/doc/tutorial.zh-cn.md +534 -0
- data/ext/rj_schema/rapidjson/docker/debian/Dockerfile +8 -0
- data/ext/rj_schema/rapidjson/example/CMakeLists.txt +45 -0
- data/ext/rj_schema/rapidjson/example/archiver/archiver.cpp +292 -0
- data/ext/rj_schema/rapidjson/example/archiver/archiver.h +145 -0
- data/ext/rj_schema/rapidjson/example/archiver/archivertest.cpp +287 -0
- data/ext/rj_schema/rapidjson/example/capitalize/capitalize.cpp +67 -0
- data/ext/rj_schema/rapidjson/example/condense/condense.cpp +32 -0
- data/ext/rj_schema/rapidjson/example/filterkey/filterkey.cpp +135 -0
- data/ext/rj_schema/rapidjson/example/filterkeydom/filterkeydom.cpp +170 -0
- data/ext/rj_schema/rapidjson/example/jsonx/jsonx.cpp +207 -0
- data/ext/rj_schema/rapidjson/example/lookaheadparser/lookaheadparser.cpp +350 -0
- data/ext/rj_schema/rapidjson/example/messagereader/messagereader.cpp +105 -0
- data/ext/rj_schema/rapidjson/example/parsebyparts/parsebyparts.cpp +176 -0
- data/ext/rj_schema/rapidjson/example/pretty/pretty.cpp +30 -0
- data/ext/rj_schema/rapidjson/example/prettyauto/prettyauto.cpp +56 -0
- data/ext/rj_schema/rapidjson/example/schemavalidator/schemavalidator.cpp +78 -0
- data/ext/rj_schema/rapidjson/example/serialize/serialize.cpp +173 -0
- data/ext/rj_schema/rapidjson/example/simpledom/simpledom.cpp +29 -0
- data/ext/rj_schema/rapidjson/example/simplepullreader/simplepullreader.cpp +53 -0
- data/ext/rj_schema/rapidjson/example/simplereader/simplereader.cpp +42 -0
- data/ext/rj_schema/rapidjson/example/simplewriter/simplewriter.cpp +36 -0
- data/ext/rj_schema/rapidjson/example/tutorial/tutorial.cpp +151 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/allocators.h +271 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/cursorstreamwrapper.h +78 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/document.h +2630 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/encodedstream.h +299 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/encodings.h +716 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/error/en.h +74 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/error/error.h +161 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/filereadstream.h +99 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/filewritestream.h +104 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/fwd.h +151 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/biginteger.h +290 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/diyfp.h +258 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/dtoa.h +245 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/ieee754.h +78 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/itoa.h +304 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/meta.h +181 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/pow10.h +55 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/regex.h +734 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/stack.h +231 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/strfunc.h +69 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/strtod.h +269 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/swap.h +46 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/istreamwrapper.h +115 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/memorybuffer.h +70 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/memorystream.h +71 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/msinttypes/inttypes.h +316 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/msinttypes/stdint.h +300 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/ostreamwrapper.h +81 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/pointer.h +1363 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/prettywriter.h +277 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/rapidjson.h +628 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/reader.h +2222 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/schema.h +2479 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/stream.h +223 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/stringbuffer.h +121 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/writer.h +716 -0
- data/ext/rj_schema/rapidjson/include_dirs.js +2 -0
- data/ext/rj_schema/rapidjson/library.json +15 -0
- data/ext/rj_schema/rapidjson/license.txt +57 -0
- data/ext/rj_schema/rapidjson/package.json +24 -0
- data/ext/rj_schema/rapidjson/rapidjson.autopkg +77 -0
- data/ext/rj_schema/rapidjson/readme.md +160 -0
- data/ext/rj_schema/rapidjson/readme.zh-cn.md +152 -0
- data/ext/rj_schema/rapidjson/test/CMakeLists.txt +20 -0
- data/ext/rj_schema/rapidjson/test/perftest/CMakeLists.txt +28 -0
- data/ext/rj_schema/rapidjson/test/perftest/misctest.cpp +974 -0
- data/ext/rj_schema/rapidjson/test/perftest/perftest.cpp +24 -0
- data/ext/rj_schema/rapidjson/test/perftest/perftest.h +185 -0
- data/ext/rj_schema/rapidjson/test/perftest/platformtest.cpp +166 -0
- data/ext/rj_schema/rapidjson/test/perftest/rapidjsontest.cpp +472 -0
- data/ext/rj_schema/rapidjson/test/perftest/schematest.cpp +216 -0
- data/ext/rj_schema/rapidjson/test/unittest/CMakeLists.txt +92 -0
- data/ext/rj_schema/rapidjson/test/unittest/allocatorstest.cpp +102 -0
- data/ext/rj_schema/rapidjson/test/unittest/bigintegertest.cpp +133 -0
- data/ext/rj_schema/rapidjson/test/unittest/cursorstreamwrappertest.cpp +115 -0
- data/ext/rj_schema/rapidjson/test/unittest/documenttest.cpp +672 -0
- data/ext/rj_schema/rapidjson/test/unittest/dtoatest.cpp +98 -0
- data/ext/rj_schema/rapidjson/test/unittest/encodedstreamtest.cpp +313 -0
- data/ext/rj_schema/rapidjson/test/unittest/encodingstest.cpp +451 -0
- data/ext/rj_schema/rapidjson/test/unittest/filestreamtest.cpp +112 -0
- data/ext/rj_schema/rapidjson/test/unittest/fwdtest.cpp +230 -0
- data/ext/rj_schema/rapidjson/test/unittest/istreamwrappertest.cpp +181 -0
- data/ext/rj_schema/rapidjson/test/unittest/itoatest.cpp +160 -0
- data/ext/rj_schema/rapidjson/test/unittest/jsoncheckertest.cpp +143 -0
- data/ext/rj_schema/rapidjson/test/unittest/namespacetest.cpp +70 -0
- data/ext/rj_schema/rapidjson/test/unittest/ostreamwrappertest.cpp +92 -0
- data/ext/rj_schema/rapidjson/test/unittest/pointertest.cpp +1529 -0
- data/ext/rj_schema/rapidjson/test/unittest/prettywritertest.cpp +344 -0
- data/ext/rj_schema/rapidjson/test/unittest/readertest.cpp +1895 -0
- data/ext/rj_schema/rapidjson/test/unittest/regextest.cpp +638 -0
- data/ext/rj_schema/rapidjson/test/unittest/schematest.cpp +2009 -0
- data/ext/rj_schema/rapidjson/test/unittest/simdtest.cpp +219 -0
- data/ext/rj_schema/rapidjson/test/unittest/strfunctest.cpp +30 -0
- data/ext/rj_schema/rapidjson/test/unittest/stringbuffertest.cpp +192 -0
- data/ext/rj_schema/rapidjson/test/unittest/strtodtest.cpp +132 -0
- data/ext/rj_schema/rapidjson/test/unittest/unittest.cpp +51 -0
- data/ext/rj_schema/rapidjson/test/unittest/unittest.h +140 -0
- data/ext/rj_schema/rapidjson/test/unittest/valuetest.cpp +1829 -0
- data/ext/rj_schema/rapidjson/test/unittest/writertest.cpp +598 -0
- data/ext/rj_schema/rapidjson/test/valgrind.supp +17 -0
- data/ext/rj_schema/rapidjson/travis-doxygen.sh +121 -0
- data/ext/rj_schema/rj_schema.cpp +136 -0
- data/lib/rj_schema.rb +7 -0
- metadata +371 -0
@@ -0,0 +1 @@
|
|
1
|
+
[[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]]
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Copyright (c) 2012 Julian Berman
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
5
|
+
in the Software without restriction, including without limitation the rights
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
8
|
+
furnished to do so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
11
|
+
all copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
THE SOFTWARE.
|
@@ -0,0 +1,148 @@
|
|
1
|
+
JSON Schema Test Suite [![Build Status](https://travis-ci.org/json-schema/JSON-Schema-Test-Suite.png?branch=develop)](https://travis-ci.org/json-schema/JSON-Schema-Test-Suite)
|
2
|
+
======================
|
3
|
+
|
4
|
+
This repository contains a set of JSON objects that implementors of JSON Schema
|
5
|
+
validation libraries can use to test their validators.
|
6
|
+
|
7
|
+
It is meant to be language agnostic and should require only a JSON parser.
|
8
|
+
|
9
|
+
The conversion of the JSON objects into tests within your test framework of
|
10
|
+
choice is still the job of the validator implementor.
|
11
|
+
|
12
|
+
Structure of a Test
|
13
|
+
-------------------
|
14
|
+
|
15
|
+
If you're going to use this suite, you need to know how tests are laid out. The
|
16
|
+
tests are contained in the `tests` directory at the root of this repository.
|
17
|
+
|
18
|
+
Inside that directory is a subdirectory for each draft or version of the
|
19
|
+
schema. We'll use `draft3` as an example.
|
20
|
+
|
21
|
+
If you look inside the draft directory, there are a number of `.json` files,
|
22
|
+
which logically group a set of test cases together. Often the grouping is by
|
23
|
+
property under test, but not always, especially within optional test files
|
24
|
+
(discussed below).
|
25
|
+
|
26
|
+
Inside each `.json` file is a single array containing objects. It's easiest to
|
27
|
+
illustrate the structure of these with an example:
|
28
|
+
|
29
|
+
```json
|
30
|
+
{
|
31
|
+
"description": "the description of the test case",
|
32
|
+
"schema": {"the schema that should" : "be validated against"},
|
33
|
+
"tests": [
|
34
|
+
{
|
35
|
+
"description": "a specific test of a valid instance",
|
36
|
+
"data": "the instance",
|
37
|
+
"valid": true
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"description": "another specific test this time, invalid",
|
41
|
+
"data": 15,
|
42
|
+
"valid": false
|
43
|
+
}
|
44
|
+
]
|
45
|
+
}
|
46
|
+
```
|
47
|
+
|
48
|
+
So a description, a schema, and some tests, where tests is an array containing
|
49
|
+
one or more objects with descriptions, data, and a boolean indicating whether
|
50
|
+
they should be valid or invalid.
|
51
|
+
|
52
|
+
Coverage
|
53
|
+
--------
|
54
|
+
|
55
|
+
Draft 3 and 4 should have full coverage. If you see anything missing or think
|
56
|
+
there is a useful test missing, please send a pull request or open an issue.
|
57
|
+
|
58
|
+
Who Uses the Test Suite
|
59
|
+
-----------------------
|
60
|
+
|
61
|
+
This suite is being used by:
|
62
|
+
|
63
|
+
### Coffeescript ###
|
64
|
+
|
65
|
+
* [jsck](https://github.com/pandastrike/jsck)
|
66
|
+
|
67
|
+
### Dart ###
|
68
|
+
|
69
|
+
* [json_schema](https://github.com/patefacio/json_schema)
|
70
|
+
|
71
|
+
### Erlang ###
|
72
|
+
|
73
|
+
* [jesse](https://github.com/klarna/jesse)
|
74
|
+
|
75
|
+
### Go ###
|
76
|
+
|
77
|
+
* [gojsonschema](https://github.com/sigu-399/gojsonschema)
|
78
|
+
* [validate-json](https://github.com/cesanta/validate-json)
|
79
|
+
|
80
|
+
### Haskell ###
|
81
|
+
|
82
|
+
* [aeson-schema](https://github.com/timjb/aeson-schema)
|
83
|
+
* [hjsonschema](https://github.com/seagreen/hjsonschema)
|
84
|
+
|
85
|
+
### Java ###
|
86
|
+
|
87
|
+
* [json-schema-validator](https://github.com/fge/json-schema-validator)
|
88
|
+
|
89
|
+
### JavaScript ###
|
90
|
+
|
91
|
+
* [json-schema-benchmark](https://github.com/Muscula/json-schema-benchmark)
|
92
|
+
* [direct-schema](https://github.com/IreneKnapp/direct-schema)
|
93
|
+
* [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid)
|
94
|
+
* [jassi](https://github.com/iclanzan/jassi)
|
95
|
+
* [JaySchema](https://github.com/natesilva/jayschema)
|
96
|
+
* [json-schema-valid](https://github.com/ericgj/json-schema-valid)
|
97
|
+
* [Jsonary](https://github.com/jsonary-js/jsonary)
|
98
|
+
* [jsonschema](https://github.com/tdegrunt/jsonschema)
|
99
|
+
* [request-validator](https://github.com/bugventure/request-validator)
|
100
|
+
* [skeemas](https://github.com/Prestaul/skeemas)
|
101
|
+
* [tv4](https://github.com/geraintluff/tv4)
|
102
|
+
* [z-schema](https://github.com/zaggino/z-schema)
|
103
|
+
* [jsen](https://github.com/bugventure/jsen)
|
104
|
+
* [ajv](https://github.com/epoberezkin/ajv)
|
105
|
+
|
106
|
+
### Node.js ###
|
107
|
+
|
108
|
+
The JSON Schema Test Suite is also available as an
|
109
|
+
[npm](https://www.npmjs.com/package/json-schema-test-suite) package.
|
110
|
+
Node-specific support is maintained on the [node branch](https://github.com/json-schema/JSON-Schema-Test-Suite/tree/node).
|
111
|
+
See [NODE-README.md](https://github.com/json-schema/JSON-Schema-Test-Suite/blob/node/NODE-README.md)
|
112
|
+
for more information.
|
113
|
+
|
114
|
+
### .NET ###
|
115
|
+
|
116
|
+
* [Newtonsoft.Json.Schema](https://github.com/JamesNK/Newtonsoft.Json.Schema)
|
117
|
+
|
118
|
+
### PHP ###
|
119
|
+
|
120
|
+
* [json-schema](https://github.com/justinrainbow/json-schema)
|
121
|
+
|
122
|
+
### Python ###
|
123
|
+
|
124
|
+
* [jsonschema](https://github.com/Julian/jsonschema)
|
125
|
+
|
126
|
+
### Ruby ###
|
127
|
+
|
128
|
+
* [json-schema](https://github.com/hoxworth/json-schema)
|
129
|
+
|
130
|
+
### Rust ###
|
131
|
+
|
132
|
+
* [valico](https://github.com/rustless/valico)
|
133
|
+
|
134
|
+
### Swift ###
|
135
|
+
|
136
|
+
* [JSONSchema](https://github.com/kylef/JSONSchema.swift)
|
137
|
+
|
138
|
+
If you use it as well, please fork and send a pull request adding yourself to
|
139
|
+
the list :).
|
140
|
+
|
141
|
+
Contributing
|
142
|
+
------------
|
143
|
+
|
144
|
+
If you see something missing or incorrect, a pull request is most welcome!
|
145
|
+
|
146
|
+
There are some sanity checks in place for testing the test suite. You can run
|
147
|
+
them with `bin/jsonschema_suite check` or `tox`. They will be run automatically by
|
148
|
+
[Travis CI](https://travis-ci.org/) as well.
|
@@ -0,0 +1,283 @@
|
|
1
|
+
#! /usr/bin/env python
|
2
|
+
from __future__ import print_function
|
3
|
+
import sys
|
4
|
+
import textwrap
|
5
|
+
|
6
|
+
try:
|
7
|
+
import argparse
|
8
|
+
except ImportError:
|
9
|
+
print(textwrap.dedent("""
|
10
|
+
The argparse library could not be imported. jsonschema_suite requires
|
11
|
+
either Python 2.7 or for you to install argparse. You can do so by
|
12
|
+
running `pip install argparse`, `easy_install argparse` or by
|
13
|
+
downloading argparse and running `python2.6 setup.py install`.
|
14
|
+
|
15
|
+
See https://pypi.python.org/pypi/argparse for details.
|
16
|
+
""".strip("\n")))
|
17
|
+
sys.exit(1)
|
18
|
+
|
19
|
+
import errno
|
20
|
+
import fnmatch
|
21
|
+
import json
|
22
|
+
import os
|
23
|
+
import random
|
24
|
+
import shutil
|
25
|
+
import unittest
|
26
|
+
import warnings
|
27
|
+
|
28
|
+
if getattr(unittest, "skipIf", None) is None:
|
29
|
+
unittest.skipIf = lambda cond, msg : lambda fn : fn
|
30
|
+
|
31
|
+
try:
|
32
|
+
import jsonschema
|
33
|
+
except ImportError:
|
34
|
+
jsonschema = None
|
35
|
+
else:
|
36
|
+
validators = getattr(
|
37
|
+
jsonschema.validators, "validators", jsonschema.validators
|
38
|
+
)
|
39
|
+
|
40
|
+
|
41
|
+
ROOT_DIR = os.path.join(
|
42
|
+
os.path.dirname(__file__), os.pardir).rstrip("__pycache__")
|
43
|
+
SUITE_ROOT_DIR = os.path.join(ROOT_DIR, "tests")
|
44
|
+
|
45
|
+
REMOTES = {
|
46
|
+
"integer.json": {"type": "integer"},
|
47
|
+
"subSchemas.json": {
|
48
|
+
"integer": {"type": "integer"},
|
49
|
+
"refToInteger": {"$ref": "#/integer"},
|
50
|
+
},
|
51
|
+
"folder/folderInteger.json": {"type": "integer"}
|
52
|
+
}
|
53
|
+
REMOTES_DIR = os.path.join(ROOT_DIR, "remotes")
|
54
|
+
|
55
|
+
TESTSUITE_SCHEMA = {
|
56
|
+
"$schema": "http://json-schema.org/draft-03/schema#",
|
57
|
+
"type": "array",
|
58
|
+
"items": {
|
59
|
+
"type": "object",
|
60
|
+
"properties": {
|
61
|
+
"description": {"type": "string", "required": True},
|
62
|
+
"schema": {"required": True},
|
63
|
+
"tests": {
|
64
|
+
"type": "array",
|
65
|
+
"items": {
|
66
|
+
"type": "object",
|
67
|
+
"properties": {
|
68
|
+
"description": {"type": "string", "required": True},
|
69
|
+
"data": {"required": True},
|
70
|
+
"valid": {"type": "boolean", "required": True}
|
71
|
+
},
|
72
|
+
"additionalProperties": False
|
73
|
+
},
|
74
|
+
"minItems": 1
|
75
|
+
}
|
76
|
+
},
|
77
|
+
"additionalProperties": False,
|
78
|
+
"minItems": 1
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
|
83
|
+
def files(paths):
|
84
|
+
for path in paths:
|
85
|
+
with open(path) as test_file:
|
86
|
+
yield json.load(test_file)
|
87
|
+
|
88
|
+
|
89
|
+
def groups(paths):
|
90
|
+
for test_file in files(paths):
|
91
|
+
for group in test_file:
|
92
|
+
yield group
|
93
|
+
|
94
|
+
|
95
|
+
def cases(paths):
|
96
|
+
for test_group in groups(paths):
|
97
|
+
for test in test_group["tests"]:
|
98
|
+
test["schema"] = test_group["schema"]
|
99
|
+
yield test
|
100
|
+
|
101
|
+
|
102
|
+
def collect(root_dir):
|
103
|
+
for root, dirs, files in os.walk(root_dir):
|
104
|
+
for filename in fnmatch.filter(files, "*.json"):
|
105
|
+
yield os.path.join(root, filename)
|
106
|
+
|
107
|
+
|
108
|
+
class SanityTests(unittest.TestCase):
|
109
|
+
@classmethod
|
110
|
+
def setUpClass(cls):
|
111
|
+
print("Looking for tests in %s" % SUITE_ROOT_DIR)
|
112
|
+
cls.test_files = list(collect(SUITE_ROOT_DIR))
|
113
|
+
print("Found %s test files" % len(cls.test_files))
|
114
|
+
assert cls.test_files, "Didn't find the test files!"
|
115
|
+
|
116
|
+
def test_all_files_are_valid_json(self):
|
117
|
+
for path in self.test_files:
|
118
|
+
with open(path) as test_file:
|
119
|
+
try:
|
120
|
+
json.load(test_file)
|
121
|
+
except ValueError as error:
|
122
|
+
self.fail("%s contains invalid JSON (%s)" % (path, error))
|
123
|
+
|
124
|
+
def test_all_descriptions_have_reasonable_length(self):
|
125
|
+
for case in cases(self.test_files):
|
126
|
+
descript = case["description"]
|
127
|
+
self.assertLess(
|
128
|
+
len(descript),
|
129
|
+
60,
|
130
|
+
"%r is too long! (keep it to less than 60 chars)" % (descript,)
|
131
|
+
)
|
132
|
+
|
133
|
+
def test_all_descriptions_are_unique(self):
|
134
|
+
for group in groups(self.test_files):
|
135
|
+
descriptions = set(test["description"] for test in group["tests"])
|
136
|
+
self.assertEqual(
|
137
|
+
len(descriptions),
|
138
|
+
len(group["tests"]),
|
139
|
+
"%r contains a duplicate description" % (group,)
|
140
|
+
)
|
141
|
+
|
142
|
+
@unittest.skipIf(jsonschema is None, "Validation library not present!")
|
143
|
+
def test_all_schemas_are_valid(self):
|
144
|
+
for schema in os.listdir(SUITE_ROOT_DIR):
|
145
|
+
schema_validator = validators.get(schema)
|
146
|
+
if schema_validator is not None:
|
147
|
+
test_files = collect(os.path.join(SUITE_ROOT_DIR, schema))
|
148
|
+
for case in cases(test_files):
|
149
|
+
try:
|
150
|
+
schema_validator.check_schema(case["schema"])
|
151
|
+
except jsonschema.SchemaError as error:
|
152
|
+
self.fail("%s contains an invalid schema (%s)" %
|
153
|
+
(case, error))
|
154
|
+
else:
|
155
|
+
warnings.warn("No schema validator for %s" % schema)
|
156
|
+
|
157
|
+
@unittest.skipIf(jsonschema is None, "Validation library not present!")
|
158
|
+
def test_suites_are_valid(self):
|
159
|
+
validator = jsonschema.Draft3Validator(TESTSUITE_SCHEMA)
|
160
|
+
for tests in files(self.test_files):
|
161
|
+
try:
|
162
|
+
validator.validate(tests)
|
163
|
+
except jsonschema.ValidationError as error:
|
164
|
+
self.fail(str(error))
|
165
|
+
|
166
|
+
def test_remote_schemas_are_updated(self):
|
167
|
+
for url, schema in REMOTES.items():
|
168
|
+
filepath = os.path.join(REMOTES_DIR, url)
|
169
|
+
with open(filepath) as schema_file:
|
170
|
+
self.assertEqual(json.load(schema_file), schema)
|
171
|
+
|
172
|
+
|
173
|
+
def main(arguments):
|
174
|
+
if arguments.command == "check":
|
175
|
+
suite = unittest.TestLoader().loadTestsFromTestCase(SanityTests)
|
176
|
+
result = unittest.TextTestRunner(verbosity=2).run(suite)
|
177
|
+
sys.exit(not result.wasSuccessful())
|
178
|
+
elif arguments.command == "flatten":
|
179
|
+
selected_cases = [case for case in cases(collect(arguments.version))]
|
180
|
+
|
181
|
+
if arguments.randomize:
|
182
|
+
random.shuffle(selected_cases)
|
183
|
+
|
184
|
+
json.dump(selected_cases, sys.stdout, indent=4, sort_keys=True)
|
185
|
+
elif arguments.command == "remotes":
|
186
|
+
json.dump(REMOTES, sys.stdout, indent=4, sort_keys=True)
|
187
|
+
elif arguments.command == "dump_remotes":
|
188
|
+
if arguments.update:
|
189
|
+
shutil.rmtree(arguments.out_dir, ignore_errors=True)
|
190
|
+
|
191
|
+
try:
|
192
|
+
os.makedirs(arguments.out_dir)
|
193
|
+
except OSError as e:
|
194
|
+
if e.errno == errno.EEXIST:
|
195
|
+
print("%s already exists. Aborting." % arguments.out_dir)
|
196
|
+
sys.exit(1)
|
197
|
+
raise
|
198
|
+
|
199
|
+
for url, schema in REMOTES.items():
|
200
|
+
filepath = os.path.join(arguments.out_dir, url)
|
201
|
+
|
202
|
+
try:
|
203
|
+
os.makedirs(os.path.dirname(filepath))
|
204
|
+
except OSError as e:
|
205
|
+
if e.errno != errno.EEXIST:
|
206
|
+
raise
|
207
|
+
|
208
|
+
with open(filepath, "wb") as out_file:
|
209
|
+
json.dump(schema, out_file, indent=4, sort_keys=True)
|
210
|
+
elif arguments.command == "serve":
|
211
|
+
try:
|
212
|
+
from flask import Flask, jsonify
|
213
|
+
except ImportError:
|
214
|
+
print(textwrap.dedent("""
|
215
|
+
The Flask library is required to serve the remote schemas.
|
216
|
+
|
217
|
+
You can install it by running `pip install Flask`.
|
218
|
+
|
219
|
+
Alternatively, see the `jsonschema_suite remotes` or
|
220
|
+
`jsonschema_suite dump_remotes` commands to create static files
|
221
|
+
that can be served with your own web server.
|
222
|
+
""".strip("\n")))
|
223
|
+
sys.exit(1)
|
224
|
+
|
225
|
+
app = Flask(__name__)
|
226
|
+
|
227
|
+
@app.route("/<path:path>")
|
228
|
+
def serve_path(path):
|
229
|
+
if path in REMOTES:
|
230
|
+
return jsonify(REMOTES[path])
|
231
|
+
return "Document does not exist.", 404
|
232
|
+
|
233
|
+
app.run(port=1234)
|
234
|
+
|
235
|
+
|
236
|
+
parser = argparse.ArgumentParser(
|
237
|
+
description="JSON Schema Test Suite utilities",
|
238
|
+
)
|
239
|
+
subparsers = parser.add_subparsers(help="utility commands", dest="command")
|
240
|
+
|
241
|
+
check = subparsers.add_parser("check", help="Sanity check the test suite.")
|
242
|
+
|
243
|
+
flatten = subparsers.add_parser(
|
244
|
+
"flatten",
|
245
|
+
help="Output a flattened file containing a selected version's test cases."
|
246
|
+
)
|
247
|
+
flatten.add_argument(
|
248
|
+
"--randomize",
|
249
|
+
action="store_true",
|
250
|
+
help="Randomize the order of the outputted cases.",
|
251
|
+
)
|
252
|
+
flatten.add_argument(
|
253
|
+
"version", help="The directory containing the version to output",
|
254
|
+
)
|
255
|
+
|
256
|
+
remotes = subparsers.add_parser(
|
257
|
+
"remotes",
|
258
|
+
help="Output the expected URLs and their associated schemas for remote "
|
259
|
+
"ref tests as a JSON object."
|
260
|
+
)
|
261
|
+
|
262
|
+
dump_remotes = subparsers.add_parser(
|
263
|
+
"dump_remotes", help="Dump the remote ref schemas into a file tree",
|
264
|
+
)
|
265
|
+
dump_remotes.add_argument(
|
266
|
+
"--update",
|
267
|
+
action="store_true",
|
268
|
+
help="Update the remotes in an existing directory.",
|
269
|
+
)
|
270
|
+
dump_remotes.add_argument(
|
271
|
+
"--out-dir",
|
272
|
+
default=REMOTES_DIR,
|
273
|
+
type=os.path.abspath,
|
274
|
+
help="The output directory to create as the root of the file tree",
|
275
|
+
)
|
276
|
+
|
277
|
+
serve = subparsers.add_parser(
|
278
|
+
"serve",
|
279
|
+
help="Start a webserver to serve schemas used by remote ref tests."
|
280
|
+
)
|
281
|
+
|
282
|
+
if __name__ == "__main__":
|
283
|
+
main(parser.parse_args())
|