from multiprocessing.queues import Queue
from multiprocessing.managers import BaseManager
from config import config, num_cpus, available_cpus, max_vpp_cpus
-from framework import (
+from vpp_papi import VPPApiJSONFiles
+from asfframework import (
VppTestRunner,
- VppTestCase,
get_testcase_doc_name,
get_test_description,
+ get_failed_testcase_linkname,
+ get_testcase_dirname,
)
+from framework import VppTestCase
from test_result_code import TestResultCode
from debug import spawn_gdb
from log import (
f"Scheduled tests: {self.all_testcases}",
f"Executed tests: {self[TestResultCode.TEST_RUN]}",
f"Passed tests: {colorize(self[TestResultCode.PASS], GREEN)}",
- f"Expected failures: {colorize(self[TestResultCode.EXPECTED_FAIL], GREEN)}"
- if self[TestResultCode.EXPECTED_FAIL]
- else None,
- f"Skipped tests: {colorize(self[TestResultCode.SKIP], YELLOW)}"
- if self[TestResultCode.SKIP]
- else None,
- f"Not Executed tests: {colorize(self.not_executed, RED)}"
- if self.not_executed
- else None,
- f"Failures: {colorize(self[TestResultCode.FAIL], RED)}"
- if self[TestResultCode.FAIL]
- else None,
- f"Unexpected passes: {colorize(self[TestResultCode.UNEXPECTED_PASS], RED)}"
- if self[TestResultCode.UNEXPECTED_PASS]
- else None,
- f"Errors: {colorize(self[TestResultCode.ERROR], RED)}"
- if self[TestResultCode.ERROR]
- else None,
- "Tests skipped due to lack of CPUS: "
- f"{colorize(self[TestResultCode.SKIP_CPU_SHORTAGE], YELLOW)}"
- if self[TestResultCode.SKIP_CPU_SHORTAGE]
- else None,
+ (
+ f"Expected failures: {colorize(self[TestResultCode.EXPECTED_FAIL], GREEN)}"
+ if self[TestResultCode.EXPECTED_FAIL]
+ else None
+ ),
+ (
+ f"Skipped tests: {colorize(self[TestResultCode.SKIP], YELLOW)}"
+ if self[TestResultCode.SKIP]
+ else None
+ ),
+ (
+ f"Not Executed tests: {colorize(self.not_executed, RED)}"
+ if self.not_executed
+ else None
+ ),
+ (
+ f"Failures: {colorize(self[TestResultCode.FAIL], RED)}"
+ if self[TestResultCode.FAIL]
+ else None
+ ),
+ (
+ f"Unexpected passes: {colorize(self[TestResultCode.UNEXPECTED_PASS], RED)}"
+ if self[TestResultCode.UNEXPECTED_PASS]
+ else None
+ ),
+ (
+ f"Errors: {colorize(self[TestResultCode.ERROR], RED)}"
+ if self[TestResultCode.ERROR]
+ else None
+ ),
+ (
+ "Tests skipped due to lack of CPUS: "
+ f"{colorize(self[TestResultCode.SKIP_CPU_SHORTAGE], YELLOW)}"
+ if self[TestResultCode.SKIP_CPU_SHORTAGE]
+ else None
+ ),
]
)
if __name__ == "__main__":
print(f"Config is: {config}")
+ if config.api_preload:
+ VPPApiJSONFiles.load_api(apidir=config.extern_apidir + [config.vpp_install_dir])
+
if config.sanity:
print("Running sanity test case.")
try:
)
exit_code = 0
while suites and attempts > 0:
+ for suite in suites:
+ failed_link = get_failed_testcase_linkname(
+ config.failed_dir,
+ f"{get_testcase_dirname(suite._tests[0].__class__.__name__)}",
+ )
+ if os.path.islink(failed_link):
+ os.unlink(failed_link)
results = run_forked(suites)
exit_code, suites = parse_results(results)
attempts -= 1