def test_coverage_pack_hex_payload(self):
        # This function takesstring as input
        r = mbed_coverage_api.coverage_pack_hex_payload('')
        self.assertEqual(bytearray(b''), r)

        r = mbed_coverage_api.coverage_pack_hex_payload('6164636772')
        self.assertEqual(bytearray(b'adcgr'), r)

        r = mbed_coverage_api.coverage_pack_hex_payload('.')    # '.' -> 0x00
        self.assertEqual(bytearray(b'\x00'), r)

        r = mbed_coverage_api.coverage_pack_hex_payload('...')    # '.' -> 0x00
        self.assertEqual(bytearray(b'\x00\x00\x00'), r)

        r = mbed_coverage_api.coverage_pack_hex_payload('.6164636772.')    # '.' -> 0x00
        self.assertEqual(bytearray(b'\x00adcgr\x00'), r)
Esempio n. 2
0
    def test_coverage_pack_hex_payload(self):
        # This function takesstring as input
        r = mbed_coverage_api.coverage_pack_hex_payload('')
        self.assertEqual(bytearray(b''), r)

        r = mbed_coverage_api.coverage_pack_hex_payload('6164636772')
        self.assertEqual(bytearray(b'adcgr'), r)

        r = mbed_coverage_api.coverage_pack_hex_payload('.')    # '.' -> 0x00
        self.assertEqual(bytearray(b'\x00'), r)

        r = mbed_coverage_api.coverage_pack_hex_payload('...')    # '.' -> 0x00
        self.assertEqual(bytearray(b'\x00\x00\x00'), r)

        r = mbed_coverage_api.coverage_pack_hex_payload('.6164636772.')    # '.' -> 0x00
        self.assertEqual(bytearray(b'\x00adcgr\x00'), r)
Esempio n. 3
0
def get_coverage_data(build_path, output):
    # Example GCOV output
    # [1456840876.73][CONN][RXD] {{__coverage_start;c:\Work\core-util/source/PoolAllocator.cpp.gcda;6164636772393034c2733f32...a33e...b9}}
    gt_logger.gt_log("checking for GCOV data...")
    re_gcov = re.compile(r"^\[(\d+\.\d+)\][^\{]+\{\{(__coverage_start);([^;]+);([^}]+)\}\}$")
    for line in output.splitlines():
        m = re_gcov.search(line)
        if m:
            _, _, gcov_path, gcov_payload = m.groups()
            try:
                bin_gcov_payload = coverage_pack_hex_payload(gcov_payload)
                coverage_dump_file(build_path, gcov_path, bin_gcov_payload)
            except Exception as e:
                gt_logger.gt_log_err("error while handling GCOV data: " + str(e))
            gt_logger.gt_log_tab("storing %d bytes in '%s'"% (len(bin_gcov_payload), gcov_path))
Esempio n. 4
0
def get_coverage_data(build_path, output):
    # Example GCOV output
    # [1456840876.73][CONN][RXD] {{__coverage_start;c:\Work\core-util/source/PoolAllocator.cpp.gcda;6164636772393034c2733f32...a33e...b9}}
    gt_logger.gt_log("checking for GCOV data...")
    re_gcov = re.compile(r"^\[(\d+\.\d+)\][^\{]+\{\{(__coverage_start);([^;]+);([^}]+)\}\}$")
    for line in output.splitlines():
        m = re_gcov.search(line)
        if m:
            _, _, gcov_path, gcov_payload = m.groups()
            try:
                bin_gcov_payload = coverage_pack_hex_payload(gcov_payload)
                coverage_dump_file(build_path, gcov_path, bin_gcov_payload)
            except Exception as e:
                gt_logger.gt_log_err("error while handling GCOV data: " + str(e))
            gt_logger.gt_log_tab("storing %d bytes in '%s'"% (len(bin_gcov_payload), gcov_path))