blob: 9e484e0132c83a978a4c411ad7ca53a03b8b662d [file] [log] [blame]
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class TestCaseClassTemplateNonTypeParameterPack(TestBase):
@expectedFailureAll(
oslist=["windows"], archs=["i[3-6]86", "x86_64"]
) # Fails to read memory from target.
@no_debug_info_test
def test(self):
self.build()
self.dbg.CreateTarget(self.getBuildArtifact("a.out"))
self.expect_expr(
"emptyNonTypePack",
result_type="NonTypePack<>",
result_children=[ValueCheck(name="a", type="int")],
)
self.expect_expr(
"oneElemNonTypePack",
result_type="NonTypePack<1>",
result_children=[ValueCheck(name="a", type="int")],
)
self.expect_expr(
"twoElemNonTypePack",
result_type="NonTypePack<1, 2>",
result_children=[ValueCheck(name="a", type="int")],
)
self.expect_expr(
"emptyAnonNonTypePack",
result_type="AnonNonTypePack<>",
result_children=[ValueCheck(name="b", type="int")],
)
self.expect_expr(
"oneElemAnonNonTypePack",
result_type="AnonNonTypePack<1>",
result_children=[ValueCheck(name="b", type="int")],
)
self.expect_expr(
"twoElemAnonNonTypePack",
result_type="AnonNonTypePack<1, 2>",
result_children=[ValueCheck(name="b", type="int")],
)
self.expect_expr(
"emptyAnonNonTypePackAfterTypeParam",
result_type="AnonNonTypePackAfterTypeParam<int>",
result_children=[ValueCheck(name="c", type="int")],
)
self.expect_expr(
"oneElemAnonNonTypePackAfterTypeParam",
result_type="AnonNonTypePackAfterTypeParam<int, 1>",
result_children=[ValueCheck(name="c", type="int")],
)
self.expect_expr(
"emptyAnonNonTypePackAfterAnonTypeParam",
result_type="AnonNonTypePackAfterAnonTypeParam<int>",
result_children=[ValueCheck(name="d", type="float")],
)
self.expect_expr(
"oneElemAnonNonTypePackAfterAnonTypeParam",
result_type="AnonNonTypePackAfterAnonTypeParam<int, 1>",
result_children=[ValueCheck(name="d", type="float")],
)
self.expect_expr(
"emptyNonTypePackAfterAnonTypeParam",
result_type="NonTypePackAfterAnonTypeParam<int>",
result_children=[ValueCheck(name="e", type="int")],
)
self.expect_expr(
"oneElemNonTypePackAfterAnonTypeParam",
result_type="NonTypePackAfterAnonTypeParam<int, 1>",
result_children=[ValueCheck(name="e", type="int")],
)
self.expect_expr(
"emptyNonTypePackAfterTypeParam",
result_type="NonTypePackAfterTypeParam<int>",
result_children=[ValueCheck(name="f", type="int")],
)
self.expect_expr(
"oneElemNonTypePackAfterTypeParam",
result_type="NonTypePackAfterTypeParam<int, 1>",
result_children=[ValueCheck(name="f", type="int")],
)
self.expect_expr(
"emptyAnonNonTypePackAfterNonTypeParam",
result_type="AnonNonTypePackAfterNonTypeParam<1>",
result_children=[ValueCheck(name="g", type="int")],
)
self.expect_expr(
"oneElemAnonNonTypePackAfterNonTypeParam",
result_type="AnonNonTypePackAfterNonTypeParam<1, 2>",
result_children=[ValueCheck(name="g", type="int")],
)
self.expect_expr(
"emptyAnonNonTypePackAfterAnonNonTypeParam",
result_type="AnonNonTypePackAfterAnonNonTypeParam<1>",
result_children=[ValueCheck(name="h", type="float")],
)
self.expect_expr(
"oneElemAnonNonTypePackAfterAnonNonTypeParam",
result_type="AnonNonTypePackAfterAnonNonTypeParam<1, 2>",
result_children=[ValueCheck(name="h", type="float")],
)
self.expect_expr(
"emptyNonTypePackAfterAnonNonTypeParam",
result_type="NonTypePackAfterAnonNonTypeParam<1>",
result_children=[ValueCheck(name="i", type="int")],
)
self.expect_expr(
"oneElemNonTypePackAfterAnonNonTypeParam",
result_type="NonTypePackAfterAnonNonTypeParam<1, 2>",
result_children=[ValueCheck(name="i", type="int")],
)
self.expect_expr(
"emptyNonTypePackAfterNonTypeParam",
result_type="NonTypePackAfterNonTypeParam<1>",
result_children=[ValueCheck(name="j", type="int")],
)
self.expect_expr(
"oneElemNonTypePackAfterNonTypeParam",
result_type="NonTypePackAfterNonTypeParam<1, 2>",
result_children=[ValueCheck(name="j", type="int")],
)