
This is recommit of llvm/llvm-project#92660, reverted in llvm/llvm-project#94424. Original commit message is below. After commit1792852f86
([symbolizer] Change reaction on invalid input) llvm-symbolizer issues an error on malformed command instead of echoing it to the standard output, as in previous versions. It turns out this behavior broke a use case when echoing was used to check if llvm-symbolizer is working (1792852f86 (commitcomment-142161925)
). With this change an empty line as input is not considered as an error anymore and does not produce any output on stderr. llvm-symbolizer still respond on empty line with line not found, this is consistent with GNU addr2line.
46 lines
1.9 KiB
Plaintext
46 lines
1.9 KiB
Plaintext
# If binary input file is not specified, llvm-symbolizer assumes it is the first
|
|
# item in the command.
|
|
|
|
# No input items at all. Report an unknown line, but do not produce any output on stderr.
|
|
RUN: echo | llvm-symbolizer 2>%t.1.err | FileCheck %s --check-prefix=NOSOURCE
|
|
RUN: FileCheck --input-file=%t.1.err --implicit-check-not={{.}} --allow-empty %s
|
|
|
|
# Only one input item, complain about missing addresses.
|
|
RUN: llvm-symbolizer "foo" 2>%t.2.err | FileCheck %s --check-prefix=NOSOURCE
|
|
RUN: FileCheck --input-file=%t.2.err --check-prefix=NOADDR %s
|
|
|
|
# Two items specified, check if the first one is an existing file.
|
|
RUN: llvm-symbolizer "foo 400" 2>%t.3.err | FileCheck %s --check-prefix=NOSOURCE
|
|
RUN: FileCheck --input-file=%t.3.err --check-prefix=NOTFOUND -DMSG=%errc_ENOENT %s
|
|
|
|
# FILE: must be followed by a file name.
|
|
RUN: llvm-symbolizer "FILE:" 2>%t.4.err | FileCheck %s --check-prefix=NOSOURCE
|
|
RUN: FileCheck --input-file=%t.4.err --check-prefix=MISSING-FILE %s
|
|
|
|
# BUILDID: must be followed by a hash.
|
|
RUN: llvm-symbolizer "BUILDID:" 2>%t.5.err | FileCheck %s --check-prefix=NOSOURCE
|
|
RUN: FileCheck --input-file=%t.5.err --check-prefix=MISSING-HASH %s
|
|
|
|
# Wrong build-id.
|
|
RUN: llvm-symbolizer "BUILDID: foo" 2>%t.6.err | FileCheck %s --check-prefix=NOSOURCE
|
|
RUN: FileCheck --input-file=%t.6.err --check-prefix=BAD-HASH %s
|
|
|
|
# Unbalanced string quotes in the file name.
|
|
RUN: llvm-symbolizer "FILE:\"foo" 2>%t.7.err | FileCheck %s --check-prefix=NOSOURCE
|
|
RUN: FileCheck --input-file=%t.7.err --check-prefix=BAD-QUOTE %s
|
|
|
|
NOSOURCE: ??
|
|
NOSOURCE-NEXT: ??:0:0
|
|
|
|
NOADDR: error: 'foo': no module offset has been specified
|
|
|
|
NOTFOUND: error: 'foo': [[MSG]]
|
|
|
|
MISSING-FILE: error: 'FILE:': must be followed by an input file
|
|
|
|
MISSING-HASH: error: 'BUILDID:': must be followed by a hash
|
|
|
|
BAD-HASH: error: 'BUILDID: foo': wrong format of build-id
|
|
|
|
BAD-QUOTE: error: 'FILE:"foo': unbalanced quotes in input file name
|