示例#1
0
def test_NodeAttributesToBasicBlock_name():
    """Test name extraction."""
    label = (
        '"{%2:\l  %3 = alloca i32, align 4\l  %4 = alloca i32, align 4\l  '
        "%5 = alloca i8**, align 8\l  %6 = alloca i32, align 4\l  "
        "store i32 0, i32* %3, align 4\l  store i32 %0, i32* %4, "
        "align 4\l  store i8** %1, i8*** %5, align 8\l  store i32 0, "
        'i32* %6, align 4\l  br label %7\l}"')
    assert llvm_util.NodeAttributesToBasicBlock({"label":
                                                 label})["name"] == "%2"
示例#2
0
def test_NodeAttributesToBasicBlock_text():
    """Test text extraction."""
    label = (
        '"{%2:\l  %3 = alloca i32, align 4\l  %4 = alloca i32, align 4\l  '
        "%5 = alloca i8**, align 8\l  %6 = alloca i32, align 4\l  "
        "store i32 0, i32* %3, align 4\l  store i32 %0, i32* %4, "
        "align 4\l  store i8** %1, i8*** %5, align 8\l  store i32 0, "
        'i32* %6, align 4\l  br label %7\l}"')
    assert (llvm_util.NodeAttributesToBasicBlock({"label":
                                                  label})["text"] == """\
%3 = alloca i32, align 4
%4 = alloca i32, align 4
%5 = alloca i8**, align 8
%6 = alloca i32, align 4
store i32 0, i32* %3, align 4
store i32 %0, i32* %4, align 4
store i8** %1, i8*** %5, align 8
store i32 0, i32* %6, align 4
br label %7\
""")
示例#3
0
def test_NodeAttributesToBasicBlock_unrecognized_label():
    """Test that error is raised if label is not recognized."""
    with test.Raises(ValueError):
        llvm_util.NodeAttributesToBasicBlock({"label": "invalid label"})