Age | Commit message (Collapse) | Author |
|
As of the previous commit, I'm getting leak-free valgrind runs of ltrace
testsuite on x86_64 as well as i386.
|
|
Though ltrace currently translates the latter to the former, this is the
actual proper parameter type.
Also fix one prototype in test suite for the same reason.
|
|
|
|
This gives us reasonable error messages for valgrind citations.
|
|
|
|
|
|
|
|
|
|
- In main-internal in particular, we never actually tested intra-binary
call. Now we do.
|
|
This provides a more fitting vocabulary for writing test cases that we
typically deal with. This is designed to make writing test cases much
simpler, with as little duplication as possible. It is now easy to embed
literal program text into expect scripts themselves, instead of keeping
.c and .exp files in sync.
- ltraceSource creates a temporary file with contents given directly in
expect script.
- ltraceCompile compiles a binary (which can be a library) from given
source files.
- ltraceRun runs ltrace command with arguments given directly on ltraceRun
command line, and produces a temporary file with ltrace log.
- ltraceMatch and ltraceMatch1 support querying ltrace log files. Matching
is done in TCL instead of running grep|wc. Because of this, it should
now be unnecessary to put arrays of backslashes to properly escape
control characters. This also supports normal mathematical operators for
comparing numbers of matches to expectation. Previously it was impossible
to express that such and such pattern should never appear. Now this can
be tested trivially.
- ltraceDone cleans up temporary files that were introduced by above calls.
|
|
|
|
Command lines like gcc x.c -c y.so prompt gcc to emits warnings, and
DejaGNU then thinks there were failures.
|
|
|
|
|
|
|
|
|
|
This test case fails when run by itself. When run in a batch with the rest
of the test suite, someone else calls get_compiler_info and things get
initialized properly.
A related change is not to reference compiler_info global variable before
we even test its existence.
|
|
|
|
Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
|
|
|
|
|
|
|
|
Running ./ltrace.main/parameters.exp ...
compile failed for ltrace test, ./ltrace.main/parameters.c: In function 'main':
./ltrace.main/parameters.c:196: warning: format '%ld' expects type 'long int', but argument 4 has type 'int'
Testcase compile failed, so all tests in this file will automatically fail.
Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
|
|
These test passing and returning homogeneous floating-point aggregates.
|
|
|
|
|
|
This is relevant on s390x, where these should be passed in a register.
|
|
Also, remove i386 from the fail spec of parameters.exp, as now it's
expected to pass.
|
|
|
|
|
|
|
|
|
|
- in callstack_pop, we don't free arch_ptr. That's because this doesn't
get copied over the clone. It's a mere coincidence that fork() doesn't
need to save register arguments, and this works.
- added copyright notices to files that this touches. This is based on
git blame. Only contributors of 10+ lines are added
- test suite adjusted to not include "void" type as "don't show this int".
Back ends in general need to know the exact type, so this never worked
anyway.
|
|
It happens to pass, which is not correct. It needs to be reported as
unsupported.
|
|
|
|
That because otherwise, on PPC64, func_call gets a pointer to the address
of func_work entry point. I guess we could work around that by reading
.rela.dyn and rewriting GOT, but that's not the point of this test case.
|
|
The update is that we are not matching "test_libdl(", but
"test_libdl@liblibdl-simple.so".
|
|
|
|
- in this commit I drop a bit of MIPS support. First, I don't think MIPS
is supported right now. The multi-threading merge was an invasive change
and most arches other than x86 are in fact currently broken.
Second, deciding that we shouldn't push a slot just based on address
equality is too strong. This would also reject actual recursion, which
is a common case (for -x anyway, for -e less so).
|
|
- we use a heuristic: several consecutive calls with the same return
address, but a different symbol. We can't use just the former case,
because that way we would also kill honest recursive (library) calls.
It's only this particular case that we know that a tail call took place.
|
|
- The check fired also on vfork handling, and this hung the process
- Add a test case exercising this code, courtesy of Michal Nowak and
Denys Vlasenko
|
|
|
|
|
|
|
|
- allow even individual tasks to have their event handlers. These are
called in precedence to the thread group event handlers.
- distinguish CLONE and VFORK events
- add methods for dynamic changes of leader
- add new process status ps_sleeping
|
|
|
|
|
|
|
|
Marks the expected failures on ARM and x86.
Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
|
|
Augment LD_LIBRARY_PATH with alternate locations of libelf and libunwind
in ltrace_runtest. Also adds support for passing extra arguments, so
all tests can be rewritten to use that API calls. This patch makes the
test suite work (without any hacking) on systems that do not have those
libraries installed in standard locations.
Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
|