History log of /external/lldb/test/lldbtest.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e0d9e7543b684ffedabc9b39f4e4910eb975099e 06-Aug-2013 Daniel Malea <daniel.malea@intel.com> Centralizing Intel compiler detection logic in lldbtest.py to avoid duplication in the future.
- Addresses review comments from Stefanus!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
042b14cb98cb44779bf2b1c804786130178bba8c 06-Aug-2013 Daniel Malea <daniel.malea@intel.com> Allow building test suite with non-default libc++
- add new "--libcxx" parameter to dotest.py to specify path to custom libc++



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
9b27646b1327c09d398dd0ace6f0c41d3179477b 30-Jul-2013 Stefanus Du Toit <stefanus.du.toit@intel.com> Use -Wl to specify -rpath correctly.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7b30525922628ac36632374a2d73b7412073e849 25-Jul-2013 Ed Maste <emaste@freebsd.org> tests: Build test code on FreeBSD the same way as on Linux



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
dcddd0c77a8992872204ef3530cb38ee996d6d5c 25-Jul-2013 Ed Maste <emaste@freebsd.org> Fix test execution on FreeBSD versions other than 9.x

The tests use a plugin based on the name from sys.platform.
Unfortunately that string includes the major version number in
Python 2.7, so the tests would look for builder_freebsd9.py,
builder_freebsd10.py, etc.

The issue doesn't affect Linux as Python returns 'linux2' also
on Linux 3.x -- see http://bugs.python.org/issue12326 for details.

It seems later versions of Python will drop the major version
number, so adopt this convention now for FreeBSD.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
4e6d297d49a91978aa845c14d2a1ab93cffe6003 24-Jul-2013 Ed Maste <emaste@freebsd.org> Add expectedFailureFreeBSD test wrapper


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7847c11ac00826778576178958776e921ba31846 09-Jul-2013 Ed Maste <emaste@freebsd.org> Update exception to match decorator name


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ff5c6d9c07c02c80b24a59c25d9f5edd518479c4 09-Jul-2013 Daniel Malea <daniel.malea@intel.com> Add TestConcurrentEvents test for LLDB's handling of inferior threads
- Test verifies LLDB's handling of inferiors with threads that: hit breakpoints,
modfiy variables that have watchpoints set, generate user signals, and crash.
- Add a few "stress tests" (with ~100 threads) -- run these with "-l" dotest.py
flag.
- Fix stop_reason_to_str helper in lldbutil to handle eStopReasonThreadExited.
- Add sort_stopped_threads helper to lldbutil to separate thread lists based
on stop reason.

Logged llvm.org/pr16566 and llvm.org/pr16567 for bugs exposed.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
aedf8e058dee5f847f607c2098eb61e1d6327c3d 25-Jun-2013 Ed Maste <emaste@freebsd.org> Skip tests that hang on FreeBSD

There's still significant work to do in the FreeBSD port, so no point
in a pr for these yet.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
b1fb72761226817e7f687eca21cbe9c0a3ec4cf6 18-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/14134716>

This is a rewrite of the command history facility of LLDB

It takes the history management out of the CommandInterpreter into its own CommandHistory class
It reimplements the command history command to allow more combinations of options to work correctly (e.g. com hist -c 1 -s 5)
It adds a new --wipe (-w) option to command history to allow clearing the history on demand
It extends the lldbtest runCmd: and expect: methods to allow adding commands to history if need be
It adds a test case for the reimplemented facility



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
beeeeb5971c92c82d313ebdf3efdb55327ed2270 08-Jun-2013 Andrew Kaylor <andrew.kaylor@intel.com> Don't set stdin to devnull for forked processes

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
0c521648b02c92a221293d7f9762b6c5a4b02813 06-Jun-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Reworked the routine that qualifies the tool-chain for expected failures to handle sub-strings.
- For instance, allows 'gcc' to match x86-64-linux-gnu-gcc as required on some Debian builds.
- Also adds doc-strings and a more consistent naming convention for related helpers.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
adbaa44e549bf6fa9adca947e9e8821ffb12d063 05-Jun-2013 Daniel Malea <daniel.malea@intel.com> Add test cases for attaching to a process after fork
- one test case is due to llvm.org/pr16229
- other test case uses a Linux workaround for above by using os.fork() instead of subprocess module

Patch by Andy Kaylor!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
3bd2ebd670677dae45010bf53084ff85da7c6a5e 29-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Adding support for stopping all threads of multithreaded inferiors on Linux. Also adding multithreaded test cases.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
b7d46e3862df0b72b07abab13b96e7898ddd4a1e 17-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Fix xpasses on the gcc buildbots using compiler versions to qualify the xfail.

- Note that this is not correct, as the failure is associated with build options of libc.so, however it's failing on a Debian buildbot that uses gcc 4.6.2 (and the real goal is a complete backtrace even with -fomit-frame-pointer).

- Adds helpers to lldbtest.py to check the expectedCompiler and expectedVersion, with an eventual goal of reducing the number of test decorators.
--- Currently allows a comparison operator and a compiler version to be specified.
--- Can be extended to support ranges of compiler versions.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5a7a23262e7f326162f4afd66ea494e9baa6bcb4 17-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Adds a test case for bugzilla #15671 patterned after TestInferiorCrashing.py.

- On Linux, the partial back-trace after an assert can cause the basic test to fail as discussed on lldb-dev.
- Uses SBFrame to walk up the stack to the assert site and tests expression evaluation of locals, globals and arguments.

Thanks to Daniel for review and testing on OS/X.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
6bc4dcdfbcdfa455299d2123011b82a77351ee72 15-May-2013 Daniel Malea <daniel.malea@intel.com> Clean up linux test decorators and add links to known bugs
- s/skipOnLinux/skipIfLinux/ to match style of every other decorator
- linkify bugizilla/PR numbers in comments

No intended change in functionality.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ec8422471e8ed85c4f662075b9d9cdbe9f172f82 15-May-2013 Jim Ingham <jingham@apple.com> Need to add the LLDB.framework directory to the rpath for the driver programs or they won't run.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
156d8e04b9434923ab8e1bf9d3e81c0e71fccd36 14-May-2013 Daniel Malea <daniel.malea@intel.com> Skip C++ API/Multithreaded tests that are unsupported with Clang/libstdc++
- older versions of clang are unable to include <chrono> from libstdc++
- skipping tests until buildbots are updated



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
3d4d51cd1bdef32ab61ba9e1de75d5a4f4c1dbed 07-May-2013 Matt Kopec <Matt.Kopec@intel.com> Add watchpoint support for Linux on 64-bit host.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
15802aa44d6696f1cf140d8ff4cefec5eaface8d 06-May-2013 Daniel Malea <daniel.malea@intel.com> Fix typo in C++11 flag for the GCC 4.6 code path: missing '-'



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
9c57067cd46455cf68e41c25a58c33ef529203c7 02-May-2013 Daniel Malea <daniel.malea@intel.com> Fix check_public_api_headers test on mac os x, and refactor some logic into lldbtest.py
- moved build logic from Makefile and TestPublicAPIHeaders.py into lldbtest to allow reuse
- added decorator @skipIfi386



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
57d4ab262f574ed1e1da955a7b6eb091156c343c 15-Mar-2013 Matt Kopec <Matt.Kopec@intel.com> Add icc support to the test suite
-adds icc to the lit of compilers to run the tests
-adds icc test decorators
-skip TestAnonymous.py for icc

Patch by Ashok Thirumurthi.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
48c6b3354d308f669a29f21db7037bc66317fb75 06-Mar-2013 Greg Clayton <gclayton@apple.com> Fixed test suite errors due to new clang -v output.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5e4adbf360b9008f896244e8a9c21de9e27111cd 28-Feb-2013 Greg Clayton <gclayton@apple.com> Fix the getCompilerVersion() function to do the right thing with clang 5.0 which now says "LLVM version" instead of "clang version".



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
54fcf68db861e90075f40b8d2ee082f04b22e8ad 27-Feb-2013 Daniel Malea <daniel.malea@intel.com> Cleanup TestUniqueTypes.py and add getCompilerVersion() to test harness
- pull up logic to get compiler version from TestUniqueTypes.py into lldbtest.py
- work around an GCC 4.6.3 issue



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
786e87320ab324ebc6f3885fb27a9f83770c51d6 23-Feb-2013 Enrico Granata <egranata@apple.com> This should get clang/gcc decorators working

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
4d82e973c42d78ac83bcd819329ca017f6dcabb5 23-Feb-2013 Enrico Granata <egranata@apple.com> Fixing issues in previous checkin - still figuring out how to make expectedFailureClang take the bugnumber

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
21416a1d09aad1e25401e54578c3343bb0f0c25f 23-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12362092>

The decorators @expectedFailure (plain and special-case like i386, clang, ...) are modified to optionally take a bugnumber argument
If such an argument is specified, the failure report (or unexpected success report) will include the information passed in as part of the message
This is mostly useful for associating failures to issue IDs in issue management systems (e.g. the LLVM bugzilla)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c29f0f3b6d85783bce2184e59be804aed548ea84 22-Feb-2013 Daniel Malea <daniel.malea@intel.com> Make the lldbtest tear down routine a little less error prone
- replace "catch-all" except clause with one that specifically catches what pexpect throws
- handle case where child is already terminated (or is terminating) by the time tear-down is run



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
8b5c29d670643d4c7c1c54b4f866ee65544cc902 19-Feb-2013 Daniel Malea <daniel.malea@intel.com> Minor test runner improvemenst
- rework the way SBDebugger.SetAsync() is used to avoid side effects (reset original value at TearDownHook)
- refactor expectedFailureClang (and add expectedFailureGcc decorator)
- mark TestChangeValueAPI.py as expectedFailureGcc due to PR-15039



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5c5f01bceb15145647726b369e947c617d4697e9 15-Feb-2013 Daniel Malea <daniel.malea@intel.com> Fix misuse of python subprocess module (caused "leaking" processes and garbling the terminal)
- fixed cleanup of Popen objects by pushing spawn logic into test Base and out of test cases
- connect subprocess stdin to PIPE (rather than the parent's STDIN) to fix silent terminal issue

Tested on Linux and Mac OS X



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5eebe9455547f566a49baf682210d385e7a4ab7b 25-Jan-2013 Daniel Malea <daniel.malea@intel.com> Disable confirmation prompts for testing
- set auto-confirm to false when running TestExprs (avoid hang when using API)
- set prompt-on-quit to false in test helper (avoid timeout when using lldb CLI)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
cd630e77e4236388ca7da8ba8c7565130b63a693 25-Jan-2013 Daniel Malea <daniel.malea@intel.com> Mark test cases affected by PR 15036 (GCC-generated DWARF causes parser crash)
- Add new decorator "@skipIfGcc" to lldbtest.py



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7bf78a0df77cb21fc3e609b983bb43aaf103148d 27-Nov-2012 Jim Ingham <jingham@apple.com> The skipOnLinux decorator wasn't calling the test method correctly (no need to pass in the "self") resulting
in errors on MacOS X for the tests so decorated.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
e5aa0d42b55ff6510888c737ef731f3fc1b54bb2 26-Nov-2012 Daniel Malea <daniel.malea@intel.com> Fix for TestSharedLib.py (on Linux)
- use lldb 'settings' command to help testcase find shared library
- pull up dyldPath variable from TestLoadUnload.py to fixture base class (applicable in multiple cases)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
40c9d75f2f6402227fed4e0a25daf18b683cb5e7 23-Nov-2012 Daniel Malea <daniel.malea@intel.com> Update test status on Linux
- add decorators @expectedFailLinux and @skipOnLinux
- skip/mark xfail cases due to open bugzillas # 14323, 14416, 14423, 14424, 14425, 14426

Patch by Ashok Thirumurthi!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
fb6a8bb1f77f09f669996ba4fd743aa35536b837 24-Oct-2012 Enrico Granata <egranata@apple.com> And one more logging message goes away

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
03bc3fdfcadaeb9a3f9e7dcc686328c7b5e3387c 24-Oct-2012 Enrico Granata <egranata@apple.com> Reverting unwanted changes to the test suite

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
671dd558650c457d54f124a58db91b0e26802399 24-Oct-2012 Enrico Granata <egranata@apple.com> Reverting the changes to Scalar since this class needs to follow C rules for type promotion

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
b2c1a4102e3bc13ac89d605fbe524d60daf5e5de 24-Oct-2012 Greg Clayton <gclayton@apple.com> Patch from Ashok Thirumurthi that enabled FPU registers for POSIX x86_64.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
0fd6c8dc95068f9c05f4706bc97ff25bf75684a2 24-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12481949> Fixing SBValue.GetValueAsSigned() to do the right thing when dealing with a 32-bit negative value

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
251729ef30fde23e4b1256690fbb60962390e560 24-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12523238> Commit 3 of 3

Changed all relevant test cases to verify that MightHaveChildren() works correctly for objects of interest
Added a bunch of convenience methods for test cases to use: target(), process(), thread() and frame() which mimic the lldb.X convenience variables
As a bonus, edited the documentation on the website to describe the new method available for synthetic children providers writers to implement!

That's all folks!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
01458ca40d79e33ee440e5d48dfdd92503f77dfe 23-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12500212> Test case for the new plugin feature

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
783ac95c2aeaeed69a508535c6e0951fd29a55c8 16-Oct-2012 Sean Callanan <scallanan@apple.com> If a full path to a compiler is provided on the
command line to dotest.py, replace / with _ in
the logfile names that mention that compiler so
that we don't try to put log files in weird
places.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
431d839a33e9a274e705f7a268a1c9de2ffc2da2 22-Sep-2012 Jim Ingham <jingham@apple.com> Fix all the test case breakages caused by folks writing tests all over the place that depended explicitly
on the output of "break set". Please don't do this sort of thing!!!!!


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ac3a8e2b8f5df868f86921d7231bda6356a1366b 21-Sep-2012 Enrico Granata <egranata@apple.com> Initial commit of a new testsuite feature: test categories.

This feature allows us to group test cases into logical groups (categories), and to only run a subset of test cases based on these categories.

Each test-case can have a new method getCategories(self): which returns a list of strings that are the categories to which the test case belongs.
If a test-case does not provide its own categories, we will look for categories in the class that contains the test case.
If that fails too, the default implementation looks for a .category file, which contains a comma separated list of strings.
The test suite will recurse look for .categories up until the top level directory (which we guarantee will have an empty .category file).

The driver dotest.py has a new --category <foo> option, which can be repeated, and specifies which categories of tests you want to run.
(example: ./dotest.py --category objc --category expression)

All tests that do not belong to any specified category will be skipped. Other filtering options still exist and should not interfere with category filtering.
A few tests have been categorized. Feel free to categorize others, and to suggest new categories that we could want to use.

All categories need to be validly defined in dotest.py, or the test suite will refuse to run when you use them as arguments to --category.

In the end, failures will be reported on a per-category basis, as well as in the usual format.

This is the very first stage of this feature. Feel free to chime in with ideas for improvements!


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
894eab4759a32d152a7a9d9d8e614e82e2452929 01-Aug-2012 Johnny Chen <johnny.chen@apple.com> Silence the "Command ... failed!" message when not running in trace mode.
You run with trace mode by passing '-t' to the test driver.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
dee13ce54bb21ba3cd113e22a3201c573ee54ba5 20-Jun-2012 Filipe Cabecinhas <me@filcab.net> Continue the cleanup started on r158737

Adds a utility class method to TestBase that checks and removes a temp
file.
Removed every use of system() to execute rm -f.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
e39170b0231ec3091423dcd5212815ec7600755d 16-May-2012 Johnny Chen <johnny.chen@apple.com> Update the comments for lldbtest module. The test driver is the only way to run the test suite.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
fb3c775950754afc1a923b7f705d768cfb803c0b 19-Apr-2012 Johnny Chen <johnny.chen@apple.com> The session file name should be tagged with (architecture, compiler) in addition
to the already existing (test result, test id) to avoid collision and to
facilitate postmortem analysis.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ac97a6bc2910f3e0cbb9958102f0eda04e7894c4 16-Apr-2012 Johnny Chen <johnny.chen@apple.com> Add the capability of supplying the pre/post-flight functions to the test suite such that
the pre-flight code gets executed during setUp() after the debugger instance is available
and the post-flight code gets executed during tearDown() after the debugger instance has
done killing the inferior and deleting all the target programs.

Example:

[11:32:48] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-pre-post-flight functionalities/watchpoint/hello_watchpoint
config: {'pre_flight': <function pre_flight at 0x1098541b8>, 'post_flight': <function post_flight at 0x109854230>}
LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug
LLDB-139
Path: /Volumes/data/lldb/svn/ToT
URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk
Repository Root: https://johnny@llvm.org/svn/llvm-project
Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
Revision: 154753
Node Kind: directory
Schedule: normal
Last Changed Author: gclayton
Last Changed Rev: 154730
Last Changed Date: 2012-04-13 18:42:46 -0700 (Fri, 13 Apr 2012)


lldb.pre_flight: def pre_flight(test):
__import__("lldb")
__import__("lldbtest")
print "\nRunning pre-flight function:"
print "for test case:", test

lldb.post_flight: def post_flight(test):
__import__("lldb")
__import__("lldbtest")
print "\nRunning post-flight function:"
print "for test case:", test


Session logs for test failures/errors/unexpected successes will go into directory '2012-04-16-11_34_08'
Command invoked: python ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-pre-post-flight functionalities/watchpoint/hello_watchpoint
compilers=['clang']

Configuration: arch=x86_64 compiler=clang
----------------------------------------------------------------------
Collected 2 tests

1: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
Test a simple sequence of watchpoint creation and watchpoint hit. ...
Running pre-flight function:
for test case: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)

Running post-flight function:
for test case: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
ok
2: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
Test a simple sequence of watchpoint creation and watchpoint hit. ...
Running pre-flight function:
for test case: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)

Running post-flight function:
for test case: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
ok

----------------------------------------------------------------------
Ran 2 tests in 1.584s

OK


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
a3ed7d834b0e0c6924ac95629e740682bbcd15ba 06-Apr-2012 Johnny Chen <johnny.chen@apple.com> Add a new option to the test driver, -N dsym or -N dwarf, in order to exclude tests decorated with
either @dsym_test or @dwarf_test to be executed during the testsuite run. There are still lots of
Test*.py files which have not been decorated with the new decorator.

An example:

# From TestMyFirstWatchpoint.py ->
class HelloWatchpointTestCase(TestBase):

mydir = os.path.join("functionalities", "watchpoint", "hello_watchpoint")

@dsym_test
def test_hello_watchpoint_with_dsym_using_watchpoint_set(self):
"""Test a simple sequence of watchpoint creation and watchpoint hit."""
self.buildDsym(dictionary=self.d)
self.setTearDownCleanup(dictionary=self.d)
self.hello_watchpoint()

@dwarf_test
def test_hello_watchpoint_with_dwarf_using_watchpoint_set(self):
"""Test a simple sequence of watchpoint creation and watchpoint hit."""
self.buildDwarf(dictionary=self.d)
self.setTearDownCleanup(dictionary=self.d)
self.hello_watchpoint()


# Invocation ->
[17:50:14] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -N dsym -v -p TestMyFirstWatchpoint.py
LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug
LLDB-137
Path: /Volumes/data/lldb/svn/ToT
URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk
Repository Root: https://johnny@llvm.org/svn/llvm-project
Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
Revision: 154133
Node Kind: directory
Schedule: normal
Last Changed Author: gclayton
Last Changed Rev: 154109
Last Changed Date: 2012-04-05 10:43:02 -0700 (Thu, 05 Apr 2012)



Session logs for test failures/errors/unexpected successes will go into directory '2012-04-05-17_50_49'
Command invoked: python ./dotest.py -N dsym -v -p TestMyFirstWatchpoint.py
compilers=['clang']

Configuration: arch=x86_64 compiler=clang
----------------------------------------------------------------------
Collected 2 tests

1: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
Test a simple sequence of watchpoint creation and watchpoint hit. ... skipped 'dsym tests'
2: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
Test a simple sequence of watchpoint creation and watchpoint hit. ... ok

----------------------------------------------------------------------
Ran 2 tests in 1.138s

OK (skipped=1)
Session logs for test failures/errors/unexpected successes can be found in directory '2012-04-05-17_50_49'
[17:50:50] johnny:/Volumes/data/lldb/svn/ToT/test $


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
e1219bf98d8525a17abf9af506a4c75923ae6037 16-Mar-2012 Johnny Chen <johnny.chen@apple.com> Fix a bug in getRunOptions() where there was no space between the arch spec and the compiler spec.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
dbe2c827dfc16cbbaa1b33cc2d806368b9a0bea2 15-Mar-2012 Johnny Chen <johnny.chen@apple.com> Add a test case to go with <rdar://problem/11052829> and svn check-in r152809.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
f0ff42a169e90f4ca45b1c1d0ad99b93a092e128 28-Feb-2012 Johnny Chen <johnny.chen@apple.com> During the test case tearDown(), give it one final blow to make sure the child process spawned by pexpect is terminated.
Fix the issue of many '(lldb)' zombie processes observed by Jim.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7be5d353622a652956822978d861d1353b903697 09-Feb-2012 Johnny Chen <johnny.chen@apple.com> Add safe guard for when the 'expect' program cannot be located and skip the test.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
2ef5eae17206b691a259975cfeacdecff7e054c3 03-Feb-2012 Johnny Chen <johnny.chen@apple.com> Add test cases for APIs to get template arguments from an SBType.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
cbf1591dd5b3d9d364d401bd857241bde198b645 01-Feb-2012 Johnny Chen <johnny.chen@apple.com> lldb should warn when dSYM does not match the binary.

o Symbols.cpp:

Emit a warning message when dSYM does not match the binary.

o warnings/uuid:

Added regression test case.

o lldbtest.py:

Modified to allow test case writer to demand that the build command does not begin
with a clean first; required to make TestUUIDMismatchWanring.py work.

rdar://problem/10515708


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
fbcad6858fbc4b1401bd2ac10471e32f1fa8494d 21-Jan-2012 Johnny Chen <johnny.chen@apple.com> o CommandObjectSettingsSet.cpp:

Fix a bug where "settings set -r th" wouldn't complete.

o UserSettingsController.cpp:

Fix a bug where "settings set target.process." wouldn't complete.

o test/functionalities/completion:

Add various completion test cases related to 'settings set' command.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
869e296d2eed659103d7ddecaee06356b83b9433 22-Dec-2011 Johnny Chen <johnny.chen@apple.com> Decorate the two test cases in TestReturnValue.py as i386 only expectedFailure, aka @expectedFailurei386.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
dfa0cdb9655a1c6b5b4880dcbd9a63a81fdff40c 03-Dec-2011 Johnny Chen <johnny.chen@apple.com> Let's also record the compiler version used for compiling the inferior into the session info


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
028d8ebd7e97d46e3de13fd977f8a17d6bf246f5 17-Nov-2011 Johnny Chen <johnny.chen@apple.com> Add an option '-S' to skip the build and cleanup while running the test.
Use this option with care as you would need to build the inferior(s) by hand
and build the executable(s) with the correct name(s). This option can be used
with '-# n' to stress test certain test cases for n number of times.

An example:

[11:55:11] johnny:/Volumes/data/lldb/svn/trunk/test/python_api/value $ ls
Makefile TestValueAPI.pyc linked_list
TestValueAPI.py change_values main.c
[11:55:14] johnny:/Volumes/data/lldb/svn/trunk/test/python_api/value $ make EXE=test_with_dsym
clang -gdwarf-2 -O0 -arch x86_64 -c -o main.o main.c
clang -gdwarf-2 -O0 -arch x86_64 main.o -o "test_with_dsym"
/usr/bin/dsymutil -o "test_with_dsym.dSYM" "test_with_dsym"
[11:55:20] johnny:/Volumes/data/lldb/svn/trunk/test/python_api/value $ cd ../..
[11:55:24] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v -# 10 -S -f ValueAPITestCase.test_with_dsym
LLDB build dir: /Volumes/data/lldb/svn/trunk/build/Debug
LLDB-89
Path: /Volumes/data/lldb/svn/trunk
URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk
Repository Root: https://johnny@llvm.org/svn/llvm-project
Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
Revision: 144914
Node Kind: directory
Schedule: normal
Last Changed Author: gclayton
Last Changed Rev: 144911
Last Changed Date: 2011-11-17 09:22:31 -0800 (Thu, 17 Nov 2011)



Session logs for test failures/errors/unexpected successes will go into directory '2011-11-17-11_55_29'
Command invoked: python ./dotest.py -v -# 10 -S -f ValueAPITestCase.test_with_dsym
----------------------------------------------------------------------
Collected 1 test

1: test_with_dsym (TestValueAPI.ValueAPITestCase)
Exercise some SBValue APIs. ... ok

----------------------------------------------------------------------
Ran 1 test in 1.163s

OK
1: test_with_dsym (TestValueAPI.ValueAPITestCase)
Exercise some SBValue APIs. ... ok

----------------------------------------------------------------------
Ran 1 test in 0.200s

OK
1: test_with_dsym (TestValueAPI.ValueAPITestCase)
Exercise some SBValue APIs. ... ok

----------------------------------------------------------------------
Ran 1 test in 0.198s

OK
1: test_with_dsym (TestValueAPI.ValueAPITestCase)
Exercise some SBValue APIs. ... ok

----------------------------------------------------------------------
Ran 1 test in 0.199s

OK
1: test_with_dsym (TestValueAPI.ValueAPITestCase)
Exercise some SBValue APIs. ... ok

----------------------------------------------------------------------
Ran 1 test in 0.239s

OK
1: test_with_dsym (TestValueAPI.ValueAPITestCase)
Exercise some SBValue APIs. ... ok

----------------------------------------------------------------------
Ran 1 test in 1.215s

OK
1: test_with_dsym (TestValueAPI.ValueAPITestCase)
Exercise some SBValue APIs. ... ok

----------------------------------------------------------------------
Ran 1 test in 0.105s

OK
1: test_with_dsym (TestValueAPI.ValueAPITestCase)
Exercise some SBValue APIs. ... ok

----------------------------------------------------------------------
Ran 1 test in 0.098s

OK
1: test_with_dsym (TestValueAPI.ValueAPITestCase)
Exercise some SBValue APIs. ... ok

----------------------------------------------------------------------
Ran 1 test in 0.195s

OK
1: test_with_dsym (TestValueAPI.ValueAPITestCase)
Exercise some SBValue APIs. ... ok

----------------------------------------------------------------------
Ran 1 test in 1.197s

OK
[11:55:34] johnny:/Volumes/data/lldb/svn/trunk/test $


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
22ca65d81453600c57b4c9befa4e310835f469b5 16-Nov-2011 Johnny Chen <johnny.chen@apple.com> Docstring clarification.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
30b30cbbec73a8b6d5ee08eec565df892ca70b2f 16-Nov-2011 Johnny Chen <johnny.chen@apple.com> Also dump the pid of the process launching through the lldbtest.system(*popenargs, **kwargs) API.
This helps track down possible zombie processes.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
644ad087128da16a5533b3ce6cf0fb0cbaebb722 19-Oct-2011 Johnny Chen <johnny.chen@apple.com> Modify lldbtest.Base.runHooks() to now take the following keyword arguments:

child=None, child_prompt=None, use_cmd_api=False

By default, expect a pexpect spawned child and child prompt to be
supplied (use_cmd_api=False). If use_cmd_api is true, ignore the child
and child prompt and use self.runCmd() to run the hooks one by one.

Modify existing client to reflect the change.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5f3c567ea3bcd789ee4cd1f01fd38b816c5be46f 19-Oct-2011 Johnny Chen <johnny.chen@apple.com> Extract the run hooks functionality into the base class lldbtest.Base.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7d7f447af7fba3eae442ab99c18f5ae532886099 07-Oct-2011 Johnny Chen <johnny.chen@apple.com> If we spawn an lldb process for test (via pexpect), do not load the init file unless told otherwise.
Set up self.lldbOption to be "--no-lldbibit" unless env variable NO_LLDBIBIT is defined and equals "NO".
Also add "-nx" to gdb spawned.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
90c56e6324c7099f6c98c6c28427214824677d4b 30-Sep-2011 Johnny Chen <johnny.chen@apple.com> o lldbtest.py:

Add a keyword argument 'endstr' to TestBase.expect() method to assert that the output
will end with 'endstr'.

Add TestBase.switch_to_thread_with_stop_reason(stop_reason) to select the thread with
the stop reason = 'stop_reason' as the current thread.

o TestWatchLocation.py:

Modified to switch to the stopped thread with stop reason = watchpoint and to evaluate
an expression with expected output for stronger assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
58c66e2c4273c101a82ce02e17cc10d338b825bb 15-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add a simple watchpoint test to exercise watchpoint creation followed by watchpoint hit events.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
6033bedc163bc57b5e5c3c1aee8ba81f64b4f11e 26-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add a new attribute self.lldbHere, representing the fullpath to the 'lldb' executable
built locally from the source tree. This is distinguished from self.lldbExec, which
can be used by test/benchmarks to measure the performances against other debuggers.

You can use environment variable LLDB_EXEC to specify self.lldbExec to the dotest.py
test driver, otherwise it is going to be populated with self.lldbHere.

Modify the regular tests under test dir, i.e., not test/benchmarks, to use self.lldbHere.
Also modify the benchmarks tests to use self.lldbHere when it needs an 'lldb' executable
with debug info to do the performance measurements.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
b7058c5e24dc3cb8433c40f72fb57f5303a4169f 24-Aug-2011 Johnny Chen <johnny.chen@apple.com> Pretty print the run options for dumpSessionInfo(self) client.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7c9136bd673d483c5c47e6f310e1d7278e29f5d4 19-Aug-2011 Johnny Chen <johnny.chen@apple.com> Minor change for the @expectedFailureClang logic. For the non-clang test failure, re-raise
the exception to get more stack trace information.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
65040cbce499d67cf9b92fd845b3cfb84efe98f0 19-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add a decorator for marking clang only expectedFailure. Use it for the test_step_over_3_times_with_dsym/dwarf()
test cases in TestThreadAPI.py by decorating it with @expectedFailureClang.

Example:

@expectedFailureClang
@python_api_test
def test_step_over_3_times_with_dwarf(self):
"""Test Python SBThread.StepOver() API."""
# We build a different executable than the default buildDwarf() does.
d = {'CXX_SOURCES': 'main2.cpp', 'EXE': self.exe_name}
self.buildDwarf(dictionary=d)
self.setTearDownCleanup(dictionary=d)
self.step_over_3_times(self.exe_name)


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
770683dac25c30a80e07e0f4379ccf878b9e16d5 17-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add comment about recent change.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
8339f9820b1e418d7cff64551cd26bb26e5d8e29 16-Aug-2011 Johnny Chen <johnny.chen@apple.com> Fix the test suite error of:

...

File "/Volumes/data/lldb/svn/trunk/test/lldbtest.py", line 243, in __init__
self.session = test.session if test else None
AttributeError: 'StdCXXDisassembleTestCase' object has no attribute 'session'


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
cd1df5aa6af07a0228f853013f90f5f6339cd5a3 16-Aug-2011 Johnny Chen <johnny.chen@apple.com> Forgot to initialize the self.__skipped__ attribute lldbtest.Base.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
f5b89098f19f0600a7495215bc35af5cd6130ca2 16-Aug-2011 Johnny Chen <johnny.chen@apple.com> Test driver should also report skipped tests because there were cases when tests were skipped
due to incorrect skip-logic.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7f9985a68d49e284145cc1daeea3d2e9d48eb138 12-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add TestInferiorChanged.py to test that lldb reloads the inferior after it was changed during the debug session.
First, main.c causes a crash, the inferior then gets re-built with main2.c which is not crashing.

Add Base.cleanup(self, dictionary=None) for platform specfic way to do cleanup after build.
This plugin method is used by the above test case to cleanup the main.c build before rebuild for main2.c.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
6fd55f169aa1a3a4882e579dbbd19349367fd843 11-Aug-2011 Johnny Chen <johnny.chen@apple.com> When a benchmarks test fails, the re-run command should include the '+b' option instead of the '-t' option.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
d7e04d9473e155e459d15eff744e1d954197a97d 05-Aug-2011 Johnny Chen <johnny.chen@apple.com> o modify-python-lldb.py:

Add the rich comparison methods (__eq__, __ne__) to SBType, too.

o lldbtest.py:

Add debug utility method TestBase.DebugSBType().

o test/python_api/type:

Add tests for exercising SBType/SBTypeList API, including the SBTarget.FindTypes(type_name)
API which returns a SBTypeList matching the type_name.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
113388fdb7fddce04da5016471371ee1d9af62f5 03-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add the real benchmarks comparing lldb against gdb for repeated expression evaluations.
Modify lldbbench.py so that lldbtest.line_number() utility function is available to
BenchBase client as just line_number(), and modify lldbtest.py so that self.lldbExec
(the full path for the 'lldb' executable) is available to BenchBase client as well.

An example run of the test case on my MacBook Pro running Lion:

1: test_compare_lldb_to_gdb (TestRepeatedExprs.RepeatedExprsCase)
Test repeated expressions with lldb vs. gdb. ...
lldb_avg: 0.204339
gdb_avg: 0.205721
lldb_avg/gdb_avg: 0.993284
ok


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
71cb797f38e73fae0497ff6ab336efd357cf88ce 01-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add an abstract base class called BenchBase to be inherited by benchmark tests.
Modify the example TestRepeatedExprs.py to use BenchBase, instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
cbe51264bb424db04b58dcb8fa5c80412be040c9 01-Aug-2011 Johnny Chen <johnny.chen@apple.com> More refactorings to migrate logic from TestBase to its parent class.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
366fb8cfbef3841a8162b6250137dc8fc8c2d1d7 01-Aug-2011 Johnny Chen <johnny.chen@apple.com> Start refactoring lldbtest.TestBase so that it inherits from a newly created lldbtest.Base class,
while its API clients remain unchanged. The new lldbtest.Base class is to capture common behaviors
when working with the test driver to accomplish things. The clients of lldbtest.Base can be
lldb command line and api tests as well as other generic tests like a benchmark test.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
82ccf4033d09dc7002637ddc70a3ffcc518a58c9 30-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add a @benchmarks_test decorator for test method we want to categorize as benchmarks test.
The test driver now takes an option "+b" which enables to run just the benchmarks tests.
By default, tests decorated with the @benchmarks_test decorator do not get run.

Add an example benchmarks test directory which contains nothing for the time being,
just to demonstrate the @benchmarks_test concept.

For example,

$ ./dotest.py -v benchmarks

...

----------------------------------------------------------------------
Collected 2 tests

1: test_with_gdb (TestRepeatedExprs.RepeatedExprssCase)
Test repeated expressions with gdb. ... skipped 'benchmarks tests'
2: test_with_lldb (TestRepeatedExprs.RepeatedExprssCase)
Test repeated expressions with lldb. ... skipped 'benchmarks tests'

----------------------------------------------------------------------
Ran 2 tests in 0.047s

OK (skipped=2)
$ ./dotest.py -v +b benchmarks

...

----------------------------------------------------------------------
Collected 2 tests

1: test_with_gdb (TestRepeatedExprs.RepeatedExprssCase)
Test repeated expressions with gdb. ... running test_with_gdb
benchmarks result for test_with_gdb
ok
2: test_with_lldb (TestRepeatedExprs.RepeatedExprssCase)
Test repeated expressions with lldb. ... running test_with_lldb
benchmarks result for test_with_lldb
ok

----------------------------------------------------------------------
Ran 2 tests in 0.270s

OK

Also mark some Python API tests which are missing the @python_api_test decorator.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5503d468e43aae7d047c9b98baf626fc5b6c352d 16-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add TestValueAPI.py to exercise the newly added/modified SBValue APIs:

o GetChildAtIndex, and
o GetValueForExpressionPath


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
57cd6dd664694d772cff3d721617101bb60d4cb4 11-Jul-2011 Johnny Chen <johnny.chen@apple.com> Update the test scenario for find_global_variables() to now start the inferior process
before issuing API calls to find the global variable and to get its value.

rdar://problem/9700873 has been updated to reflect the latest status. The dwarf case
now does not seg fault if the inferior is not started; instead, for dwarf case, the
value retrieved from the global variable is None.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c0dbdc089884c1fe07568588558199824357eaca 27-Jun-2011 Johnny Chen <johnny.chen@apple.com> Add TestPrintObj.py to go with lang/objc/print-objc, which:

Test "print object" where another thread blocks the print object from making progress.

Set a breakpoint on the line in my_pthread_routine. Then switch threads
to the main thread, and do print the lock_me object. Since that will
try to get the lock already gotten by my_pthread_routime thread, it will
have to switch to running all threads, and that should then succeed.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
b7e27f4ed399c04362e2f40ba1d800846b819077 24-Jun-2011 Johnny Chen <johnny.chen@apple.com> o lldbtest.py:

Assign the test method name to self.testMethodName. This can be useful for the
test directory (see test/types for a good example) which houses a bunch of executables
compiled from different source files. The default build action is to create a.out as
the binary executable, which can confuse the module cacheing mechanism and result in
the debugger getting a stale image as the target to be debugged, and chaos ensues.

o AbstractBase.py, TestThreadAPI.py:

Use self.testMethodName to our advantage.

o TestLoadUnload.py:

Add expected failure marker to test case test_modules_search_paths().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
9a9fcf668980788b50322dfd28287ceb81486918 21-Jun-2011 Johnny Chen <johnny.chen@apple.com> For now, insert some delays between succesive test cases in the test/types directory
if not already specified by the test driver (via ./dotest -w). Remove the AbstractBase.setUp()
method definition when/if we find out the cause of the failures if no delays are inserted
between these test cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
39bd53698ad04f760e4b9a79cde627cb0d3cf0e1 20-Jun-2011 Peter Collingbourne <peter@pcc.me.uk> Add a builder module for Linux (plus some refactoring)

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ef6f476b2487400d54e7f539f0682edc2913d2aa 15-Jun-2011 Johnny Chen <johnny.chen@apple.com> Simplify the base test class. Remove keyword argument setCookie from TestBase.runCmd() and
remove the self.runStarted attribute since the automatic shutdown of processes associated
with the targets are now performed automatically.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
409646d247dc8a1efe4f199a1b251516ffc62f60 15-Jun-2011 Johnny Chen <johnny.chen@apple.com> Add an API to SBDebugger class:

bool SBDebugger::DeleteTarget(lldb::SBTarget &target);

which is used in the test tearDown() phase to cleanup the debugger's target list
so that it won't grow larger and larger as test cases are executed. This is also
a good opportunity to get rid of the arcane requirement that test cases exercising
the Python API must assign the process object to self.process so that it gets
shutdown gracefully. Instead, the shutdown of the process associated with each
target is now being now automatically.

Also get rid of an API from SBTarget class:

SBTarget::DeleteTargetFromList(lldb_private::TargetList *list);


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5fd8612fcb026b425461c9340fc1c77e7b0facf9 14-Jun-2011 Johnny Chen <johnny.chen@apple.com> Removed unneeded method breakAfterLaunch() from the TestBase class to simplify our base class.
It was introduced to work around some debugger infrastructure bug which has long since been fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
35ec4f14d52bec01c6fa6dd8196b5dc167224a6d 06-Jun-2011 Johnny Chen <johnny.chen@apple.com> Remove extra whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
d8c1dd366116f03189a9e7af55dc110b202147c6 01-Jun-2011 Johnny Chen <johnny.chen@apple.com> Fix out-dated module docstring for lldbtest.py. Also wrap some lldb attribute references
inside a try-except block in case the test is not invoked through the dotest.py test driver.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
006b5959a02b73e8e95ecefdd7d03ccd1c72570b 01-Jun-2011 Johnny Chen <johnny.chen@apple.com> Move some comments to the docstrings.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7c8d0d4ecdf1f5c3b907c3e3ccf1b14e8ed1702e 28-May-2011 Johnny Chen <johnny.chen@apple.com> Fix some comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
b877031f1972bc40f25cdda9532d7c30d25f3412 28-May-2011 Johnny Chen <johnny.chen@apple.com> Add comment headers describing some method groups of our TestBase class.
Remove an unnecessary __import__() function call.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
960ce1206dbe268c7f3142fcf279e6392a852024 25-May-2011 Johnny Chen <johnny.chen@apple.com> Convert these two modules to use the compact truth value testing as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ac91027caa22212ac35de969fa53348b70e9bb28 07-May-2011 Johnny Chen <johnny.chen@apple.com> Add an API test script file for SBCommandInterpreter.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ab2f066e43817ca0f4b225a24c1a3e7b8166e2d4 06-May-2011 Johnny Chen <johnny.chen@apple.com> For a test with unexpected success status, we also dump its session info into a unique file.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
d4a094e16a0658f7936d8ddd4ae9e18569855479 06-May-2011 Johnny Chen <johnny.chen@apple.com> Comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
dedf087c2d184fa7cbf380650974ea294926f1bc 06-May-2011 Johnny Chen <johnny.chen@apple.com> Add comment for self.child_in_script_interpreter.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
058a24d100f6d1da87c06af25ef9102018859a30 06-May-2011 Johnny Chen <johnny.chen@apple.com> Use standard lldb enum -- lldb.eStopReasonBreakpoint.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
3a4622ecd670637002852690a54bcaa9339909d8 05-May-2011 Johnny Chen <johnny.chen@apple.com> Add a test script for verifying that the convenience variables:

o lldb.debugger
o lldb.target
o lldb.process
o lldb.thread
o lldb.frame

"just works" when we stop at a breakpoint.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c4ca1b33f4778cb66926dcdcfcd804e2ae622c12 04-May-2011 Johnny Chen <johnny.chen@apple.com> Use a more gentle way of shutting down the child process spawned during the test execution using pexpect.
Change some child.expect() to child.expect_exact() as they try to match the string, not a regular expression.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
22ae967dcb62bb685454d42ff854bc48fc359897 03-May-2011 Johnny Chen <johnny.chen@apple.com> A more robust pexpect-based test case for testing against the firing of stop hooks.
Change one test sequence to detect the '** End Stop Hooks **' marker emitted by the
stop hooks mechanism and check for whether the 'expr ptr' stop-hook has been run.

Also, change the TestBase.tearDown() to wait for 2 seocnds before forcefully kill
the pexpect-spawned child lldb process.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
47342d57ac5ac0bb2da765374229f94d98cb600a 27-Apr-2011 Johnny Chen <johnny.chen@apple.com> Change the rest of lldbutil.py's function names to all lower case formats to be consistent.
And modify the test cases accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
281aed3744d26477929ec0c0108b8ab3a910aec4 22-Apr-2011 Johnny Chen <johnny.chen@apple.com> Add a HideStdout() method to our TestBase class and call it from TestAbbreviations.py
and TestAliases.py. Pass the keyword argument 'check=False' to:

self.runCmd("script my.date()", check=False)

since we want to restore sys.stdout no matter what the outcome of the runCmd is.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c391239ec60eb19e891674011973524c8a29963a 19-Apr-2011 Johnny Chen <johnny.chen@apple.com> Modify docstring.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ab6378a047f71aec5a12aeaf65ac2380f5ef808c 19-Apr-2011 Johnny Chen <johnny.chen@apple.com> Add a TraceOn(self) method to the base test class, which returns True if we are
currently in trace mode (-t to dotest.py), i.e., tracing the lldb command execution.
Change TestInferiorCrashing.inferior_crashing_python(self) to check this flag in
order to print the stack trace of the inferior thread.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
44dc9d3b86cacd550e01a0c3ec7dd28126cf6ca4 18-Apr-2011 Johnny Chen <johnny.chen@apple.com> Add a test script for exercising the "taregt create", "target list", and "target select" commands.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
33cd0c3df7a546a266994784efe30fb38ce325d2 15-Apr-2011 Johnny Chen <johnny.chen@apple.com> Forgot to check in this change with http://llvm.org/viewvc/llvm-project?view=rev&revision=129542.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
0bfa859ea49d27efd89d5f152b8371b39919d92d 23-Mar-2011 Johnny Chen <johnny.chen@apple.com> Turns out that the test failure wrt:

rdar://problem/9173060 lldb hangs while running unique-types

disappears if running with clang version >= 3. Modify the TestUniqueTypes.py
to detect if we are running with clang version < 3 and, if true, skip the test.

Update the lldbtest.system() function to return a tuple of (stdoutdata, stderrdata)
since we need the stderr data from "clang -v" command. Modify existing clients of
lldbtest.system() to now use, for example:

# First, capture the golden output emitted by the oracle, i.e., the
# series of printf statements.
- go = system("./a.out", sender=self)
+ go = system("./a.out", sender=self)[0]
# This golden list contains a list of (variable, value) pairs extracted
# from the golden output.
gl = []

And add two utility functions to lldbutil.py.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7304147ae8eaae495c6682a45d3c8c908b707b98 12-Mar-2011 Johnny Chen <johnny.chen@apple.com> Add a test directory stop-hook to test the newly added "target stop-hook" command.
This uses pexpect module to spawn a 'lldb' program and uses pseudo-TTY to talk to
the child application.

The test cases test setting breakpoints, adding a stop-hook with line range, and
verifies that when the inferior stops, the stop-hook will fire off when it is
within range and will not fire off when it is out of range.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
4f52c40db3562ae439c04ec935ca39c6b971bd71 11-Mar-2011 Johnny Chen <johnny.chen@apple.com> Discover the 'lldb' executable in the setUp() hook of the base test class.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c6d591bfd5f7225c962da67d09a889c82b50fec2 27-Jan-2011 Johnny Chen <johnny.chen@apple.com> Some cleanup to plugins/darwin.py after the recent additions of '-A arch' and '-C compiler'
command line options to the test driver. Replace TestBase.getRunSpec() with TestBase.getRunOptions().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5ec14f83253f65f51cc0aff15ac34c0f32750e5e 23-Jan-2011 Greg Clayton <gclayton@apple.com> Deprecated old forms of SBTarget::Launch. There is not just one and no
SWIG renaming done to work around deprecated APIs.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
24af2969e3add2ef87b8f7287372c6c61e87d501 19-Jan-2011 Johnny Chen <johnny.chen@apple.com> Fix a typo in the comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
dcb3722c136f5fcd93741977abfff725549315d4 19-Jan-2011 Johnny Chen <johnny.chen@apple.com> The test suite was unnecessarily doing a time.sleep() after performing the
"process launch" or "run" interpreter command. Let's do the sleep only if
the process launch failed. This saves about 135 seconds from the whole test
suite run time.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
0ace30fd52cd6004f0a010c009b910336a1d50eb 23-Dec-2010 Johnny Chen <johnny.chen@apple.com> Add a test case for the SBFrame APIs. In particular, it uses the frame API to
get the argument values of the call stacks when stopped on the breakpoint.

Radar has been filed for the expected failures:
test failure: ./dotest.py -v -w -t -p TestFrames (argument values are wrong)


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ec882743f663e303afda1d2db3babd43e6b9b138 15-Dec-2010 Johnny Chen <johnny.chen@apple.com> Execute the test case teardown hooks in a LIFO (last in, first out) order.
ALso add a teardown hook to the LoadUnloadTestCase.test_dyld_library_path()
test case to have it restore the DYLD_LIBRARY_PATH environment variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7a4512bdd87993a09c52c82239e4cdc14bac0e2c 13-Dec-2010 Johnny Chen <johnny.chen@apple.com> Add TestBreakpointIgnoreCount.py to exercise the breakpoint ignore count features,
with both command line and Python API tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
3f1696caef6b6f13bafde83a9c90302281cea7e9 10-Dec-2010 Johnny Chen <johnny.chen@apple.com> Make sure that @python_api_test is only used to decorate a test method, not the
test class.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
3ebdaccbbb3567d6de652b91083997fbf10079ba 10-Dec-2010 Johnny Chen <johnny.chen@apple.com> Add a '+a' command line option to the test driver to run only the Python API tests.
Add an attribute __python_api_test__ (set to True) to the @python_api_test decorated
test method to distinguish them from the lldb command line tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
4f93bf1b34e9828ff630eddb908adfb04e05aadf 10-Dec-2010 Johnny Chen <johnny.chen@apple.com> Add an infrastructure to mark the Python APIs only test using a decorator.
Example:

@python_api_test
def test_evaluate_expression_python(self):
"""Test SBFrame.EvaluateExpression() API for evaluating an expression."""
...

The opposite of Python APIs only test is an lldb command line test, which sends
commands to the lldb command interpreter. Add a '-a' option to the test driver
to skip Python API only tests.

Modify TestExprs.py to mark a test as @python_api_test and remove an @expectedFailure
decorator as the bug has been fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
6f7abb0f208ce48636aa3bf0e885865d30e961f2 09-Dec-2010 Johnny Chen <johnny.chen@apple.com> Add a test/source-manager directory for testing lldb core component SourceManager.
Initial test case test_modify_source_file_while_debugging() in TestSourceManager.py
tests the caching mechanism of the source manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
8fd886cc389b95fa15d9f8da3b49ef9a0351c313 08-Dec-2010 Johnny Chen <johnny.chen@apple.com> For SBTarget.Launch()/LaunchProcess(), there's no need to pass an empty string
as the args and the envs to the launched process.

o lldbtest.py:

Forgot to check in some assertion messages changes for lldbtest.py.

o dotest.py:

Also add "api" category to the default lldb log option list.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
46ffd861e6342398f89f29f5086e6e9c0d5c6b90 06-Dec-2010 Johnny Chen <johnny.chen@apple.com> Fail fast by raising an exception if the 'string_to_match' cannot be located
within the file 'filename'.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
1ad9e990c23105d6facda85d090118e209bd1671 04-Dec-2010 Johnny Chen <johnny.chen@apple.com> Forgot to also check in this file along with the TestBreakpointConditions.py change.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
0eaaf322dd9b8ffb6289f1bb3d0fec982546fbaa 02-Dec-2010 Johnny Chen <johnny.chen@apple.com> Add a mechanism of overwriting the default 1.0 second wait time between test
cases when specifying '-w' to the test driver, by using an environment variable
LLDB_TIME_WAIT_BETWEEN_TEST_CASES.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ecfc3cf9799f488b905bbcc095379a10152bda8e 02-Dec-2010 Johnny Chen <johnny.chen@apple.com> TestBase.setUp() needs to make sure lldb.blacklist is not None
before iterating on it.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
82e6b1ef7cdb39c0d0c93142b195969b2dee63f0 01-Dec-2010 Johnny Chen <johnny.chen@apple.com> Add a '-b blacklistFile' option to the test driver to take a file specifying the
test classes or test cases to be excludued from the test suite.

Check in an example blacklist file: blacklist.py:

"""
'blacklist' is a Python dictionary, it stores the mapping of a string describing
either a testclass or a testcase, i.e, testclass.testmethod, to the reason (a
string) it is blacklisted.

Following is an example which states that test class IntegerTypesExprTestCase
should be skipped because 'This test class crashed' and the test case
FoundationTestCase.test_data_type_and_expr_with_dsym should be skipped because
it is 'Temporarily disabled'.

blacklist = {'IntegerTypesExprTestCase': 'This test class crashed',
'FoundationTestCase.test_data_type_and_expr_with_dsym': 'Temporarily disabled'
}
"""

blacklist = {}

An example of invoking the test driver and specifying a blacklist file:

./dotest.py -b blacklist.py -v types

This runs the tests under 'types' directory but excludes the tests specified in
balcklist.py.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
24f43bef1f1b7ef23d32d36f47f3dd51b1241876 29-Nov-2010 Johnny Chen <johnny.chen@apple.com> Add an expect() statement within breakpoint_conditions() method which tests that
the process status is indeed 'stopped' before invoking 'frame variable -t val'
command to inspect the frame variable. When I run the test suite, it sometimes
emits an output like:

runCmd: frame variable -t val
runCmd failed!
error: you must be stopped in a valid stack frame to view frame variables.

The expect() statement inserted is to make sure that the process is stopped and
we have a valid frame.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
458a67ec9118ec5e6ef8d5dc0d407aa0c7ac695e 29-Nov-2010 Johnny Chen <johnny.chen@apple.com> Change the variable TestBase.timeWait to the more descriptive timeWaitNextLaunch.
Increase the delta between successive test cases, enabled with the '-w' option to
the test driver, from 0.5 to 1.0 second, to arrive at a cleaner state before the
next test case.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
6b22756bafa6fb4b168805e4683c2e8424f31cb7 17-Nov-2010 Johnny Chen <johnny.chen@apple.com> Make the string matching for 'frame variable' more stringent with respect to
output from clang and llvm-gcc compiled program; both generate the correct debug
info with respect to the typedef scoped inside a namespace.

Add a TestBase.getCompiler(self) method which returns the compiler in effect the
test suite is now running with. Subclasses (like TestNamespace) can use it to
distinguish among different compilers.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
b527f2619ca17e11bfa23fb7c252302aa208b9d3 12-Nov-2010 Johnny Chen <johnny.chen@apple.com> The session log entry containing the command to rerun the same test now also includes
the architecture and compiler specs.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
e8587d04103f6e9c0efbf0678dd66ab7a928222c 11-Nov-2010 Johnny Chen <johnny.chen@apple.com> Some rewordings of the assert messages for process stopped due to breakpoint.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c82ac7686f69e265e75d616856ccbe877f37e3bb 10-Nov-2010 Johnny Chen <johnny.chen@apple.com> Add the actual stop reason to an assert message for bitfields_variable_python()
test method when asserting:

thread.GetStopReason() == lldb.eStopReasonBreakpoint



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
55c1bfd1a91113dfc62ce912952d6ddc7e54e3ca 09-Nov-2010 Johnny Chen <johnny.chen@apple.com> When dumping the session log for a failed/errored test, also emit the command to
invoke the test driver to rerun the very same test. Example output:

/Volumes/data/lldb/svn/trunk/test $ tail 2010-11-09-14_51_34/ExpectedFailure-TestSettings.SettingsCommandTestCase.test_set_output_path.log

Traceback (most recent call last):
File "/Volumes/data/lldb/svn/trunk/test/settings/TestSettings.py", line 136, in test_set_output_path
"'stdout.txt' exists due to target.process.output-path.")
AssertionError: False is not True : 'stdout.txt' exists due to target.process.output-path.


To rerun this test, issue the following command from the 'test' directory:

./dotest.py -v -t -f SettingsCommandTestCase.test_set_output_path


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
05efcf78a322a40aa8fca51bfa298eb2e392e400 09-Nov-2010 Johnny Chen <johnny.chen@apple.com> Distinguish between the assert messages for runCmd and expect. The former now
takes the form:

"Command '%s' returns successfully" % str

and the latter takes the form:

"'%s' returns expected result" % str
or
"'%s' matches expected result" % str


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
51d6b1cb2a35d172ad52cca8a7113ad87602eac4 06-Nov-2010 Johnny Chen <johnny.chen@apple.com> Make the type of session log part of the filename itself. It allows for easier
identification of the test failures/errors by human beings as well as automatic
processings.

The prefix which identifies the type can be: Error, Failure, or ExpectedFailure.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
e625092023f6639352636a6aba22c32f0e41a732 05-Nov-2010 Johnny Chen <johnny.chen@apple.com> Fix comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
2c8d1596ec40c321d6d39c2b32c33fd662b66c11 03-Nov-2010 Johnny Chen <johnny.chen@apple.com> Add a test for Python API SBValue.GetValueType() inside TestArrayTypes.py for a
local variable and an argument variable.

Add ValueTypeString() utility function into lldbutil.py which converts the enum
into a human readable string.

Modify TestBase.DebugSBValue() to also dump the value type of an SBValue object.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
dd2bb2c033f9bca22443faa53f0b769b59f95b8f 03-Nov-2010 Johnny Chen <johnny.chen@apple.com> Now that the test suite has very few expected failures remaining (2), it is a good
idea to also dump the session information for expected failures in addition to
failures and errors (tests with unexpected exceptions).

Modify the LLDBTestResult class which derives from unittest2.TextTestResult to
intercept the addExpectedFailure() method in order to mark the test instance as
needing its session information dumped.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ddeba7487755403383b9afe628564f621bf027e0 03-Nov-2010 Johnny Chen <johnny.chen@apple.com> Add more comment for dumpSessionInfo(self) method.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
2986764e71353f106b2bf0f3fd8082f375d9ce50 01-Nov-2010 Johnny Chen <johnny.chen@apple.com> Replace the two call sites of inspect.getsource(obj) with a utility function
getsource_if_available(obj) which also handles the exception if it occurs.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
12fc1dce2fd85f2e38e469a0859475f5044fc1f2 01-Nov-2010 Johnny Chen <johnny.chen@apple.com> Python API changes: SBValue.IsPtrType() -> SBValue.IsPointerType().
SBFrame print representation: idx: 0 -> #0


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
60881f6c2e8b66715e0b6d3a896e2790b201e7d0 28-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add comment on passing the assert message to self.runCmd().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
05dd893b94eb3b488740956ad7f43d6f900ecf5a 28-Oct-2010 Johnny Chen <johnny.chen@apple.com> If TestBase.expect() is passed an assert message, pass it along when delegating to TestBase.runCmd()
to execute the debugger command. This will result in a more semantic assert message than just the
command failed message like before:

AssertionError: False is not True : Command 'thread list' returns successfully

And now, we will have:

AssertionError: False is not True : Process state is stopped due to breakpoint


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
607b7a1bb97215f2fe4ccfb6a27fb4932761df5f 23-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add more docstring for the lldbtest.TestBase class.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
0601a295d9df20410ba1ff1edcf670aee67c030a 22-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add test case for using SBBreakpointLocation to set break condition.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
125fc2b1ea49af439e86bbf8f32fce8bbd5a7cdd 21-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add an option '-s session-dir-name' to overwrite the default timestamp-named
directory used to dump the session info for test failures/errors.

Example:

/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -s jason -v array_types

Session info for test errors or failures will go into directory jason
----------------------------------------------------------------------
Collected 4 tests

test_with_dsym_and_python_api (TestArrayTypes.ArrayTypesTestCase)
Use Python APIs to inspect variables with array types. ... ok
test_with_dsym_and_run_command (TestArrayTypes.ArrayTypesTestCase)
Test 'frame variable var_name' on some variables with array types. ... ok
test_with_dwarf_and_python_api (TestArrayTypes.ArrayTypesTestCase)
Use Python APIs to inspect variables with array types. ... ok
test_with_dwarf_and_run_command (TestArrayTypes.ArrayTypesTestCase)
Test 'frame variable var_name' on some variables with array types. ... FAIL

======================================================================
FAIL: test_with_dwarf_and_run_command (TestArrayTypes.ArrayTypesTestCase)
Test 'frame variable var_name' on some variables with array types.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Volumes/data/lldb/svn/trunk/test/array_types/TestArrayTypes.py", line 27, in test_with_dwarf_and_run_command
self.array_types()
File "/Volumes/data/lldb/svn/trunk/test/array_types/TestArrayTypes.py", line 62, in array_types
'stop reason = breakpoint'])
File "/Volumes/data/lldb/svn/trunk/test/lldbtest.py", line 594, in expect
self.runCmd(str, trace = (True if trace else False), check = not error)
File "/Volumes/data/lldb/svn/trunk/test/lldbtest.py", line 564, in runCmd
msg if msg else CMD_MSG(cmd, True))
AssertionError: False is not True : Command 'thread list' returns successfully

----------------------------------------------------------------------
Ran 4 tests in 3.086s

FAILED (failures=1)
/Volumes/data/lldb/svn/trunk/test $ ls jason
TestArrayTypes.ArrayTypesTestCase.test_with_dwarf_and_run_command.log
/Volumes/data/lldb/svn/trunk/test $ head -10 jason/TestArrayTypes.ArrayTypesTestCase.test_with_dwarf_and_run_command.log
Session info generated @ Thu Oct 21 09:54:15 2010

os command: [['/bin/sh', '-c', 'make clean; make MAKE_DSYM=NO']]
stdout: rm -rf "a.out" "a.out.dSYM" main.o main.d
cc -arch x86_64 -gdwarf-2 -O0 -c -o main.o main.c
cc -arch x86_64 -gdwarf-2 -O0 main.o -o "a.out"

stderr: None
retcode: 0

/Volumes/data/lldb/svn/trunk/test $


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
f6bdb19538f490f754a5c052f6553b411c378ebb 20-Oct-2010 Johnny Chen <johnny.chen@apple.com> Make the breakpoint condition test more robust with regard to checking the correct
parent call frame information. And comment out the check for stop reason for the
time being. The stop reason disappeared from the "thread backtrace" output for
breakpoint stop with condition.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
73a8710e6c7bceda0abeacea054c4aa6d5572d44 20-Oct-2010 Johnny Chen <johnny.chen@apple.com> Clean up the teardown logic to make it more robust and to record the additions and
invocations of them into session object.

Remove a debug statement.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
705737b6810d30f488f1586f10e888861a34d91c 20-Oct-2010 Johnny Chen <johnny.chen@apple.com> Restoring the original setting should be done more robustly by adding a hook function
to be run during tearDown() to effect the restore action instead of executing it inline
during the test method, because the test may already fail and bailout before the inline
restore action.

Fix test_set_output_path() and pass_run_args_and_env_vars() to use this mechanism.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
eb4f7a82d7ce143f77bbf49f68b552bfb5e75494 20-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add Python doc string for setTearDownCleanup() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
db9cbe9c676593789606d840d51f348e73032bd7 19-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add a little helper function SETTING_MSG(setting) to be used from TestSettings.test_set_output_path().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
d29652114aad69d29e4781bd54e3f923b177b726 19-Oct-2010 Johnny Chen <johnny.chen@apple.com> Change the environment variable name to be more descriptive from LLDB_TIME_WAIT to LLDB_TIME_WAIT_NEXT_LAUNCH.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ce68146871cf9fe802f41a33102edbe39bd85fa1 19-Oct-2010 Johnny Chen <johnny.chen@apple.com> Modify the test driver and lldbtest.TestBase so that the dumping of session info
now goes into a timestamp-specific directory instead of the previous .session-*
files.

[17:24:34] johnny:/Volumes/data/lldb/svn/trunk $ ls -l test/2010-10-18-16:56:12.935342
total 48
-rw-r--r-- 1 johnny admin 1695 Oct 18 16:56 TestArrayTypes.ArrayTypesTestCase.test_with_dsym_and_run_command.log
-rw-r--r-- 1 johnny admin 1652 Oct 18 16:56 TestArrayTypes.ArrayTypesTestCase.test_with_dwarf_and_run_command.log
-rw-r--r-- 1 johnny admin 2967 Oct 18 16:56 TestBreakpointCommand.BreakpointCommandTestCase.test_with_dsym.log
-rw-r--r-- 1 johnny admin 1648 Oct 18 16:56 TestClassTypes.ClassTypesTestCase.test_with_dwarf_and_run_command.log
-rw-r--r-- 1 johnny admin 1665 Oct 18 16:56 TestClassTypesDisassembly.IterateFrameAndDisassembleTestCase.test_with_dsym_and_python_api.log
-rw-r--r-- 1 johnny admin 3873 Oct 18 16:58 TestFloatTypesExpr.FloatTypesTestCase.test_float_types_with_dsym.log
[17:24:37] johnny:/Volumes/data/lldb/svn/trunk $

Also, the dumping happens when a test errored in additioned to when it failed.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5486d0797413d6d763725ede369e0c6f2b808403 16-Oct-2010 Johnny Chen <johnny.chen@apple.com> Missed this spot where module.cleanup() can be passed a test instance to
facilitate session recording. This happens inside an instance method where the
test instance is well known.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
1b7d629b11af2ac7a20d899ee1404ef7cd5d4268 16-Oct-2010 Johnny Chen <johnny.chen@apple.com> Some re-achitecturing of the plugins interface. The caller is now required to
pass in a 'sender' arg to the buildDefault(), buildDsym(), buildDwarf(), and
cleanup() functions. The sender arg will be the test instance itself (i.e.,
an instance of TestBase). This is so that the relevant command execution can be
recorded in the TestBase.session object if sender is available.

The lldbtest.system() command has been modified to pop the 'sender' arg out of
the keyword arguments dictionary and use it as the test instance to facilitate
seesion recordings. An example is in test/types/AbstractBase.py:

def generic_type_tester(self, atoms, quotedDisplay=False):
"""Test that variables with basic types are displayed correctly."""

# First, capture the golden output emitted by the oracle, i.e., the
# series of printf statements.
go = system("./a.out", sender=self)

There are cases when sender is None. This is the case when the @classmethod is
involved in the use of these APIs. When this happens, there is no recording
into a session object, but printing on the sys.stderr is still honored if the
trace flag is ON.

An example is in test/settings/TestSettings.py:

@classmethod
def classCleanup(cls):
system(["/bin/sh", "-c", "rm -f output.txt"])
system(["/bin/sh", "-c", "rm -f stdout.txt"])



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
31cf8e24815c4a99d74b5bea50900ac8dfa2f40d 15-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add a test case for exercising breakpoint conditions using the lldb command:

breakpoint modify -c 'val == 3' 1

after:

breakpoint set -n c

which sets a breakpoint on function 'c'. The breakpoint should only stop if
expression 'val == 3' evaluates to true.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c55dacea88aaf68ce767d7bd40214f2a0107557c 15-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add a const string for assert message. Remove extra printing of newlines from
the session recordings.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
314a145be16f1061ad9a2c8432f14ea6c1629513 15-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add more comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
7c565c8c2caad110f91817fbe5531f45a539f3ee 15-Oct-2010 Johnny Chen <johnny.chen@apple.com> Be more specific about cases whenthe runCmd() check flag is False, meaning there
is no need to check the return status of the command execution, and an error
status is not deemed a failure in the test.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
595c9d7f8a264fc997e8258665ce2ba6fb7fdc73 15-Oct-2010 Johnny Chen <johnny.chen@apple.com> Simply use the TestBase.markFailure() callback method to set the __failed__ flag.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
84a6d6f10f3010accf9b717b2995f9acb6bee60c 15-Oct-2010 Johnny Chen <johnny.chen@apple.com> This is an initial version of test driver enhanceent to be able to dump the
session info after a test case failure, allowing more direct inspection of
debugger session which leads to the test failure.

For a simple usage scenario:

[18:06:26] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v . 2> ~/Developer/Log/lldbtest.log

...

[18:14:43] johnny:/Volumes/data/lldb/svn/trunk/test $ ls -l .session-*
-rw-r--r-- 1 johnny admin 1359 Oct 14 18:06 .session-TestArrayTypes.ArrayTypesTestCase.test_with_dwarf_and_run_command
-rw-r--r-- 1 johnny admin 2054 Oct 14 18:07 .session-TestClassTypes.ClassTypesTestCase.test_with_dsym_and_expr_parser
-rw-r--r-- 1 johnny admin 2055 Oct 14 18:07 .session-TestClassTypes.ClassTypesTestCase.test_with_dwarf_and_expr_parser
-rw-r--r-- 1 johnny admin 1351 Oct 14 17:57 .session-TestClassTypes.ClassTypesTestCase.test_with_dwarf_and_run_command
[18:14:51] johnny:/Volumes/data/lldb/svn/trunk/test $

The test case which failed will have its recorded session info dumped to a
.session-* file in the current working directory. For test suite using
relocated directory, expect to find the .session-* files there.

In this checkin, I also add @skip decorator to the two test methods in
test/foundation/TestObjCMethods.py as it looks like the test suite is
deadlocking when running the tests. More investigations are needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
d7a4eb073d08bf632154b74189e36a28726cefaa 14-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add an initial version of test that exercise the lldb commands: 'process signal'
and 'process handle'. The test suite would like to control the asynch/sync
execution of the interpreter during the middle of the test method, so the
CommandInterpreter::SetSynchronous(bool value) is modified to allow the mode to
be changed more than once.

In practice, it would be advisable to control the process and to set the
async/sync mode from a single thread, too.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
0659e34c38cdebb36e96bdd8ce0517c700ef06cc 12-Oct-2010 Johnny Chen <johnny.chen@apple.com> Avoid using hardcoded line number to break on. Use the line_number() utility
function to get the line number to break on during setUp().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
1490600eca184bb22cdfb83b8c6718055d8006c9 12-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add a utility function to lldbtest.py to return the line number of a matched string
within a file. This is to be used within the test case to avoid hardcoded line number.

array_types/TestArrayTypes.py is modified first to use this pattern. Other test modules
to follow.

rdar://problem/8537816
Testsuite: don't set breakpoints by exact file & line number


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
548aefd19076bf9205c75cb19b0c54544c2b967b 12-Oct-2010 Johnny Chen <johnny.chen@apple.com> Added the capability for the test driver to relocate the tests and the intermediate
files to a different top level directory than those specified on the command line.

When relocated, the test clanups normally performed afterwards after each test method
and after each test class will not be exercised at all. This allows for an easier
postmortem analysis of test failures.

Example:

./dotest.py -v -t -r /tmp/lldbtest types

will create a /tmp/lldbtest directory which houses the types directory and its supported
files.

Files modified:

o dotest.py, lldbtest.py:

Add logic to process '-r dir' option to support relocating the tests to a different
top level directory instead of exected in place.

o darwin.py, test/types/Makefile:

The 'make clean' should only clean the minimum .o and .d files.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
8e468594632a43f2062d5a364224ac15fddfdef2 08-Oct-2010 Johnny Chen <johnny.chen@apple.com> o TestStdCXXDisassembly.py:

Update the expected match string.

o lldbtest.py:

Indicate when a command fails, even if there is nothing in the error stream.

o TestHelp.py:

Add a regression test case for 'help image dump symtab'.

o CommandObjectHelp.cpp:

Some of the logic branches with successful help command results were not tagged
with a Success Status. They are fixed now. This is important for Python
interaction.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
be683bc054db1f6c7fbe2bbf712266f9f70c6389 08-Oct-2010 Johnny Chen <johnny.chen@apple.com> Move the enum to string utility functions from lldbtest.py to lldbuti.py and
update the affected API clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
8e4f356d37170205a4a4c115f41de066b309eb2e 07-Oct-2010 Johnny Chen <johnny.chen@apple.com> Clean up the StateType and StopReason enums now that they reside in the lldb module.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
e47649c441e7abe1dc5158ec36bba1bb66fcbb08 07-Oct-2010 Johnny Chen <johnny.chen@apple.com> o SBtarget.cpp/.h:

Temporarily commenting out the deprecated LaunchProcess() method.
SWIG is not able to handle the overloaded functions.

o dotest.py/lldbtest.py:

Add an '-w' option to insert some wait time between consecutive test cases.

o TestClassTypes.py:

Make the breakpoint_creation_by_filespec_python() test method more robust and
more descriptive by printing out a more insightful assert message.

o lldb.swig: Coaches swig to treat StateType as an int type, instead of a C++ class.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5349ee278c7162bfa1accea79ed1a07f31f5568c 05-Oct-2010 Johnny Chen <johnny.chen@apple.com> Make the test module with unique name instead of just the generic name TestDisassembly.
Add a utility function to lldbtest.py to get the native pointer size of the host os.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
41998197e9d81cba31ac4645c1ec5f0ba7ca1668 02-Oct-2010 Johnny Chen <johnny.chen@apple.com> o Added a new feature to the test framework to skip long running tests conditionally.
To not skip long running tests, pass '-l' to the test driver (dotest.py).

An example:

@unittest2.skipIf(TestBase.skipLongRunningTest(), "Skip this long running test")
def test_foundation_disasm(self):
...

o Added a long running disassemble test to the foundation directory, which iterates
the code symbols from Foundation.framework and kicks off a disassemble command for
for the named function symbol. Found a crasher: rdar://problem/8504895.

o Plus added/updated some comments for the TestBase class.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
72afa8d39f44fc99f388d0e7e62b19821c5304d5 30-Sep-2010 Johnny Chen <johnny.chen@apple.com> These prints should go to stderr as well. Plus add a global assert string.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
091bb1de9d5cd0f974b91da621e638a22f5b03b5 24-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added a generic_type_tester() to the TestBasicTypes class to be used for
testing various combinations of displaying variales of basic types.

The generic_type_tester() works by first capturing the golden output produced
by the printf stmts of ./a.out, creating a list of (var, value) pairs, and then
running the a.out to a stop point, and comparing the 'frame variable var' output
against the list of (var, value) pairs.

Modified int_type() and added long_type() to use generic_type_tester().

Also modified TestBase.expect() such that substring matching also return ok if
the substring starts at the 0-th position.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
0b3ee55c77954ce4359499af2a0c27f1f75c10f1 23-Sep-2010 Johnny Chen <johnny.chen@apple.com> Checked in an initial template for the types directory. Right now, it doesn't
actually test-and-compare anything yet. The lldbtest.TestBase has an added
method setTearDownCleanup(dictionary=None) to facilitate running the cleanup
right after each data type test is run. The test case can pass a dictionary
object when registering the test case cleanup.

There is currently only int_type test in the repository.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
585ff0e8b52e9c841c79006f321cc166f0c31f3b 22-Sep-2010 Johnny Chen <johnny.chen@apple.com> Trivial change of a trace output string.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
8e06de96e9d13418a0ea0d4f3311c61c2fa4fa40 22-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added a subtest to exercise the capability of lldb Python objects to print
themselves. Right now, it tests a breakpoint both before and after it has been
resolved.

Updated lldbtest.TestBase.expect() with an additional keyword argument 'exe' (
default to True), which if set to False, will treat the mandatory first argument
as just the string to be matched/or not-matched against the golden input.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
93ae604fb1c82c5400c495f5c6283637a9c31b7d 22-Sep-2010 Johnny Chen <johnny.chen@apple.com> Wrapped the subclass-specific cleanup call within a try:except: clause.
And removed the informational output from the conditional_break test case.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
2d899751069605306521f226144f7287be7ab2d1 21-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added a more complex test case of breakpoint commands, which executes a sequence
of 'breakpoint command add/list/remove' commands to set breakpoint callbacks,
list them, and then remove one.

Modified the lldbtest.TestBase.expect() method to add two additional keyword
arguments:

o matching (default to True), which, if set to False, reverses the semantics of
'expect' to 'expect not'

o patterns (default to None), which specifies a list of regexp patterns to match
against the output from running the command

TestBreakpointCommand.py uses the matching=False and the patterns=[...] expect()
API.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ee975b827a1bb99c5eae39ff5c90cf1b0de8ac2c 18-Sep-2010 Johnny Chen <johnny.chen@apple.com> Fixed a typo and supplied a more appropriate assert message.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
9792f8ebb5a011b130a6ef63860a63561856b00e 18-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added test cases to FoundationTestCase to exercise lookup of objc data types and
to evaluate expressions. Marked with @expectedFailure decorators for the time
being.

Enhanced the lldbtest.TestBase.expect() API to allow an additional keyword arg
named "error". If the client passes "error=True", it signifies that an error
while running the command is expected. The golden input is then compared
against the return object's error output.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
517c705a8dd9bf6a0b26446b6161eaa1c6697b2f 16-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added a test case for the settings command which sets process.output-path and
checks that the launched process writes its standard output there.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
d3521cc25e3e30f86d6c9298937ad22fde22d7de 16-Sep-2010 Johnny Chen <johnny.chen@apple.com> Provided a mechanism for the test class to cleanup after itself once it's done.
This will remove the confusion experienced when previous test runs left some
files (both intermediate or by-product as a result of the test).

lldbtest.TestBase defines a classmethod tearDownClass(cls) which invokes the
platform-specific cleanup() function as defined by the plugin; after that, it
invokes a subclass-specific function classCleanup(cls) if defined; and, finally,
it restores the old working directory.

An example of classCleanup(cls) is in settings/TestSettings.py:

@classmethod
def classCleanup(cls):
system(["/bin/sh", "-c", "rm output.txt"])

where it deletes the by-product "output.txt" as a result of running a.out.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5f3b98c29a1e406d33b6189c4f81a35620e86185 15-Sep-2010 Johnny Chen <johnny.chen@apple.com> Changed to a more informative message.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
0c30ad87ad12e06c341a95ca99a9f23b28841fab 15-Sep-2010 Johnny Chen <johnny.chen@apple.com> We believed the intermittent process launch failure while running the test suite
has been fixed by r113947. But just in case it still fails, emits a prominent
message always.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c181067bdc5cefc7d0c15b94b9b8623d8f5fed54 15-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added two test cases to exercise 'expr this->m_c_int' with @expectedFailure
decorators for the time being.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
493cad45aea34f9cd95206912944c0dcf6cc70da 15-Sep-2010 Johnny Chen <johnny.chen@apple.com> More appropriate headings for the traceoutput: stdout & stderr.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
fde69bccb31c88b1fbb52c9ceadbd399bff104c7 15-Sep-2010 Johnny Chen <johnny.chen@apple.com> Removed the expectedFailure decorator from test_with_dwarf_and_run_command() test case
as it now passes. Added some extra tests to breakpoint_creation_by_filespec_python().

More clarification for the "os command" output and error as defined in
lldbtest.system() function.

Cleaned up the option processing of the test driver (dotest.py) and fixed the comment
about enabling gdb-remote logging. Example:

$ GDB_REMOTE_LOG=/tmp/log.txt ./dotest.py -v -t enum_types


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
4890405466389954b07c10ab45b1d035c573ce34 13-Sep-2010 Johnny Chen <johnny.chen@apple.com> Extend the build mechanism to allow for specifying the compiler used to build
the binaries.

If the build* function is passed the compiler argument, for example, 'llvm-gcc',
it is passed as a make variable to the make command. Otherwise, we check the
LLDB_CC environment variable; if it is defined, it is passed as a make variable
to the make command.

If neither the compiler keyword argument nor the LLDB_CC environment variable is
specified, no CC make variable is passed to the make command. The Makefile gets
to define the default CC being used.

--------------------------------------------------------------------------------
Example usage follows:

o Via the keyword argument:

class ArrayTypesTestCase(TestBase):

mydir = "array_types"

@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
def test_with_dsym_and_run_command(self):
"""Test 'frame variable var_name' on some variables with array types."""
self.buildDsym(compiler='llvm-gcc')
self.array_types()
...

o Via LLDB_CC environment variable:

$ LLDB_CC=llvm-gcc ./dotest.py -v -t array_types
----------------------------------------------------------------------
Collected 4 tests

test_with_dsym_and_python_api (TestArrayTypes.ArrayTypesTestCase)
Use Python APIs to inspect variables with array types. ...
os command: [['/bin/sh', '-c', 'make clean; make MAKE_DSYM=YES CC=llvm-gcc']]
output: rm -rf "a.out" "a.out.dSYM" main.o main.d
llvm-gcc -arch x86_64 -gdwarf-2 -O0 -arch x86_64 -gdwarf-2 -O0 -c -o main.o main.c
llvm-gcc -arch x86_64 -gdwarf-2 -O0 main.o -o "a.out"
/usr/bin/dsymutil -o "a.out.dSYM" "a.out"

...

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c6fe11ffec7bdcda3fa68343522addc8ec14b9d6 07-Sep-2010 Johnny Chen <johnny.chen@apple.com> The output for term-width setting has single quotes around the (int) value.
And added a trace output for the stop function name to breakAfterLaunch() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ff4e1d8e276b6e330f78ac145712274a7c36a484 04-Sep-2010 Johnny Chen <johnny.chen@apple.com> Marked test_process_launch_for_universal() test case as requiring 'darwin' and 'i386'
in order to be run. And added a default build phase at the beginning of the method.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c5b15db9b9e17233c4dc35c9ff3539a0266465f0 04-Sep-2010 Johnny Chen <johnny.chen@apple.com> Fixed an lldb infrastructure bug, where the debugger should reaaly update its
execution context only when the process is still alive. When running the test
suite, the debugger is launching and killing processes constantly.

This might be the cause of the test hang as reported in rdar://problem/8377854,
where the debugger was looping infinitely trying to update a supposedly stale
thread list.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
59ea45fc85deacf0b8ca8250f116b7cc7b3691a5 03-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added comments regarding the two mechanisms of process cleanup to lldbtest.py.

Also changed the expected strings to be matched since "thread list" changed its
output format.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
72a14344a1c445fc201e1887115b1952da12588e 02-Sep-2010 Johnny Chen <johnny.chen@apple.com> Moved the process cleanup of Script-Bridge-based APIs into TestBase.tearDown()
method where they belong. Also fixed a logic error in maintaining the command
interface flag (runStarted) indicating whether the lldb "run"/"process launch"
command has been issued. It was erroneously cleared.

Modified the test cases to take advantage of the refactoring.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
c202b4929eb8dacd9b3951694525441cb815aee9 02-Sep-2010 Johnny Chen <johnny.chen@apple.com> Put the little dances done after SBTarget.LaunchProcess() into the base class.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
21f33412530d5127c636da2a6de263eafb670a84 01-Sep-2010 Johnny Chen <johnny.chen@apple.com> Avoid killing the inferior process twice by passing a setCookie=False keyword
argument when issuing a "run" lldb command within the test case meant to
exercise the Python APIs, but is using the command interface due to certain
reason (such as target.LaunchProcess() does not reliably bring up the inferior).


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
9de4edee4cb4371813d0281f662a7cf1468cee66 31-Aug-2010 Johnny Chen <johnny.chen@apple.com> Changed the buildDsym()/buildDwarf() TestBase methods to use a plugin framework
to delegate the building of binaries to a sys.platform-sepcific plugin.

Modified the dotest.py test driver to add the "plugins" directory to the
PYTHONPATH as well.

darwin.py is the Mac OS X plugin module.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
32caf6a07e2cb834a9ef0c9d86b1b28d1096f9a5 31-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added doc strings to the array_types test cases. And terminate the current
process being debugged in the TestBase.tearDown() instead of letting it continue
and finish.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
1acaf6372d30c4334c00b9d98be5ebe776d429ab 31-Aug-2010 Johnny Chen <johnny.chen@apple.com> Converted TestArrayTypes.py to Dsym/Dwarf combination, and added verbose output
of os command to lldbtest.TestBase.system() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
eef7a86859d40eb77a5e2e31980c6502a64bafb8 31-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added buildDsym() and buildDwarf() methods to lldbtest.TestBase class, and call
them from test cases instead of issuing "make clean; make ..." os command.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
a1cc883954b8db13af7268f1fe3b96eb0c41b401 30-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added a system() method to the TestBase class of lldbtest.py, which is actually
taken from Python 2.7's subprocess.check_output() convenience function. The
purpose of this method is to run the os command with arguments and return its
output as a byte string.

Modified hello_world/TestHelloWorld.py to have two test cases:

o test_with_dsym_and_run_command
o test_with_dwarf_and_process_launch_api

with the dsym case conditioned on sys.platform.startswith("darwin") being true.
The two cases utilize the system() method to invoke "make clean; make MAKE_DYSM=YES/NO"
to prepare for the appropriate debugging format before running the test logic.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
1bb9f9a3917c7ac7228d0a81a0ff8a225165800a 28-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added a test case test_breakpoint_creation_by_filespec_python() which creates a
breakpoint by FileSpec and line number and exercises some FileSpec APIs.

Also, RUN_STOPPED is a bad assert name, RUN_SUCCEEDED is better.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
6264bc6bd486a321c375cf852e6c9041eb49be7b 27-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added TestHelloWorld.py which exercises the Python APIs for target, breakpoint,
and process. Added comment within the file about issues of using LaunchProcess
of SBTarget to launch a process (rdar://problem/8364687).


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
9c10c1875cc1a62c5122459356b12228fe0a4a56 27-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added a test case to bitfields which uses the Python APIs from lldb.py.
Added a utility method to TestBase class to debug print an SBValue object.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
f4ce288a3cf556cdafb78c37b301f6f99779f274 26-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added a utility function EnvArray() to lldbtest.py.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
b4d1ffffde48b4b250886df30c12480f034142e4 26-Aug-2010 Johnny Chen <johnny.chen@apple.com> o Added a test case for array_types which uses the Python APIs from lldb.py,
with the only exception of launching the process from SBTarget which is under
investigation.

o build-swig-Python.sh should also checks the timestamp of ${swig_input_file}
for update eligibility. Also, once an update is in order, there's no need
to check the remaining header files for timestamps.

o Coaches swig to treat StopReason as an int type, instead of a C++ class.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
d8473bc7d468937d9d979d43ac6485e4c96b65b9 26-Aug-2010 Johnny Chen <johnny.chen@apple.com> Minor doc string modification.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
a8b3cdd691771ec347420ed625d7306574eedd4f 26-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added logic to TestUniversal.py to exercise the python APIs:

o SBDebugger.GetCurrentTarget()
o SBTarget.GetProcess()
o SBProcess.GetAddressByteSize()

in order to make sure that, indeed, 64-bit, followed by 32-bit processes have
been launched.

Added invoke() method to TestBase to factor in the tracing logic in one place.
This method allows an object to call a method with no arg reflectively.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
22b95b26168812fa0e36463c50aeb6ae0a3c1507 25-Aug-2010 Johnny Chen <johnny.chen@apple.com> Fixed a logic error in the expect() method. If the start string does not match,
there's no point matching further sub strings; the expect() already fails.

Also cleaned up the assert message for VARIABLES_DISPLAYED_CORRECTLY.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
65572489e377b4341f57dc6177e7a36cee65d359 25-Aug-2010 Johnny Chen <johnny.chen@apple.com> Allow command retries in case of process launch failures. This recovery
mechanism seems to work fine on my MacBook Pro in some limited test cases.

The default maxLaunchCount and timeWait variables used in the scheme can be
overridden by the env variables LLDB_MAX_LAUNCH_COUNT and LLDB_TIME_WAIT.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
3f3fb13b82f9081941b95074eb32378c840839e2 25-Aug-2010 Johnny Chen <johnny.chen@apple.com> More descriptive trace messages for the matchings of start and sub strings.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
4917e102e01da14496df098ebe8fe6c1096f1610 25-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added a test for launching a universal binary. Launch of i386 architecture
currently fails: rdar://problem/8349784.

Forgot to check in lldbtest.py in the previous commit r111958.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
d0c24b2232303d012c41244af5aba2fb60440bb2 23-Aug-2010 Johnny Chen <johnny.chen@apple.com> Changed the keyword argument for runCmd()/expect() from 'verbose' to 'trace',
which, defaults to False, and if set to True, will trace lldb command execution
and result.

Added "-t" command option to the test driver dotest.py which sets the
LLDB_COMMAND_TRACE environment variable to "YES" and as a result always turns on
command tracing regardless of the 'trace' keyword argument to runCmd()/expect().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
029acae0cafa565e876eb8cbce1231310eef5356 20-Aug-2010 Johnny Chen <johnny.chen@apple.com> Print the verbose output of runCmd()/expect() to stderr instead of stdout.
And converted the rest of the test cases to runCmd()/expect().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
e8b02f35e6242e2dae14395427073dbf567c6df0 20-Aug-2010 Johnny Chen <johnny.chen@apple.com> Changed TestBase.expect() to allow default 'msg' arg. Converted TestHelp.py.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ead35c8cdac14f526baa42c1c09f4b862b8b2eb6 20-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added more verbose output when string match fails. Converted TestGlobalVariables.py.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
4f995f0718299696719089084a622835b6a7b4b8 20-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added verbose option to runCmd()/expect() in lldbtest.py. Converted TestFunctionTypes.py.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
84e8179c4d8c5ce9aa3dbdd875f09d06517e7366 20-Aug-2010 Johnny Chen <johnny.chen@apple.com> Converted some more test cases to use runCmd()/expect().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
5236fc046944559ba6fe525025364c52b6d5a4e0 20-Aug-2010 Johnny Chen <johnny.chen@apple.com> Use cmd.startswith("run") instead of string equivalence test.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
8df95eb37a2e76c83432bc2b83cda8cb35e59337 20-Aug-2010 Johnny Chen <johnny.chen@apple.com> Abstracted the running of command through the command interpreter and checking
its return status into lldbtest.TestBase.runCmd(); and runCmd() in combination
with checking the output against matching substrings (including startswith) into
lldbtest.TestBase.expect().

TestUnsignedTypes.py is refactored to use the abstracted APIs. Other test cases
to be modified later.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
9b92c6eba4e32c3084d2c9d6b2f342040a9c8bf7 17-Aug-2010 Johnny Chen <johnny.chen@apple.com> Specify a more meaningful assert message for TestDeadStrip.py.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
ffde4fc256fbb2b486fbce219f5c4f15a90fb8fe 16-Aug-2010 Johnny Chen <johnny.chen@apple.com> Factored the "continue" command execution of the inferior process as part of the
cleanup before finish into the test fixture in lldbtest.TestBase.tearDown().

Derivatives of TestBase is responsible for setting self.runStarted to True if an
inferior process has been started.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
d85dae5a089177582aff128c897c78332167fe08 10-Aug-2010 Johnny Chen <johnny.chen@apple.com> Modified the remaining test cases to display more meaningful assert messages.
Added a generic message generator to the lldbtest.py base module.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@110625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
96f08d5c8666f2381ab723093c1e1e82b6a462cf 10-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added some commonly used assert messages to the lldbtest.py module which houses
the TestBase. Modified TestArrayTypes.py to use the assert messages. Other
files to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@110611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
6ead27f35c821dbde81b96601353e7721b8f4004 07-Aug-2010 Johnny Chen <johnny.chen@apple.com> Commented out "import traceback".


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@110497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
75e28f942c1b9f9c6d5a0d5f2efd037cbbc9fc74 06-Aug-2010 Johnny Chen <johnny.chen@apple.com> o Added unittest2 which has added the new features in unittest for Python 2.7
backported to Python 2.3+. Some of the features desired include better
verbose reporting in unittest2.TextTestRunner and decorator support for
skipping tests and expected failures.

http://pypi.python.org/pypi/unittest2

o Modified the existing .py tests to use unittest2 and decorated
TestSTL.test_step_into_stl(), which is known to always fail currently, with
@unittest2.expectedFailure.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@110397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
88f8304a5b7864ce3c6966bc0250fa3b7069aef0 05-Aug-2010 Johnny Chen <johnny.chen@apple.com> When running a single test case, lldb.SBDebugger.Terminate() is not being called
because unittest.main() calls sys.exit() before returning. Fixed by registering
an exit handler for this situation.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@110379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
f8c723bbc3fed0e4338c5404fffc9ac3c91a4f92 03-Jul-2010 Johnny Chen <johnny.chen@apple.com> Make it fail fast if 'mydir' attribute is not overridden by subclasses of
lldbtest.TestBase.

Also removed some debug prints.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py
a1affab962b9f57b64d798ea7fa93dc71d4cc0b1 03-Jul-2010 Johnny Chen <johnny.chen@apple.com> Abstracted the lldb-specific unittest.TestCase.setUp()/tearDown() in a separate
module lldbtest.py and refactored the existing test cases to derive from the
abstract base class lldbtest.TestBase.

MOdified the test driver (dotest.py and dotest.pl) to set up additional
PYTHONPATH component for locating the lldbtest module, which sits in the same
directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lldbtest.py