예제 #1
0
def test_merge_symbolicator_image_errors(code_file, error):
    raw_image = {"instruction_addr": 0xFEEBEE, "other": "foo", "code_file": code_file}
    sdk_info = {"sdk_name": "macos"}
    complete_image = {
        "debug_status": "found",
        "unwind_status": "missing",
        "other2": "bar",
        "arch": "unknown",
    }
    data = {}

    _merge_image(raw_image, complete_image, sdk_info, data)

    (e,) = data["errors"]

    assert e["image_path"].endswith("/foo")
    assert e["type"] == error

    assert raw_image == {
        "debug_status": "found",
        "unwind_status": "missing",
        "instruction_addr": 0xFEEBEE,
        "other": "foo",
        "other2": "bar",
        "code_file": code_file,
    }
예제 #2
0
def test_merge_symbolicator_image_errors(code_file, error):
    raw_image = {
        "instruction_addr": 0xFEEBEE,
        "other": "foo",
        "code_file": code_file
    }
    sdk_info = {"sdk_name": "macos"}
    complete_image = {
        "debug_status": "found",
        "unwind_status": "missing",
        "other2": "bar",
        "arch": "unknown",
    }
    errors = []

    _merge_image(raw_image, complete_image, sdk_info, errors.append)

    e, = errors

    assert e.image_name == "foo"
    assert e.type == error

    assert raw_image == {
        "debug_status": "found",
        "unwind_status": "missing",
        "instruction_addr": 0xFEEBEE,
        "other": "foo",
        "other2": "bar",
        "code_file": code_file,
    }
예제 #3
0
def test_merge_symbolicator_image_remove_unknown_arch():
    raw_image = {"instruction_addr": 0xFEEBEE}
    sdk_info = {"sdk_name": "linux"}
    complete_image = {
        "debug_status": "found",
        "unwind_status": "found",
        "arch": "unknown",
    }
    errors = []

    _merge_image(raw_image, complete_image, sdk_info, errors.append)

    assert not errors
    assert raw_image == {"instruction_addr": 0xFEEBEE}
예제 #4
0
def test_merge_symbolicator_image_remove_unknown_arch():
    raw_image = {"instruction_addr": 0xFEEBEE}
    sdk_info = {"sdk_name": "linux"}
    complete_image = {"debug_status": "found", "unwind_status": "found", "arch": "unknown"}
    data = {}

    _merge_image(raw_image, complete_image, sdk_info, data)

    assert not data.get("errors")
    assert raw_image == {
        "debug_status": "found",
        "unwind_status": "found",
        "instruction_addr": 0xFEEBEE,
    }
예제 #5
0
def test_merge_symbolicator_image_basic_success():
    raw_image = {"instruction_addr": 0xFEEBEE, "other": "foo"}
    sdk_info = {"sdk_name": "linux"}
    complete_image = {
        "debug_status": "found",
        "unwind_status": "found",
        "other2": "bar",
        "arch": "foo",
    }
    errors = []

    _merge_image(raw_image, complete_image, sdk_info, errors.append)

    assert not errors
    assert raw_image == {
        "instruction_addr": 0xFEEBEE,
        "other": "foo",
        "other2": "bar",
        "arch": "foo",
    }
예제 #6
0
def test_merge_symbolicator_image_empty():
    errors = []
    _merge_image({}, {}, None, errors.append)
    assert not errors
예제 #7
0
def test_merge_symbolicator_image_empty():
    data = {}
    _merge_image({}, {}, None, data)
    assert not data.get("errors")