Files
Aiden Grossman a7b58e74a0 [lldb] Remove %T from lit tests (#151343)
%T has been deprecated for about seven years, mostly because it is not
unique to each test which can lead to races. This patch updates the few
remaining tests in lldb that use %T to not use it (either directly using
files or creating their own temp dir). The eventual goal is to remove
support for %T from llvm-lit given few tests use it and it still has
racey behavior.

This patch errors on the side of creating new temp dirs even when not
strictly necessary to avoid needing to update filenames inside filecheck
matchers.
2025-07-30 09:09:54 -07:00

56 lines
2.2 KiB
Plaintext

# RUN: mkdir -p %t.dir
# RUN: yaml2obj %S/Inputs/basic-elf.yaml -o %t.dir/line-table.out
# RUN: %lldb %t.dir/line-table.out -o "target symbols add -s line-table.out %S/Inputs/line-table.syms" \
# RUN: -s %s -o exit | FileCheck %s
# We create a compile unit for each function. The compile unit name is the first
# line table entry in that function.
# This symbol file contains a single function in the "compile unit" a.c. This
# function has two line table sequences.
image dump line-table a.c
# CHECK-LABEL: Line table for /tmp/a.c
# CHECK-NEXT: 0x00000000004000b0: /tmp/a.c:1
# CHECK-NEXT: 0x00000000004000b1: /tmp/a.c:2
# CHECK-NEXT: 0x00000000004000b2: /tmp/c.c:2
# CHECK-NEXT: 0x00000000004000b3:
# CHECK-EMPTY:
# CHECK-NEXT: 0x00000000004000b4: /tmp/c.c:3
# CHECK-NEXT: 0x00000000004000b5:
# CHECK-EMPTY:
# Single compile unit for c.c with a single line sequence.
image dump line-table c.c
# CHECK-LABEL: Line table for /tmp/c.c
# CHECK-NEXT: 0x00000000004000c0: /tmp/c.c:1
# CHECK-NEXT: 0x00000000004000c2: /tmp/a.c:2
# CHECK-NEXT: 0x00000000004000c4:
# CHECK-EMPTY:
# There are two compile units called "d.c". Hence, two line tables.
image dump line-table d.c
# CHECK-LABEL: Line table for /tmp/d.c
# CHECK-NEXT: 0x00000000004000d0: /tmp/d.c:1
# CHECK-NEXT: 0x00000000004000d2:
# CHECK-EMPTY:
# CHECK-LABEL: Line table for /tmp/d.c
# CHECK-NEXT: 0x00000000004000e0: /tmp/d.c:2
# CHECK-NEXT: 0x00000000004000e2:
# CHECK-EMPTY:
image lookup -a 0x4000b2 -v
# CHECK-LABEL: image lookup -a 0x4000b2 -v
# CHECK: Summary: line-table.out`func + 2
# CHECK: Function: id = {0x00000000}, name = "func", range = [0x00000000004000b0-0x00000000004000c0)
image dump symfile
# CHECK-LABEL: Compile units:
# CHECK-NEXT: CompileUnit{0x00000000}, language = "<not loaded>", file = '/tmp/a.c'
# CHECK-NEXT: Function{0x00000000}, demangled = func, type_uid = 0x00000000
# CHECK: CompileUnit{0x00000001}, language = "<not loaded>", file = '/tmp/c.c'
# CHECK-NEXT: CompileUnit{0x00000002}, language = "<not loaded>", file = '/tmp/d.c'
# CHECK-NEXT: CompileUnit{0x00000003}, language = "<not loaded>", file = '/tmp/d.c'
breakpoint set -f c.c -l 2
# CHECK-LABEL: breakpoint set -f c.c -l 2
# CHECK: Breakpoint 1: where = line-table.out`func + 2 at c.c:2, address = 0x00000000004000b2