# this schema will automatically harden request strings like 'python-*'; see # the 'expand_requires' function for more info. # package_request_schema = Or(And(basestring, Use(expand_requirement)), And(PackageRequest, Use(str))) tests_schema = Schema({ Optional(basestring): Or( Or(basestring, [basestring]), extensible_schema_dict({ "command": Or(basestring, [basestring]), Optional("requires"): [package_request_schema], Optional("run_on"): Or(basestring, [basestring]), Optional("on_variants"): Or(bool, { "type": "requires", "value": [package_request_schema] }) })) }) package_schema = Schema({ Optional("requires_rez_version"): And(basestring, Use(Version)), Required("name"): basestring, Optional("base"): basestring, Optional("version"):
# schema common to both package and variant # tests_schema = Schema({ Optional(basestring): Or( Or(basestring, [basestring]), extensible_schema_dict({ "command": Or(basestring, [basestring]), Optional("requires"): [Or(PackageRequest, And(basestring, Use(PackageRequest)))], Optional("run_on"): Or(basestring, [basestring]), Optional("on_variants"): Or( bool, { "type": "requires", "value": [Or(PackageRequest, And(basestring, Use(PackageRequest)))] }) })) }) package_base_schema_dict = base_resource_schema_dict.copy() package_base_schema_dict.update({ # basics Optional("base"): basestring, Optional("version"):