diff --git a/contrib/libucl/libucl.pc b/contrib/libucl/libucl.pc new file mode 100644 index 000000000000..4878bebafcdd --- /dev/null +++ b/contrib/libucl/libucl.pc @@ -0,0 +1,11 @@ +prefix=/usr/local +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: LibUCL +Description: Universal configuration library +Version: 0.9.0 +Libs: -L${libdir} -lucl +Libs.private: +Cflags: -I${includedir}/ diff --git a/contrib/libucl/python/ucl.pyi b/contrib/libucl/python/ucl.pyi new file mode 100644 index 000000000000..79fa2901ba9f --- /dev/null +++ b/contrib/libucl/python/ucl.pyi @@ -0,0 +1,15 @@ +# Stubs for ucl (Python 3.6) +# +# NOTE: This dynamically typed stub was automatically generated by stubgen. + +UCL_EMIT_CONFIG = ... # type: int +UCL_EMIT_JSON = ... # type: int +UCL_EMIT_JSON_COMPACT = ... # type: int +UCL_EMIT_MSGPACK = ... # type: int +UCL_EMIT_YAML = ... # type: int + +def dump(*args, **kwargs): ... +def load(*args, **kwargs): ... +def validate(*args, **kwargs): ... + +class SchemaError(Exception): ... diff --git a/contrib/libucl/tests/schema/definitions.json.disabled b/contrib/libucl/tests/schema/definitions.json.disabled new file mode 100644 index 000000000000..1ab9b2163c44 --- /dev/null +++ b/contrib/libucl/tests/schema/definitions.json.disabled @@ -0,0 +1,32 @@ +[ + { + "description": "valid definition", + "schema": {"$ref": "http://highsecure.ru/ucl-schema/schema#"}, + "tests": [ + { + "description": "valid definition schema", + "data": { + "definitions": { + "foo": {"type": "integer"} + } + }, + "valid": true + } + ] + }, + { + "description": "invalid definition", + "schema": {"$ref": "http://highsecure.ru/ucl-schema/schema#"}, + "tests": [ + { + "description": "invalid definition schema", + "data": { + "definitions": { + "foo": {"type": 1} + } + }, + "valid": false + } + ] + } +] diff --git a/contrib/libucl/tests/schema/refRemote.json.disabled b/contrib/libucl/tests/schema/refRemote.json.disabled new file mode 100644 index 000000000000..067c666b0ec8 --- /dev/null +++ b/contrib/libucl/tests/schema/refRemote.json.disabled @@ -0,0 +1,76 @@ +[ + { + "description": "remote ref", + "schema": {"$ref": "http://highsecure.ru/ucl-schema/remotes/integer.json"}, + "tests": [ + { + "description": "remote ref valid", + "data": 1, + "valid": true + }, + { + "description": "remote ref invalid", + "data": "a", + "valid": false + } + ] + }, + { + "description": "fragment within remote ref", + "schema": {"$ref": "http://highsecure.ru/ucl-schema/remotes/subSchemas.json#/integer"}, + "tests": [ + { + "description": "remote fragment valid", + "data": 1, + "valid": true + }, + { + "description": "remote fragment invalid", + "data": "a", + "valid": false + } + ] + }, + { + "description": "ref within remote ref", + "schema": { + "$ref": "http://highsecure.ru/ucl-schema/remotes/subSchemas.json#/refToInteger" + }, + "tests": [ + { + "description": "ref within ref valid", + "data": 1, + "valid": true + }, + { + "description": "ref within ref invalid", + "data": "a", + "valid": false + } + ] + } +/* + { + "description": "change resolution scope", + "schema": { + "id": "http://highsecure.ru/ucl-schema/remotes/", + "items": { + "id": "folder/", + "items": {"$ref": "folderInteger.json"} + } + }, + "tests": [ + { + "description": "changed scope ref valid", + "data": [[1]], + "valid": true + }, + { + "description": "changed scope ref invalid", + "data": [["a"]], + "valid": false + } + ] + } +*/ +]