diff --git a/sedr/schemat.py b/sedr/schemat.py index 14c8756..c86095e 100644 --- a/sedr/schemat.py +++ b/sedr/schemat.py @@ -230,11 +230,12 @@ def test_edr_collections(case): ) from err if use_rodeoprofile: - requirement7_3, requirement7_3_message = rodeoprofile.requirement7_3( - jsondata=collection - ) - if not requirement7_3: - raise AssertionError(requirement7_3_message) + if util.args.strict: + requirement7_3, requirement7_3_message = rodeoprofile.requirement7_3( + jsondata=collection + ) + if not requirement7_3: + raise AssertionError(requirement7_3_message) requirement7_4, requirement7_4_message = rodeoprofile.requirement7_4( jsondata=collection diff --git a/sedr/util.py b/sedr/util.py index 71a5ef4..6e64f67 100644 --- a/sedr/util.py +++ b/sedr/util.py @@ -49,6 +49,12 @@ def parse_args(args, version: str = "") -> argparse.Namespace: default=False, help="Use the rodeo profile even though the API doesn't specify it. Default False.", ) + parser.add_argument( + "--strict", + action="store_true", + default=False, + help="Treat SHOULD in any profile as SHALL. Default False.", + ) args = parser.parse_args(args) # Parse out base_path for convenience