From fbd7c9fabbfea2fc1dddeeea249b97ee3b5298f0 Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Sun, 9 Aug 2026 12:40:50 +0300 Subject: [PATCH] python-marshmallow: add test script Add a CI test.sh exercising basic package functionality. Signed-off-by: Alexandru Ardelean --- lang/python/python-marshmallow/test.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 lang/python/python-marshmallow/test.sh diff --git a/lang/python/python-marshmallow/test.sh b/lang/python/python-marshmallow/test.sh new file mode 100755 index 0000000000..c8b8d84e6a --- /dev/null +++ b/lang/python/python-marshmallow/test.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +[ "$1" = python3-marshmallow ] || exit 0 + +python3 - << 'EOF' + +from marshmallow import Schema, fields, ValidationError + +# Round-trip a schema: dump a dict, load and type-coerce it back, then confirm +# a missing required field is rejected with ValidationError. +class UserSchema(Schema): + name = fields.Str(required=True) + age = fields.Int() + +s = UserSchema() +assert s.dump({"name": "ow", "age": 3}) == {"name": "ow", "age": 3} +assert s.load({"name": "ow", "age": "5"}) == {"name": "ow", "age": 5} +try: + s.load({"age": 1}) + raise SystemExit("required field not enforced") +except ValidationError: + pass + +EOF