HOSTNAME = 'lava-master-02.internal.efficios.com'
OBJSTORE_URL = "https://obj.internal.efficios.com/lava/results/"
+def parse_stable_version(stable_version_string):
+ # Get the major and minor version numbers from the lttng version string.
+ version_match = re.search('stable-(\d).(\d\d)', stable_version_string)
+
+ if version_match is not None:
+ major_version = int(version_match.group(1))
+ minor_version = int(version_match.group(2))
+ else:
+ # Setting to zero to make the comparison below easier.
+ major_version = 0
+ minor_version = 0
+ return major_version, minor_version
+
class TestType:
""" Enum like for test type """
- baremetal_benchmarks = 1
- baremetal_tests = 2
- kvm_tests = 3
+ baremetal_tests = 1
+ kvm_tests = 2
values = {
- 'baremetal-benchmarks': baremetal_benchmarks,
'baremetal-tests': baremetal_tests,
'kvm-tests': kvm_tests,
}
return (passed_tests, failed_tests)
-def fetch_benchmark_results(build_id):
- """
- Get the benchmark results from the objstore
- save them as CSV files localy
- """
- testcases = [
- 'processed_results_close.csv',
- 'processed_results_ioctl.csv',
- 'processed_results_open_efault.csv',
- 'processed_results_open_enoent.csv',
- 'processed_results_dup_close.csv',
- 'processed_results_raw_syscall_getpid.csv',
- 'processed_results_lttng_test_filter.csv',
- ]
- for testcase in testcases:
- url = urljoin(OBJSTORE_URL, "{:s}/{:s}".format(build_id, testcase))
- print('Fetching {}'.format(url))
- urlretrieve(url, testcase)
-
-
def print_test_output(server, job):
"""
Parse the attachment of the testcase to fetch the stdout of the test suite
+ ' --profile lttng-ust-no-man-pages'
)
-
- # Get the major and minor version numbers from the lttng version string.
- version_match = re.search('stable-(\d).(\d\d)', lttng_version)
-
- if version_match is not None:
- major_version = int(version_match.group(1))
- minor_version = int(version_match.group(2))
- else:
- # Setting to zero to make the comparison below easier.
- major_version = 0
- minor_version = 0
+ major_version, minor_version = parse_stable_version(lttng_version)
if lttng_version == 'master' or (major_version >= 2 and minor_version >= 11):
vlttng_cmd += (
test_type = TestType.values[args.type]
- if test_type in [TestType.baremetal_benchmarks, TestType.baremetal_tests]:
+ if test_type is TestType.baremetal_tests:
device_type = DeviceType.x86
else:
device_type = DeviceType.kvm
args.lttng_version, args.tools_url, args.tools_commit, args.ust_url, args.ust_commit
)
+ if args.lttng_version == "master":
+ lttng_version_string = "master"
+ elif args.lttng_version == "canary":
+ lttng_version_string = "2.10"
+ else:
+ major, minor = parse_stable_version(args.lttng_version)
+ lttng_version_string = str(major) + "." + str(minor)
+
+
context = dict()
context['DeviceType'] = DeviceType
context['TestType'] = TestType
context['vlttng_cmd'] = vlttng_cmd
context['vlttng_path'] = vlttng_path
+ context['lttng_version_string'] = lttng_version_string
context['kernel_url'] = args.kernel
context['nfsrootfs_url'] = nfsrootfs
if test_type is TestType.kvm_tests or test_type is TestType.baremetal_tests:
print_test_output(server, jobid)
- elif test_type is TestType.baremetal_benchmarks:
- fetch_benchmark_results(args.build_id)
passed, failed = check_job_all_test_cases_state_count(server, jobid)
print('With {} passed and {} failed Lava test cases.'.format(passed, failed))