Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
print(u"[%i] %s" % (i + 1, t.get("doc", "").strip()))
return 0
if args.n is not None or args.s is not None:
ntest = []
if args.n is not None:
for s in args.n.split(","):
sp = s.split("-")
if len(sp) == 2:
ntest.extend(list(range(int(sp[0]) - 1, int(sp[1]))))
else:
ntest.append(int(s) - 1)
if args.s is not None:
for s in args.s.split(","):
test_number = get_test_number_by_key(tests, "short_name", s)
if test_number:
ntest.append(test_number)
else:
_logger.error('Test with short name "%s" not found ', s)
return 1
else:
ntest = list(range(0, len(tests)))
total = 0
with ThreadPoolExecutor(max_workers=args.j) as executor:
jobs = [
executor.submit(
run_test,
args,
tests[i],
i + 1,
elif expected.get("class") == "Directory":
compare_directory(expected, actual)
else:
compare_dict(expected, actual)
elif isinstance(expected, list):
if not isinstance(actual, list):
raise CompareFail.format(expected, actual)
if len(expected) != len(actual):
raise CompareFail.format(expected, actual, u"lengths don't match")
for c in range(0, len(expected)):
try:
compare(expected[c], actual[c])
except CompareFail as e:
raise CompareFail.format(expected, actual, e)
else:
if expected != actual:
raise CompareFail.format(expected, actual)
except Exception as e:
raise CompareFail(str(e))
def compare_directory(expected, actual):
# type: (Dict[str,Any], Dict[str,Any]) -> None
if actual.get("class") != "Directory":
raise CompareFail.format(
expected, actual, u"expected object with a class 'Directory'"
)
if "listing" not in actual:
raise CompareFail.format(
expected, actual, u"'listing' is mandatory field in Directory object"
)
for i in expected["listing"]:
found = False
for j in actual["listing"]:
try:
compare(i, j)
found = True
break
except CompareFail:
pass
if not found:
raise CompareFail.format(
expected,
actual,
u"%s not found" % json.dumps(i, indent=4, sort_keys=True),
if "path" not in actual:
actual["path"] = actual["location"]
elif "location" in expected:
comp = "location"
else:
return
if actual.get("class") == "Directory":
actual[comp] = actual[comp].rstrip("/")
if expected[comp] != "Any" and (
not (
actual[comp].endswith("/" + expected[comp])
or ("/" not in actual[comp] and expected[comp] == actual[comp])
)
):
raise CompareFail.format(
expected,
actual,
u"%s does not end with %s" % (actual[comp], expected[comp]),
)
def compare(expected, actual): # type: (Any, Any) -> None
if expected == "Any":
return
if expected is not None and actual is None:
raise CompareFail.format(expected, actual)
try:
if isinstance(expected, dict):
if not isinstance(actual, dict):
raise CompareFail.format(expected, actual)
if expected.get("class") == "File":
compare_file(expected, actual)
elif expected.get("class") == "Directory":
compare_directory(expected, actual)
else:
compare_dict(expected, actual)
elif isinstance(expected, list):
if not isinstance(actual, list):
raise CompareFail.format(expected, actual)
if len(expected) != len(actual):
raise CompareFail.format(expected, actual, u"lengths don't match")
for c in range(0, len(expected)):
try:
def compare_directory(expected, actual):
# type: (Dict[str,Any], Dict[str,Any]) -> None
if actual.get("class") != "Directory":
raise CompareFail.format(
expected, actual, u"expected object with a class 'Directory'"
)
if "listing" not in actual:
raise CompareFail.format(
expected, actual, u"'listing' is mandatory field in Directory object"
)
for i in expected["listing"]:
found = False
for j in actual["listing"]:
try:
compare(i, j)
found = True
break
except CompareFail:
pass
if not found:
compare_dict(expected, actual)
elif isinstance(expected, list):
if not isinstance(actual, list):
raise CompareFail.format(expected, actual)
if len(expected) != len(actual):
raise CompareFail.format(expected, actual, u"lengths don't match")
for c in range(0, len(expected)):
try:
compare(expected[c], actual[c])
except CompareFail as e:
raise CompareFail.format(expected, actual, e)
else:
if expected != actual:
raise CompareFail.format(expected, actual)
except Exception as e:
raise CompareFail(str(e))
def compare(expected, actual): # type: (Any, Any) -> None
if expected == "Any":
return
if expected is not None and actual is None:
raise CompareFail.format(expected, actual)
try:
if isinstance(expected, dict):
if not isinstance(actual, dict):
raise CompareFail.format(expected, actual)
if expected.get("class") == "File":
compare_file(expected, actual)
elif expected.get("class") == "Directory":
compare_directory(expected, actual)
else:
compare_dict(expected, actual)
elif isinstance(expected, list):
if not isinstance(actual, list):
raise CompareFail.format(expected, actual)
)
if "listing" not in actual:
raise CompareFail.format(
expected, actual, u"'listing' is mandatory field in Directory object"
)
for i in expected["listing"]:
found = False
for j in actual["listing"]:
try:
compare(i, j)
found = True
break
except CompareFail:
pass
if not found:
raise CompareFail.format(
expected,
actual,
u"%s not found" % json.dumps(i, indent=4, sort_keys=True),
)
compare_file(expected, actual)
if not isinstance(actual, list):
raise CompareFail.format(expected, actual)
if len(expected) != len(actual):
raise CompareFail.format(expected, actual, u"lengths don't match")
for c in range(0, len(expected)):
try:
compare(expected[c], actual[c])
except CompareFail as e:
raise CompareFail.format(expected, actual, e)
else:
if expected != actual:
raise CompareFail.format(expected, actual)
except Exception as e:
raise CompareFail(str(e))