llvm-project/lldb/test/Shell/SymbolFile/Breakpad/line-table-edgecases.test
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

23 lines
927 B
Plaintext

# Test handling of breakpad files with some unusual or erroneous constructs. The
# input contains a LINE record which does not belong to any function as well as
# a FUNC record without any LINE records.
# RUN: mkdir -p %t.dir
# RUN: yaml2obj %S/Inputs/basic-elf.yaml -o %t.dir/line-table-edgecases.out
# RUN: %lldb %t.dir/line-table-edgecases.out \
# RUN: -o "target symbols add -s line-table-edgecases.out %S/Inputs/line-table-edgecases.syms" \
# RUN: -s %s -o exit | FileCheck %s
# Test that line table for func2 was parsed properly:
image dump line-table a.c
# CHECK-LABEL: Line table for /tmp/a.c
# CHECK-NEXT: 0x00000000004000c0: /tmp/a.c:2
# CHECK-NEXT: 0x00000000004000c2:
# CHECK-EMPTY:
# Looking up an address inside func should still work even if it does not result
# in a line entry.
image lookup -a 0x4000b2 -v
# CHECK-LABEL: image lookup -a 0x4000b2 -v
# CHECK: Summary: line-table-edgecases.out`func + 2