History log of /external/lldb/test/dotest.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/dotest.py
2bf963306acbe20bd3de14ad150c157243cd3844 01-Aug-2013 Stefanus Du Toit <stefanus.du.toit@intel.com> Allow test categories to be skipped.

This adds a new parameter, --skip-category, that can be used to list
categories that should be skipped. For example, to run all tests except for
Objective-C ones, one can now write:

./dotest.py --skip-category objc [...]

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
1d6437dc04e38fc75a703f188928f95ad7c5d582 30-Jul-2013 Daniel Malea <daniel.malea@intel.com> Fix problematic override _exc_info_to_string
- pass through to base-class implementation when raised exception is not from an LLDBTest
- should make the test suite errors a little easier to root-cause



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
f3b68becfe3c7310958375874b08d4891a51b410 03-Jul-2013 Daniel Malea <daniel.malea@intel.com> Fix python 2.6 compatibility issue introduced by r184615
- argparse_compat library does not support reading environment variables
- should unblock Linux GCC buildbot from running tests again



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
b0cb21eb83c900bf6a8b1d2f3b184e584056bbd6 29-Jun-2013 Enrico Granata <egranata@apple.com> More useful printout of arguments after the recent changes to support LLDB_TEST_ARGUMENTS



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
bd5505c04a480992eb2023f8dff08f97a694017b 25-Jun-2013 Ed Maste <emaste@freebsd.org> Skip dsym tests also on FreeBSD



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
6fa3c50f009787e87998e74e90a75d0e11efbda2 22-Jun-2013 Enrico Granata <egranata@apple.com> Test suite support for setting arguments through the environment

Set your env variable LLDB_TEST_ARGUMENTS to one or more options to be passed to the lldb test suite and those will be picked automatically

No more fighting about whether the progress bar is good or bad :-)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
571358f0358eca953916c4866db55c3f93d28820 19-Jun-2013 Enrico Granata <egranata@apple.com> Huge speedup for testsuite categories
This ensures that we won't try to do cleanups of test cases that we are skipping
e.g. this brings down the time required to run the cmdline category on my machine from ~70s to ~30s



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
3cb3fe3da5851d90504b7c36817863a413447181 18-Jun-2013 Enrico Granata <egranata@apple.com> Adding a "cmdline" category to the test suite



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
782e474a0fad1f1c2864e6b709b9ceb12aa50967 30-May-2013 Daniel Malea <daniel.malea@intel.com> Find 'ps' command using which() rather than invoking directly
- should address Debian test errors due to not being able to 'ps' directly



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
69d7c10e876db3b84c9cd914271441a9cf81ff6d 07-May-2013 Enrico Granata <egranata@apple.com> Making it possible to specify a substring for a category name as long as the match is unique



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
814c8135ab879d07ebbe69cc099c7181fe2b107c 12-Apr-2013 Enrico Granata <egranata@apple.com> New test suite option (-T)
When -T is specified, the test suite will call svn info and dump the output on screen (this used to be the default behavior)
When -T is not specified, this step won't be performed (the new default)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
0ad929750b530c29de320bf188ec007b5cf5a12e 12-Apr-2013 Enrico Granata <egranata@apple.com> When specifying a relative path for the --framework option to dotest.py, Python would end up being confused and unable to locate the embedded_interpreter module, causing every testcase that uses the Script Interpreter (e.g. functionalities/data-formatter/data-formatter-stl/libstdcpp) to fail without even trying
This checkin fixes that problem by absolutizing the path before pushing it to the sys.path



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
2b606ab2881c4d09d2fa66f088b00c9d7de46964 13-Mar-2013 Daniel Malea <daniel.malea@intel.com> Minor LLDB test improvements
- fix TestCPPBool (was failing with some versions of GCC due to num_breakpoint_locations)
- speed up tests by skipping git/svn revision parsing by the test harness when running in lit-compatible (parsable) mode

This should resolve the failures reported by http://lab.llvm.org:8011/builders/lldb-x86_64-linux



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
e1dd3e5262a74fd31db6c3ba62b0fb0af763dc2e 07-Mar-2013 Daniel Malea <daniel.malea@intel.com> Fix issue that causes linux buildbots to ignore errors
- change string "ERROR" to "FAIL" to match clang lit test results

Also, make LLDB tests work on machines that do not have svn and/or git installed



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
56e2c56b703f1deb039c44460c0af2af7a3cca6b 27-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13289828>

Categories were conceptually meant to be placeable on test methods as well as test classes and test directories
However, that was broken. This checkin fixes that.
The incantation required to put categories on individual test case methods is not exactly elegant, unfortunately:

def test_case(self):
"""Test me."""
self.do_it()

def _test_case_get_categories(self):
return ["demo"]

test_case.getCategories = _test_case_get_categories
del _test_case_get_categories



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
60139f32db191a977a198ac07ee12e19d6d1071b 26-Feb-2013 Jim Ingham <jingham@apple.com> Fix the .categories, it had "dataformatter" not "dataformatters".
Remove the getCategory from TestDataFormatterObjC.py, since it was superceded by the .categories file,
and didn't work anyway (getCategories currently has to be a method on the test class, not on the test.)
Add a "basic_process" category, and start to find some tests for simple process running sniff tests.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
a964b09dd5fdcd00890cf65df6bf1aa931f1d11d 20-Feb-2013 Matt Kopec <Matt.Kopec@intel.com> Fix TestPublicAPIHeaders test on Linux.
-Change the build_dir variable name to lib_dir
-Set lib_dir to the correct location on Linux
-Set LD_EXTRAS to the actual lldb library


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
24765573e1f52b45f789e5358fd56aab577e429b 20-Feb-2013 Daniel Malea <daniel.malea@intel.com> Fix a bug that causes dotest.py to exit with a passing exit-code, even if some tests fail
- occurs when multiple compilers/architectures are tested (via -C or -A flags)




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
75f260ab03aa7277b100e1bff477b13c6abacbb7 19-Feb-2013 Jim Ingham <jingham@apple.com> Make the progress bar opt in (using the -P option.)


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
d3eb83791bf5fdfe60925766383950015d095919 16-Feb-2013 Filipe Cabecinhas <me@filcab.net> Include a small argparse compatibility layer for Python < 2.7

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
361eb4320ab96f29bc58973a30bc460e031c32a1 15-Feb-2013 Daniel Malea <daniel.malea@intel.com> Improve test harness for the buildbots
- Add a "parsable" mode to dotest.py that outputs test results in exactly the same format as clang's lit tests
- Improve dosep script to output list of failing tests (output should look like clang test failure summaries)
- Cleanup lldb/test/Makefile to remove needless parameters and environment variables
- Switch makefile tests to use parsable-mode output; should make the buildbot results parsable
- Switch makefile tests to use dosep to log catch crashing tests (instead of halting the test suite)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
7721589ca4408ec6fbf66cbe1191a2bee7266782 15-Feb-2013 Enrico Granata <egranata@apple.com> Daniel Malea caught an issue where calling dotest.py with an invalid directory would cause the progressbar init code to raise an exception
This commit fixes it



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
a182573e1a56ac5f68c0f0a38e6da906dc93b238 09-Feb-2013 Enrico Granata <egranata@apple.com> The new progress bar mode was losing us information compared to the old dots mode in that we would have no way of knowing about test failures (short of peeking into the test result directory.. and you're not supposed to peek!)

Added a new line of information that reports the count of tests that pass, fail or have other things happen to them.

Again no flag to have the dots back. If you care, let us know!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
bc0c5a6c53350736969f9e0c0a7a9d41742f54c9 09-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13176279>

The LLDB test suite now shows a progress bar instead of dots when not in verbose mode
If you crave the dots, make your Terminal window smaller than 10 columns :-)
(or ask for a flag to have the dots come back on demand)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
b85785cc7344a4cd6ec07397a447aa39495b22e8 08-Feb-2013 Greg Clayton <gclayton@apple.com> Unset the environment variables as soon as possible when running the test suite. Also don't store the unset list into a global when they aren't needed in a global variable.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
2777b0100ad0c47054e9cd610d321121d8ddae86 06-Feb-2013 Daniel Malea <daniel.malea@intel.com> Fix bug in test harness to allow running dotest.py without "--executable" flag on Linux
- resolves errors in cases that run the lldb CLI utility



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
21e32a6354ca6a318332e5e0b32d04c984a4708a 05-Jan-2013 Daniel Malea <daniel.malea@intel.com> Fix lldb -P on Linux
- now prints the correct PYTHONPATH
- update dotest.py to use lldb -P result correctly
- resolves TestPublicAPIHeaders test failure (on Linux)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
aa93c931a4c1275b2fecec23ef34f231afda4773 21-Dec-2012 Jim Ingham <jingham@apple.com> Added an SBAPI to get the PythonPath (if the Host knows how to do that). And a -P option to the Driver
to print it out. Changed dotest.py to use that to find the PythonPath it should use given the lldb binary
it was told to run.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
58b03a4a6c2cc68cf874efa25c76836084d5b080 14-Dec-2012 Enrico Granata <egranata@apple.com> Fixing the -f option so that one specify multiple filters, e.g.

./dotest.py -C clang --arch x86_64 --arch i386 -v -t -f ObjCDataFormatterTestCase.test_appkit_with_dsym_and_run_command -f ObjCDataFormatterTestCase.test_appkit_with_dwarf_and_run_command -f TestObjCBuiltinTypes.test_with_dsym_and_python_api -f TestObjCBuiltinTypes.test_with_dwarf_and_python_api -f ObjCDataFormatterTestCase.test_appkit_with_dsym_and_run_command -f ObjCDataFormatterTestCase.test_appkit_with_dwarf_and_run_command -f TestObjCBuiltinTypes.test_with_dsym_and_python_api -f -TestObjCBuiltinTypes.test_with_dwarf_and_python_api

The previous implementation would only remember the last filter passed, and consequently break redo.py



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
b810628ce124939304af0d725b4c7dafd885c127 20-Nov-2012 Daniel Malea <daniel.malea@intel.com> Skip dsym tests on Linux



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
502000d088c505fee743213c7262a9442ae0d705 01-Nov-2012 Sean Callanan <scallanan@apple.com> Fixes to make the test suite work better when
explicitly pointed at an LLDB framework and
executable.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
0acf4c6de1540f316e0c2b1bae02a943dba655de 25-Oct-2012 Sean Callanan <scallanan@apple.com> Added --framework and --executable arguments
to dotest.py so that the testsuite can run against
any LLDB.

<rdar://problem/12512268>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
2d329243d1a41559699d2d4c1a42fb75b878ceb2 24-Oct-2012 Enrico Granata <egranata@apple.com> Better error message for invalid argument to --category - silenced the printout of the raw args when not in verbose mode

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
d9d9463dc284de6cf848e758f9c2a23f3bc3c910 26-Sep-2012 Sean Callanan <scallanan@apple.com> Added support for the DebugClang configuration to the
testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
4793e94ba92a5959e1c6afd987a38c08d3e6b755 04-Sep-2012 Greg Clayton <gclayton@apple.com> Patch from Filipe Cabecinhas that uses argparse in dotest.py instead of a hand coded option. I made a few modifications:

Changed the '-A' option to also have a long option of '--arch'. This is now specified multiple times to get multiple architectures.

Old: -A i386^x86_64
New: -A i386 -A x86_64
--arch i386 --arch x86_64

Changed the '-C' option to also have a long option of '--compiler'. This is now specified multiple times to get multiple compiler.

Old: -C clang^gcc
New: -C clang -C gcc
--compiler clang --compiler gcc



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
8c130645ee61963440ce2113233e2b3bd78683e5 22-Aug-2012 Johnny Chen <johnny.chen@apple.com> Fix wrong directory pathname.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
a73ad66a4ee96ccc8e6be4a645cd6b9180a72e4b 16-Aug-2012 Johnny Chen <johnny.chen@apple.com> Catch timestamps for the beginning and end of the test suite run.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
0e1d06d55f7e8d8be1fc5da8ec46ee64dda40f19 08-Aug-2012 Filipe Cabecinhas <me@filcab.net> Indentation fix for dotest.py.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
c056664431d0126f3fb7a57844eee54455807781 08-Aug-2012 Filipe Cabecinhas <me@filcab.net> Make dotest.py runnable from a directory other than lldb/test

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
e72b338539befbbe94098a25a48fdd6ef581e68b 22-May-2012 Johnny Chen <johnny.chen@apple.com> Fix a bug where if I just run:

./dotest.py

No progress bar appears.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
4e651b1222992d3d93d11ca2f84c69477165e117 25-Apr-2012 Greg Clayton <gclayton@apple.com> Maked LLDB into a package so we can import things without poluting the global namespace.

Enrico will follow this up with fixing the data formatter test cases that are failing.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
3bc7e5e8960a8928b9811a10175627a397aa643d 24-Apr-2012 Johnny Chen <johnny.chen@apple.com> Add a '-R' option, which is similar to '-r', except that the relocated directory, if exists, will be removed entirely
before running the test suite. A usage example looks like this:

test $ ./dotest.py -A x86_64 -R /tmp/x86_64 &
test $ ./dotest.py -A i386 -R /tmp/i386 &

where we would want to run the x86_64 and i386 archs concurrently but relocate the test suite to different directory
hierarchies in order not to stump on each other's intermediate files.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
be452279960af0a77434e212ce2f38e4821e00f9 19-Apr-2012 Johnny Chen <johnny.chen@apple.com> LLDB test suite should also output the config info string along with the stack trace.
rdar://problem/11283401

Example:

Collected 1 test

1: test_with_dwarf (TestCallStdStringFunction.ExprCommandCallFunctionTestCase)
Test calling std::String member function. ... FAIL

======================================================================
FAIL: test_with_dwarf (TestCallStdStringFunction.ExprCommandCallFunctionTestCase)
Test calling std::String member function.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Volumes/data/lldb/svn/ToT/test/lldbtest.py", line 427, in wrapper
return func(self, *args, **kwargs)
File "/Volumes/data/lldb/svn/ToT/test/expression_command/call-function/TestCallStdStringFunction.py", line 34, in test_with_dwarf
self.call_function()
File "/Volumes/data/lldb/svn/ToT/test/expression_command/call-function/TestCallStdStringFunction.py", line 48, in call_function
substrs = ['Hello world'])
File "/Volumes/data/lldb/svn/ToT/test/lldbtest.py", line 1235, in expect
msg if msg else EXP_MSG(str, exe))
AssertionError: False is not True : 'Hello world' returns expected result
Config=i386-clang
----------------------------------------------------------------------
Ran 1 test in 1.148s

FAILED (failures=1)


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
e6d88a8188e354d415f55c18c9723ec3de2c6dee 19-Apr-2012 Johnny Chen <johnny.chen@apple.com> Simplify the progress bar display when neither "-v" nor "-t" is passed to the test driver.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
bb4800e3c9900ad7026b3a973b350184d3e2e773 12-Apr-2012 Johnny Chen <johnny.chen@apple.com> Make the default architectures to run as both 64 and 32-bit.

rdar://problem/11031264


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
1abe4c00bbce29b53e3bd2a5f35de431cb59081b 20-Mar-2012 Johnny Chen <johnny.chen@apple.com> Add a '-E' option to the test driver for the purpose of specifying some extra CFLAGS
to pass to the toolchain in order to build the inferior programs to be run/debugged
duirng the test suite. The architecture might dictate some special CFLAGS which are
more easily specified in a central place (like the command line) instead of inside
make rules.

For Example,

./dotest.py -v -r /shared/phone -A armv7 -E "-isysroot your_sdk_root" functionalities/watchpoint/hello_watchpoint

will relocate the particular test directory ('functionalities/watchpoint/hello_watchpoint' in this case) to a
new directory named '/shared/phone'. The particular incarnation of the architecture-compiler combination of the
test support files are therefore to be found under:

/shared/phone.arch=armv7-compiler=clang/functionalities/watchpoint/hello_watchpoint

The building of the inferior programs under testing is now working.

The actual launching/debugging of the inferior programs are not yet working,
neither is the setting of a watchpoint on the phone.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
ab338087c1204caddacfa70e44d88c239bf72dcf 12-Mar-2012 Sean Callanan <scallanan@apple.com> Disabled the i386 tests pending fixes in the JIT.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
92693b50c3526f9666bf23e408c53d0456a2f9f0 09-Mar-2012 Johnny Chen <johnny.chen@apple.com> Add the capability on OS X to utilize 'xcrun' to locate the compilers used for building the inferior programs
to be debugged while running the test suite. By default, compilers is set to ['clang'] and can be overridden
using the "-C compilerA^compilerB" option.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
7798d7865c34c6621905c19a84b92b1c397520b0 09-Mar-2012 Johnny Chen <johnny.chen@apple.com> Change the test driver so that, by default, it takes into consideration of both 'x86_64' and 'i386' architectures
when building the inferior programs.

Example:

/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -v functionalities/watchpoint
LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug
LLDB-123
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: 152244
Node Kind: directory
Schedule: normal
Last Changed Author: gclayton
Last Changed Rev: 152244
Last Changed Date: 2012-03-07 13:03:09 -0800 (Wed, 07 Mar 2012)



Session logs for test failures/errors/unexpected successes will go into directory '2012-03-08-16_43_51'
Command invoked: python ./dotest.py -v functionalities/watchpoint

Configuration: arch=x86_64
----------------------------------------------------------------------
Collected 21 tests

1: test_hello_watchlocation_with_dsym (TestWatchLocation.HelloWatchLocationTestCase)
Test watching a location with '-x size' option. ... ok
2: test_hello_watchlocation_with_dwarf (TestWatchLocation.HelloWatchLocationTestCase)
Test watching a location with '-x size' option. ... ok
3: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
Test a simple sequence of watchpoint creation and watchpoint hit. ... ok
4: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
Test a simple sequence of watchpoint creation and watchpoint hit. ... ok
5: test_watchpoint_multiple_threads_with_dsym (TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase)
Test that lldb watchpoint works for multiple threads. ... ok
6: test_watchpoint_multiple_threads_with_dwarf (TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase)
Test that lldb watchpoint works for multiple threads. ... ok
7: test_rw_disable_after_first_stop__with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint but disable it after the first stop. ... ok
8: test_rw_disable_after_first_stop_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint but disable it after the first stop. ... ok
9: test_rw_disable_then_enable_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint, disable initially, then enable it. ... ok
10: test_rw_disable_then_enable_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint, disable initially, then enable it. ... ok
11: test_rw_watchpoint_delete_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase)
Test delete watchpoint and expect not to stop for watchpoint. ... ok
12: test_rw_watchpoint_delete_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase)
Test delete watchpoint and expect not to stop for watchpoint. ... ok
13: test_rw_watchpoint_set_ignore_count_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase)
Test watchpoint ignore count and expect to not to stop at all. ... ok
14: test_rw_watchpoint_set_ignore_count_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase)
Test watchpoint ignore count and expect to not to stop at all. ... ok
15: test_rw_watchpoint_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint and expect to stop two times. ... ok
16: test_rw_watchpoint_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint and expect to stop two times. ... ok
17: test_watchpoint_cond_with_dsym (TestWatchpointConditionCmd.WatchpointConditionCmdTestCase)
Test watchpoint condition. ... ok
18: test_watchpoint_cond_with_dwarf (TestWatchpointConditionCmd.WatchpointConditionCmdTestCase)
Test watchpoint condition. ... ok
19: test_watchlocation_with_dsym_using_watchpoint_set (TestWatchLocationWithWatchSet.WatchLocationUsingWatchpointSetTestCase)
Test watching a location with 'watchpoint set expression -w write -x size' option. ... ok
20: test_watchlocation_with_dwarf_using_watchpoint_set (TestWatchLocationWithWatchSet.WatchLocationUsingWatchpointSetTestCase)
Test watching a location with 'watchpoint set expression -w write -x size' option. ... ok
21: test_error_cases_with_watchpoint_set (TestWatchpointSetErrorCases.WatchpointSetErrorTestCase)
Test error cases with the 'watchpoint set' command. ... ok

----------------------------------------------------------------------
Ran 21 tests in 74.590s

OK

Configuration: arch=i386
----------------------------------------------------------------------
Collected 21 tests

1: test_hello_watchlocation_with_dsym (TestWatchLocation.HelloWatchLocationTestCase)
Test watching a location with '-x size' option. ... ok
2: test_hello_watchlocation_with_dwarf (TestWatchLocation.HelloWatchLocationTestCase)
Test watching a location with '-x size' option. ... ok
3: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
Test a simple sequence of watchpoint creation and watchpoint hit. ... ok
4: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
Test a simple sequence of watchpoint creation and watchpoint hit. ... ok
5: test_watchpoint_multiple_threads_with_dsym (TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase)
Test that lldb watchpoint works for multiple threads. ... ok
6: test_watchpoint_multiple_threads_with_dwarf (TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase)
Test that lldb watchpoint works for multiple threads. ... ok
7: test_rw_disable_after_first_stop__with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint but disable it after the first stop. ... ok
8: test_rw_disable_after_first_stop_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint but disable it after the first stop. ... ok
9: test_rw_disable_then_enable_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint, disable initially, then enable it. ... ok
10: test_rw_disable_then_enable_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint, disable initially, then enable it. ... ok
11: test_rw_watchpoint_delete_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase)
Test delete watchpoint and expect not to stop for watchpoint. ... ok
12: test_rw_watchpoint_delete_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase)
Test delete watchpoint and expect not to stop for watchpoint. ... ok
13: test_rw_watchpoint_set_ignore_count_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase)
Test watchpoint ignore count and expect to not to stop at all. ... ok
14: test_rw_watchpoint_set_ignore_count_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase)
Test watchpoint ignore count and expect to not to stop at all. ... ok
15: test_rw_watchpoint_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint and expect to stop two times. ... ok
16: test_rw_watchpoint_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase)
Test read_write watchpoint and expect to stop two times. ... ok
17: test_watchpoint_cond_with_dsym (TestWatchpointConditionCmd.WatchpointConditionCmdTestCase)
Test watchpoint condition. ... ok
18: test_watchpoint_cond_with_dwarf (TestWatchpointConditionCmd.WatchpointConditionCmdTestCase)
Test watchpoint condition. ... ok
19: test_watchlocation_with_dsym_using_watchpoint_set (TestWatchLocationWithWatchSet.WatchLocationUsingWatchpointSetTestCase)
Test watching a location with 'watchpoint set expression -w write -x size' option. ... ok
20: test_watchlocation_with_dwarf_using_watchpoint_set (TestWatchLocationWithWatchSet.WatchLocationUsingWatchpointSetTestCase)
Test watching a location with 'watchpoint set expression -w write -x size' option. ... ok
21: test_error_cases_with_watchpoint_set (TestWatchpointSetErrorCases.WatchpointSetErrorTestCase)
Test error cases with the 'watchpoint set' command. ... ok

----------------------------------------------------------------------
Ran 21 tests in 67.059s

OK


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
6346a2917959270e99827b7c744fbfc6026ced13 31-Jan-2012 Johnny Chen <johnny.chen@apple.com> Add a period.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
0f907b887b07b8c33c77c0e058a0a6974e0c2aff 31-Jan-2012 Johnny Chen <johnny.chen@apple.com> Add a '-u ENV_VAR_NAME' option to the test driver, whose purpose is to unset the said
environment variable before starting the test runner which executes the test cases and
may spawn child processes. An example:

./dotest.py -u MY_ENV1 -u MY_ENV2 -v -p TestWatchLocationWithWatchSet.py


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
e9eae8142a492bb17af559eed5ad1a5e382c3905 18-Jan-2012 Johnny Chen <johnny.chen@apple.com> Add a '-X excluded-dir' option to the test driver to exclude a directory from consideration during test discovery. For example:

./dotest.py -X types -v

from the test dir will ignore test cases under test/types.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
ce9cf4ecada93b4795f675cbb6b8ca31e1af783e 17-Jan-2012 Johnny Chen <johnny.chen@apple.com> Add usage example of specifying the full path to the compiler used while building the debuggees for running the test suite.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
08967199e95ad3ad0d5a65fd6877d85386e533f7 18-Nov-2011 Johnny Chen <johnny.chen@apple.com> Add a simple progress bar when neither '-v' nor '-t' is specified.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
2bd310c2c7aa131982d897a82b077ac33b35038d 01-Nov-2011 Daniel Dunbar <daniel@zuster.org> tests: Improve Makefile/dotest to properly set LLDB_HERE variable used in some
tests.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
91da005bf6f5d7549a45a8aeb01a93deefe9b55f 28-Oct-2011 Johnny Chen <johnny.chen@apple.com> Fix a typo.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
8904eb0c783751cbba9bbda19c30156789b9f6eb 28-Oct-2011 Johnny Chen <johnny.chen@apple.com> Print out the version of the locally built 'lldb' binary, not the one found in your PATH env variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
0409d995d366a12b16ea5bf1ddd9cfdec9783924 25-Oct-2011 Johnny Chen <johnny.chen@apple.com> Benchmark the turnaround time starting a debugger and run to the breakpoint with lldb vs. gdb.

An example (with /Developer/usr/bin/lldb vs. /usr/bin/gdb):

[13:05:04] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v +b -n -p TestCompileRunToBreakpointTurnaround.py
1: test_run_lldb_then_gdb (TestCompileRunToBreakpointTurnaround.CompileRunToBreakpointBench)
Benchmark turnaround time with lldb vs. gdb. ...
lldb turnaround benchmark: Avg: 4.574600 (Laps: 3, Total Elapsed Time: 13.723799)
gdb turnaround benchmark: Avg: 7.966713 (Laps: 3, Total Elapsed Time: 23.900139)
lldb_avg/gdb_avg: 0.574214
ok

----------------------------------------------------------------------
Ran 1 test in 55.462s

OK


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
eef9057cf02471eeb9a60df3486658fd9e13a7eb 22-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add bench.py as a driver script to run some benchmarks on lldb.
Add benchmarks for expression evaluations (TestExpressionCmd.py) and disassembly (TestDoAttachThenDisassembly.py).

An example:
[17:45:55] johnny:/Volumes/data/lldb/svn/trunk/test $ ./bench.py 2>&1 | grep -P '^lldb.*benchmark:'
lldb startup delay (create fresh target) benchmark: Avg: 0.104274 (Laps: 30, Total Elapsed Time: 3.128214)
lldb startup delay (set first breakpoint) benchmark: Avg: 0.102216 (Laps: 30, Total Elapsed Time: 3.066470)
lldb frame variable benchmark: Avg: 1.649162 (Laps: 20, Total Elapsed Time: 32.983245)
lldb stepping benchmark: Avg: 0.104409 (Laps: 50, Total Elapsed Time: 5.220461)
lldb expr cmd benchmark: Avg: 0.206774 (Laps: 25, Total Elapsed Time: 5.169350)
lldb disassembly benchmark: Avg: 0.089086 (Laps: 10, Total Elapsed Time: 0.890859)


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
fe5f1ed2d4ca6cc0039c1069980c998330c4027c 21-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add a '-n' option to turn off printings of build dir, lldb version, svn info, and other headers
which happen before the listingings of test cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
8a1b122b493336ad05df2357c3d6db49f9162a59 21-Oct-2011 Johnny Chen <johnny.chen@apple.com> Breakpoint specification can have the form '-n main', so it's not a good idea to
check that the option arg in '-x opt_arg' does not start with a '-' char.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
5f2ed17114c1711a23011c160832b318d77db888 20-Oct-2011 Johnny Chen <johnny.chen@apple.com> Parameterize the iteration count used when running benchmarks, instead of hard-coded inside the test case.
Add a '-y count' option to the test driver for this purpose. An example:

$ ./dotest.py -v -y 25 +b -p TestDisassembly.py

...

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

1: test_run_gdb_then_lldb (TestDisassembly.DisassembleDriverMainLoop)
Test disassembly on a large function with lldb vs. gdb. ...
gdb benchmark: Avg: 0.226305 (Laps: 25, Total Elapsed Time: 5.657614)
lldb benchmark: Avg: 0.113864 (Laps: 25, Total Elapsed Time: 2.846606)
lldb_avg/gdb_avg: 0.503146
ok
2: test_run_lldb_then_gdb (TestDisassembly.DisassembleDriverMainLoop)
Test disassembly on a large function with lldb vs. gdb. ...
lldb benchmark: Avg: 0.113008 (Laps: 25, Total Elapsed Time: 2.825201)
gdb benchmark: Avg: 0.225240 (Laps: 25, Total Elapsed Time: 5.631001)
lldb_avg/gdb_avg: 0.501723
ok

----------------------------------------------------------------------
Ran 2 tests in 41.346s

OK


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
38f823c14468f8dec5a0568828ab22989240179d 11-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add '-k' option to the test driver to be able to specify a runhook, which is an lldb command
for the debugger to execute for certain kind of tests (for example, a benchmark).
A list of runhooks can be used to steer the debugger into the desired state before more
actions can be performed.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
e00c9303c148e3ad4d1e511a27f3104cdd404e07 11-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add '-e' and '-x' options to the test driver to be able to specify an executable (full path)
and the breakpoint specification for the benchmark purpose. This is used by TestSteppingSpeed.py
to benchmark the lldb stepping speed. Without '-e' and 'x' specified, the test defaults to
run the built lldb against itself and stopped on Driver::MainLoop, then stepping for 50 times.

rdar://problem/7511193


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
6a451485d71f890635a32930d09c7296e665bcbd 16-Sep-2011 Johnny Chen <johnny.chen@apple.com> Minor change for output message (less is better).


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
178c8d99c2fe0fc4b10368329a83b0da44c8a725 16-Sep-2011 Johnny Chen <johnny.chen@apple.com> To be more paranoid, check cmd_output before searching in it.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
6a4e087699713b51ef94a2c6322842f30474a526 16-Sep-2011 Johnny Chen <johnny.chen@apple.com> Rephrase the checkDsymForUUIDIsNotOn() a bit so that in the normal case where automatic
lookup and cacheing of dSYMs is not enabled, the 'defaults read com.apple.DebugSymbols'
output is not shown.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
2891bb03e1ceafe4f894d7edb01f15b8ba890d27 16-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add a check for the test driver to make sure that, on Mac OS X, the automatic lookup and caching
of dSYMs is not turned on before running the test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.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/dotest.py
db4be60f02e9bc2af7f3a6f32f612e73856f21ee 13-Aug-2011 Johnny Chen <johnny.chen@apple.com> Fix a test driver bug where multiple filter specs (through the -f TestClassName.test_method_name
command line option) belonging to the same Test*.py file are ignored, except for the first one.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
4d162e5e8ac747827bce78a39af863f945611fef 12-Aug-2011 Johnny Chen <johnny.chen@apple.com> When running dotest.py under pdb (the python debugger), define DOTEST_PDB=YES and
DOTEST_SCRIPT_DIR=/path/leading/to/your/dotest/script/directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
62d527ebcc7f55c8ad10e9d692cf69a881fb933a 04-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add a test to check the integrity of the lldb public api directory containing SB*.h headers.

There should be nothing unwanted there and a simpe main.cpp (generated from main.cpp.template)
which includes SB*.h should compile and link with the LLDB framework.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
c5fa005707f9378e03328fb0ee492b8a6c230057 30-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add a redo.py script which takes a session directory name as arg and digs into the directory
to find out the tests which failed/errored and need re-running. The dotest.py test driver
script is modified to allow specifying multiple -f testclass.testmethod in the command line
to accommodate the redo functionality.

An example,

$ ./redo.py -n 2011-07-29-11_50_14
adding filterspec: TargetAPITestCase.test_find_global_variables_with_dwarf
adding filterspec: DisasmAPITestCase.test_with_dsym
Running ./dotest.py -v -f TargetAPITestCase.test_find_global_variables_with_dwarf -f DisasmAPITestCase.test_with_dsym

...

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

1: test_with_dsym (TestDisasmAPI.DisasmAPITestCase)
Exercise getting SBAddress objects, disassembly, and SBAddress APIs. ... ok
2: test_find_global_variables_with_dwarf (TestTargetAPI.TargetAPITestCase)
Exercise SBTarget.FindGlobalVariables() API. ... ok

----------------------------------------------------------------------
Ran 2 tests in 15.328s

OK


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
b264c9b1c0385173517147f1d0ff6c87bb04c8f4 25-Jun-2011 Johnny Chen <johnny.chen@apple.com> Compute svn_info for git-svn bridge, too.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
c935a89a5ea2199cdaaf557c4f913a78e25c2797 21-Jun-2011 Johnny Chen <johnny.chen@apple.com> Fix the log channel for gdb-remote. It should be "gdb-remote" now, instead of "process.gdb-remote".


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
132476f353df957117d463aedb4d68db6c35677e 21-Jun-2011 Peter Collingbourne <peter@pcc.me.uk> Set LLDB_SESSION_DIRNAME to absolute path

This is to ensure that session files are written to the correct
directory if the -r option is given.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
f6c3de8ff0f3ecd3b5739bfa7c732a3b152e48c7 20-Jun-2011 Peter Collingbourne <peter@pcc.me.uk> Modify TestHelp to search for LLDB-Info.plist in the correct place

This is required to run the test suite outside of the source tree
or on a case sensitive file system.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
61aca48855d023d7dbb1b4743704907b77f6acba 20-Jun-2011 Peter Collingbourne <peter@pcc.me.uk> Have dotest.py search for test cases in its own directory by default,
rather than the current directory.

This is required to run the test suite outside of the source tree.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
5f2b5d624df0e720de4e28f1cebf7a0ad3f62c10 14-Jun-2011 Peter Collingbourne <peter@pcc.me.uk> Fix typo: curret -> current

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
b5fe80c62f0de8b855e0ee4bf25d3325f52e1984 18-May-2011 Johnny Chen <johnny.chen@apple.com> Let's also stick the svn info for the base directory into a file under
the session directory, which also includes the command line used to invoke
the test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
f2c7b28ace015f755b1585d9e0633be0aa27819c 27-Apr-2011 Johnny Chen <johnny.chen@apple.com> Docstring.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
979cb5da1f9aee5d23d8facfb7d5a781406cca28 27-Apr-2011 Johnny Chen <johnny.chen@apple.com> Docstring changees.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
eee9b8608c5c7d53233f0410e3c7335d54dc032c 26-Apr-2011 Johnny Chen <johnny.chen@apple.com> Simplify the parsing of ARCH and Compiler specs.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
a2486f28182f39648ea6f379fb13bbd579314ef8 21-Apr-2011 Johnny Chen <johnny.chen@apple.com> Use self.TraceOn() API.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
4f347cbb039d9b5ef5f5772dcb672b5557feeb7e 13-Apr-2011 Jim Ingham <jingham@apple.com> Have "-h" print just the command arguments, and "-h -v" print the examples as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
b72d0f098e45936fa72e26b1a026c603e17e2d6c 12-Apr-2011 Greg Clayton <gclayton@apple.com> Moved the execution context that was in the Debugger into
the CommandInterpreter where it was always being used.

Make sure that Modules can track their object file offsets correctly to
allow opening of sub object files (like the "__commpage" on darwin).

Modified the Platforms to be able to launch processes. The first part of this
move is the platform soon will become the entity that launches your program
and when it does, it uses a new ProcessLaunchInfo class which encapsulates
all process launching settings. This simplifies the internal APIs needed for
launching. I want to slowly phase out process launching from the process
classes, so for now we can still launch just as we used to, but eventually
the platform is the object that should do the launching.

Modified the Host::LaunchProcess in the MacOSX Host.mm to correctly be able
to launch processes with all of the new eLaunchFlag settings. Modified any
code that was manually launching processes to use the Host::LaunchProcess
functions.

Fixed an issue where lldb_private::Args had implicitly defined copy
constructors that could do the wrong thing. This has now been fixed by adding
an appropriate copy constructor and assignment operator.

Make sure we don't add empty ModuleSP entries to a module list.

Fixed the commpage module creation on MacOSX, but we still need to train
the MacOSX dynamic loader to not get rid of it when it doesn't have an entry
in the all image infos.

Abstracted many more calls from in ProcessGDBRemote down into the
GDBRemoteCommunicationClient subclass to make the classes cleaner and more
efficient.

Fixed the default iOS ARM register context to be correct and also added support
for targets that don't support the qThreadStopInfo packet by selecting the
current thread (only if needed) and then sending a stop reply packet.

Debugserver can now start up with a --unix-socket (-u for short) and can
then bind to port zero and send the port it bound to to a listening process
on the other end. This allows the GDB remote platform to spawn new GDB server
instances (debugserver) to allow platform debugging.







git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
d793146bf7f69e321607529237db489a433b439b 17-Mar-2011 Johnny Chen <johnny.chen@apple.com> As a simple measure, output the lldb version and the svn info for
which the testsuite is run against.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
8a3c0430323c28c1fbe8ceecd2cd8e58b64a9295 11-Mar-2011 Johnny Chen <johnny.chen@apple.com> Add pexpect-2.4 (a pure Python module for controlling and automating other programs) to the test directory.

http://pypi.python.org/pypi/pexpect/


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
26901c8c615beb9f2942bae337d927ff38535687 11-Mar-2011 Johnny Chen <johnny.chen@apple.com> Add a mechanism to discover the full path of the 'lldb' program into the test driver.
This provides a way to potentially provide conversational interactions with 'lldb' in the test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
1a4d5e7b6eb2283b4c7d8e308f4087f39cc05ed6 04-Mar-2011 Johnny Chen <johnny.chen@apple.com> Add the ability for the test suite to specify a list of compilers and a list of architectures
on the command line. For example, use '-A x86_64^i386' to launch the inferior use both x86_64
and i386.

This is an example of building the debuggee using both clang and gcc compiers:

[17:30:46] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -C clang^gcc -v -f SourceManagerTestCase.test_modify_source_file_while_debugging

Session logs for test failures/errors will go into directory '2011-03-03-17_31_39'
Command invoked: python ./dotest.py -C clang^gcc -v -f SourceManagerTestCase.test_modify_source_file_while_debugging

Configuration: compiler=clang
----------------------------------------------------------------------
Collected 1 test

1: test_modify_source_file_while_debugging (TestSourceManager.SourceManagerTestCase)
Modify a source file while debugging the executable. ... Command 'run' failed!

original content: #include <stdio.h>

int main(int argc, char const *argv[]) {
printf("Hello world.\n"); // Set break point at this line.
return 0;
}

new content: #include <stdio.h>

int main(int argc, char const *argv[]) {
printf("Hello lldb.\n"); // Set break point at this line.
return 0;
}

os.path.getmtime() after writing new content: 1299202305.0
content restored to: #include <stdio.h>

int main(int argc, char const *argv[]) {
printf("Hello world.\n"); // Set break point at this line.
return 0;
}

os.path.getmtime() after restore: 1299202307.0
ok

----------------------------------------------------------------------
Ran 1 test in 8.259s

OK

Configuration: compiler=gcc
----------------------------------------------------------------------
Collected 1 test

1: test_modify_source_file_while_debugging (TestSourceManager.SourceManagerTestCase)
Modify a source file while debugging the executable. ... original content: #include <stdio.h>

int main(int argc, char const *argv[]) {
printf("Hello world.\n"); // Set break point at this line.
return 0;
}

new content: #include <stdio.h>

int main(int argc, char const *argv[]) {
printf("Hello lldb.\n"); // Set break point at this line.
return 0;
}

os.path.getmtime() after writing new content: 1299202307.0
content restored to: #include <stdio.h>

int main(int argc, char const *argv[]) {
printf("Hello world.\n"); // Set break point at this line.
return 0;
}

os.path.getmtime() after restore: 1299202309.0
ok

----------------------------------------------------------------------
Ran 1 test in 2.301s

OK
[17:31:49] johnny:/Volumes/data/lldb/svn/trunk/test $


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
940b103224f3062578c7a7e6e76d8bf4a7956f2a 23-Feb-2011 Greg Clayton <gclayton@apple.com> Abtracted all mach-o and ELF out of ArchSpec. This patch is a modified form
of Stephen Wilson's idea (thanks for the input Stephen!). What I ended up
doing was:
- Got rid of ArchSpec::CPU (which was a generic CPU enumeration that mimics
the contents of llvm::Triple::ArchType). We now rely upon the llvm::Triple
to give us the machine type from llvm::Triple::ArchType.
- There is a new ArchSpec::Core definition which further qualifies the CPU
core we are dealing with into a single enumeration. If you need support for
a new Core and want to debug it in LLDB, it must be added to this list. In
the future we can allow for dynamic core registration, but for now it is
hard coded.
- The ArchSpec can now be initialized with a llvm::Triple or with a C string
that represents the triple (it can just be an arch still like "i386").
- The ArchSpec can still initialize itself with a architecture type -- mach-o
with cpu type and subtype, or ELF with e_machine + e_flags -- and this will
then get translated into the internal llvm::Triple::ArchSpec + ArchSpec::Core.
The mach-o cpu type and subtype can be accessed using the getter functions:

uint32_t
ArchSpec::GetMachOCPUType () const;

uint32_t
ArchSpec::GetMachOCPUSubType () const;

But these functions are just converting out internal llvm::Triple::ArchSpec
+ ArchSpec::Core back into mach-o. Same goes for ELF.

All code has been updated to deal with the changes.

This should abstract us until later when the llvm::TargetSpec stuff gets
finalized and we can then adopt it.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
ad626a7502d062279cfc824cf286e50f3330aa30 23-Feb-2011 Greg Clayton <gclayton@apple.com> Don't enable thread safe logging as it currently deadlocks logging.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126260 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
212baf4460368cb2ea73f793491adecef3631c1d 22-Feb-2011 Greg Clayton <gclayton@apple.com> Make logs threadsafe (add the -t option) when logging API stuff.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
6a564a4732c69c5402e3d25305cdcad551a1a429 15-Feb-2011 Johnny Chen <johnny.chen@apple.com> Refactored the test driver to abstract out the Python sys.path specification for
different build configurations.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
d9846b01d3a97959f2c35650caaff1360215a439 14-Feb-2011 Greg Clayton <gclayton@apple.com> Added support for Xcode 4 build directories.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
d536233de27d7e55d2c61fd55bf5aa624201c8dc 29-Jan-2011 Johnny Chen <johnny.chen@apple.com> Added comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
50bc638c63c838adf8f7ddf28430bba5cb136c50 29-Jan-2011 Johnny Chen <johnny.chen@apple.com> Add a "-D" option to the test driver which dumps the Python sys.path variable
to be used for the test run. Could be useful for debugging the setup of the
test environment.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
012cba1c671d65674f20830f1e42d1322c932cb4 26-Jan-2011 Johnny Chen <johnny.chen@apple.com> Add "-A arch_spec" and "-C compiler_spec" options to the test driver. Example:

$ ./dotest.py -A i386 -C clang -v -w -t -p TestObjCMethods.py
$ ./dotest.py -A x86_64 -C gcc -v -w types


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
067022b780badba447f1e6991069fb8288df0520 19-Jan-2011 Johnny Chen <johnny.chen@apple.com> Print out the command line used to invoke the test suite so I don't get confused
since different options can affect the run time.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
0de6ab53db8a87e6010a6cfcc18647b3bad6fbb6 19-Jan-2011 Johnny Chen <johnny.chen@apple.com> Added special logic to faciliate profiling the test suite run with the cProfile.py
module.

On my MBP running SnowLeopard:

$ DOTEST_PROFILE=YES DOTEST_SCRIPT_DIR=/Volumes/data/lldb/svn/trunk/test /System/Library/Frameworks/Python.framework/Versions/Current/lib/python2.6/cProfile.py -o my.profile ./dotest.py -v -w 2> ~/Developer/Log/lldbtest.log

After that, I used the pstats.py module to browse the statistics recorded in the my.profile file.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
c87fd49b6a338372fd6667ad09892b70d57b08fd 05-Jan-2011 Johnny Chen <johnny.chen@apple.com> Properly indent the short description of the test case to make it align with the
previously added ordinal number of the currently running test case.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
810042efba4eb9b02e5de1529ebfc01ed821cca5 05-Jan-2011 Johnny Chen <johnny.chen@apple.com> Enhance the test framework to be able to emit a counter value in verbose mode
describing the ordinal number of the currently running test case.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
cc659ad4d604d198aac952cdea2a95a188184aff 10-Dec-2010 Johnny Chen <johnny.chen@apple.com> Do not specify both '-a' and '+a' at the same time.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.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/dotest.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/dotest.py
7d6d84435a99d8cc59523b0c1985a8eb4f2af5bf 03-Dec-2010 Johnny Chen <johnny.chen@apple.com> Add the '-F' option to the test driver, which makes the running of test suite failfast.
As soon as an error or a failure is encountered, it stops the test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
58bf344ecda295b7be24c3fe1d4d00a17a0cc475 03-Dec-2010 Johnny Chen <johnny.chen@apple.com> Log just the thread name, not process/thread id for easier human reading.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
19eee0d65fb6b1c216701c664bf68cb74dae91bd 02-Dec-2010 Johnny Chen <johnny.chen@apple.com> When logging, enable process and thread ID recordings. Also add 'state' to the lldb
log-categories, so it now becomes "event process expr state".


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
7ab8c85f52db89ea952587ef689f112fe671b619 02-Dec-2010 Johnny Chen <johnny.chen@apple.com> For lldb loggings, prepend log lines with a timestamp. And change the default log options:

o lldb => event process expr
o gdb-remote => packets process


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
d6e7ca2be8c5f4afa94059851a9617d3b950396a 29-Nov-2010 Johnny Chen <johnny.chen@apple.com> Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
360dd372c413c82f651775320bfd4052c31eec00 29-Nov-2010 Johnny Chen <johnny.chen@apple.com> When looping through the test suite more than once (repeat count > 1), we should
ignore and not enforce the signleton pattern for the LLDBTestResult class.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
d2acdb38ed0f756e8dd846e65fa149bd49a872c3 16-Nov-2010 Johnny Chen <johnny.chen@apple.com> Add an option '-# count' to run the specified test suite for a said number of times.
This is not to be used during normal test suite run, but to be used to stress test
specific test sequences repeatedly.

Example:

./dotest.py -# 3 -v breakpoint_conditions

will repeat the test suite 3 times for tests under the breakpoint_conditions directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
a85859f87fe7e6170af5e120b9b049f60410742d 11-Nov-2010 Johnny Chen <johnny.chen@apple.com> Add help message for the scenario of using lldb.py module distributed by Xcode4
to invoke the test driver.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
26be4532bee7111b52ae4bba6628efed17cd23db 10-Nov-2010 Johnny Chen <johnny.chen@apple.com> Add more comments on LLDBTestResult class.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
47c47c4a961f37e3db8052999414e9adebbacd49 10-Nov-2010 Johnny Chen <johnny.chen@apple.com> Rephrase the output message about session information; make it both "session logs".


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
1a6e92aaa153eb78494ee877fd4512917b94b73e 08-Nov-2010 Johnny Chen <johnny.chen@apple.com> Better wording of the help text for the '-f testclass.testmethod' option usage.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
d529f6b1c63f7a2ab7a86aa61c092ceefbf33991 08-Nov-2010 Johnny Chen <johnny.chen@apple.com> Let's also emit the informational message for where to find the session logs for
failed/errored tests at the start of the test run, in case the test run crashes
for any reason. That way, it is easy to locate the session logs for accumulated
failures/errors.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
a224cd19e4dbefdcb6c3769619133c155c185dd8 08-Nov-2010 Johnny Chen <johnny.chen@apple.com> Change the test driver so that simply specifying '-f testclass.testmethod' means that
we want to run just the instance of testclass-testmethod combination and nothing else.

Specifying '-g' now will admit the whole .py test module if it does not contain a matching
testclass-testmethod combination at all.

This option arrangement adheres to the RISC principle of making the common cases fast. :-)

rdar://problem/8584914 Can the default for dotest.py's "-g" flag be switched?


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
d96b568e6e43bb028e5bf20cd6a81b33db0d6f3c 05-Nov-2010 Johnny Chen <johnny.chen@apple.com> Add comment about iterating over possible architecture and compiler combinations.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
41fae8144e39661bb884f4b5f1c9d4e9793306bb 30-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add some comment about the default session dir name which is a timestamp.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
63c2cba24d3dd924211a4ea7a9ef3ff64555cfbb 30-Oct-2010 Johnny Chen <johnny.chen@apple.com> The informational message for where to find the session logs for failed/errored
tests should be near the test summary message, instead of way up in the beginning.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
76bd010e52f06f58df46dd0fb3ca2470a818470e 28-Oct-2010 Johnny Chen <johnny.chen@apple.com> Fix the test driver as part of the fix for http://llvm.org/bugs/show_bug.cgi?id=8493
File name "2010-10-19-14:10:49.059609" is non-portable.

Do not use ':' in the pathname as it is not permitted on windows platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
9656ab2a9777e78799ed5df55fcd17eace5f597e 22-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add some more usage text.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
66d2c2d326631d5e7a64c690771c8098294c5238 21-Oct-2010 Johnny Chen <johnny.chen@apple.com> Rewording of output message.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
fdde5f231c37688c1d5eea14d66065e52d3dfc87 21-Oct-2010 Johnny Chen <johnny.chen@apple.com> Get rid of the microsecond field in the timestamp directory name used to dump the
session information files to. This makes the directory name less intimidating.
Currently, the directory only gets created if there are failures/errors while
running the test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
6ad7e5e815daf24afc345eed219226d52d0e1dcd 21-Oct-2010 Johnny Chen <johnny.chen@apple.com> Add an example of option combination for running a single test method to the help text.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.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/dotest.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/dotest.py
6b6f5badb95266c1e22e9581eec3859109376c76 14-Oct-2010 Johnny Chen <johnny.chen@apple.com> Change the call within lldb.py to 'SBDebugger.Initialize()' from 'lldb.SBDebugger.Initialize()'.
Inside the lldb module, there's no need (and as a matter of fact, incorrect) to specify the 'lldb'
module name.

Comment out the call to lldb.SBDebugger.Initialize() within the test driver itself, since it is
already done when we import the lldb.py module.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
4b6630eee66eb4ec0778c890e61d82017dc4a059 12-Oct-2010 Johnny Chen <johnny.chen@apple.com> Fix an obvious cut-and-paste error.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
953864aaa9c9e7313ee5ac935891c8a7a6a22f12 12-Oct-2010 Johnny Chen <johnny.chen@apple.com> Added the capability for the test driver to split the sys.stderr/sys.stdout into
different configuration-based files using the config file. For example:

sys.stderr = open("/tmp/lldbtest-stderr", "w")
sys.stdout = open("/tmp/lldbtest-stdout", "w")
compilers = ["gcc", "llvm-gcc"]
archs = ["x86_64", "i386"]
split_stderr = True # This will split the stderr into configuration-specific file
split_stdout = True # This will split the stdout into configuration-specific file

will produce:

/tmp/lldbtest-stderr
/tmp/lldbtest-stderr.arch=i386-compiler=gcc
/tmp/lldbtest-stderr.arch=i386-compiler=llvm-gcc
/tmp/lldbtest-stderr.arch=x86_64-compiler=gcc
/tmp/lldbtest-stderr.arch=x86_64-compiler=llvm-gcc
/tmp/lldbtest-stdout
/tmp/lldbtest-stdout.arch=i386-compiler=gcc
/tmp/lldbtest-stdout.arch=i386-compiler=llvm-gcc
/tmp/lldbtest-stdout.arch=x86_64-compiler=gcc
/tmp/lldbtest-stdout.arch=x86_64-compiler=llvm-gcc

as a result of splitting stderr and stdout. In addition, each configuration can have
its individual top level relocated directory to house the test files as well as the
intermediate files by using '-r dir' to relocate the tests into a new relocated directory
instead of running the tests in place.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
79723356800fbab9bf7c7727ef5dfcbf53c3931e 12-Oct-2010 Johnny Chen <johnny.chen@apple.com> Update comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
46be75d9c1c6fd4fb2e7e7b2cc2b3ddbae2e3cd4 11-Oct-2010 Johnny Chen <johnny.chen@apple.com> Help text modification.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
ce2212c3fe761b7abf670f332e4556dba4fdb6f1 07-Oct-2010 Johnny Chen <johnny.chen@apple.com> Fix logic error of the option processing loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
b62436b4682bb67397213a2cdd0e11f81f5bed49 06-Oct-2010 Johnny Chen <johnny.chen@apple.com> Enhance the test driver with a '-f filterspec' option to specify the
testclass.testmethod to be run and with a '-g' option which instructs the test
driver to only admit the module which satisfy the filterspec condition to the
test suite.

Example:

# This only runs the test case under the array_types directory which has class
# name of 'ArrayTypesTestCase' and the test method name of 'test_with_dwarf_and_run_command'.

/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v -f 'ArrayTypesTestCase.test_with_dwarf_and_run_command' -g array_types
----------------------------------------------------------------------
Collected 1 test

test_with_dwarf_and_run_command (TestArrayTypes.ArrayTypesTestCase)
Test 'frame variable var_name' on some variables with array types. ... ok

----------------------------------------------------------------------
Ran 1 test in 1.353s

OK

# And this runs the test cases under the array_types and the hello_world directories.
# If the module discovered has the 'ArrayTypesTestCase.test_with_dwarf_and_run_command'
# attribute, only the test case specified by the filterspec for the module will be run.
# If the module does not have the said attribute, e.g., the module under hello_world,
# the whole module is still admitted to the test suite.

/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v -f 'ArrayTypesTestCase.test_with_dwarf_and_run_command' array_types hello_world
----------------------------------------------------------------------
Collected 3 tests

test_with_dwarf_and_run_command (TestArrayTypes.ArrayTypesTestCase)
Test 'frame variable var_name' on some variables with array types. ... ok
test_with_dsym_and_run_command (TestHelloWorld.HelloWorldTestCase)
Create target, breakpoint, launch a process, and then kill it. ... ok
test_with_dwarf_and_process_launch_api (TestHelloWorld.HelloWorldTestCase)
Create target, breakpoint, launch a process, and then kill it. ... ok

----------------------------------------------------------------------
Ran 3 tests in 4.964s

OK


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
18a921fbdc01dfa8caff65a7006f5b5ae31ab683 30-Sep-2010 Johnny Chen <johnny.chen@apple.com> Stop using LLDB_CC/LLDB_ARCH in the plugins for test configurations. Use make
friendly CC and ARCH, instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
7c52ff1d83ec262f35c9a825af107735913e7225 28-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added "float" and "double" to types/TestBasicTypes.py. Abstracted the generic
type tester method into its own abstarct base class 'AbstractBase'. And
added TestIntegerTypes.py and TestFloatTypes.py.

Added an option "-p reg-exp-pattern" to the test driver to specify a regular
expression pattern to match against eligible filenames as our test cases.

An example:

/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v -p "TestFloat.*" types
----------------------------------------------------------------------
Collected 4 tests

test_double_type_with_dsym (TestFloatTypes.FloatTypesTestCase)
Test that double-type variables are displayed correctly. ... ok
test_double_type_with_dwarf (TestFloatTypes.FloatTypesTestCase)
Test that double-type variables are displayed correctly. ... ok
test_float_type_with_dwarf (TestFloatTypes.FloatTypesTestCase)
Test that float-type variables are displayed correctly. ... ok
test_float_types_with_dsym (TestFloatTypes.FloatTypesTestCase)
Test that float-type variables are displayed correctly. ... ok

----------------------------------------------------------------------
Ran 4 tests in 5.592s

OK


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
f032d90a4fb11c4b3ba129b05d720f445e2cf0ba 21-Sep-2010 Johnny Chen <johnny.chen@apple.com> Changed the order of two assignment stmts.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
b40056bb26656a2f23bc6a7668b64213176c20f2 21-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added the capability to source the configFile specified via the "-c" option in
order to customize the running of the test suite. For the time being, the
supported customizations are:

o redirecting stdout and/or stderr
o specifying a list of compilers to build the test programs
o specifying a list of architectures to build the test programs for

Also checked into the examples/test directory some example files which
demonstrate the usage for the above customizations.

$ ./dotest.py -v -c ~/.lldbtest-config persistent_variables
$ cat ~/.lldbtest-config
sys.stderr = open("/tmp/lldbtest-stderr", "w")
sys.stdout = open("/tmp/lldbtest-stdout", "w")
compilers = ["gcc", "llvm-gcc"]
archs = ["x86_64", "i386"]
$ cat /tmp/lldbtest-stderr
----------------------------------------------------------------------
Collected 1 test


Configuration: arch=x86_64 compiler=gcc
test_persistent_variables (TestPersistentVariables.PersistentVariablesTestCase)
Test that lldb persistent variables works correctly. ... ok

----------------------------------------------------------------------
Ran 1 test in 1.397s

OK

Configuration: arch=x86_64 compiler=llvm-gcc
test_persistent_variables (TestPersistentVariables.PersistentVariablesTestCase)
Test that lldb persistent variables works correctly. ... ok

----------------------------------------------------------------------
Ran 1 test in 1.282s

OK

Configuration: arch=i386 compiler=gcc
test_persistent_variables (TestPersistentVariables.PersistentVariablesTestCase)
Test that lldb persistent variables works correctly. ... ok

----------------------------------------------------------------------
Ran 1 test in 1.297s

OK

Configuration: arch=i386 compiler=llvm-gcc
test_persistent_variables (TestPersistentVariables.PersistentVariablesTestCase)
Test that lldb persistent variables works correctly. ... ok

----------------------------------------------------------------------
Ran 1 test in 1.269s

OK
$ cat /tmp/lldbtest-stdout
$


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
cd0279daf515ee3d4d6727140987a1554803ea50 20-Sep-2010 Johnny Chen <johnny.chen@apple.com> More modularizations.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
49f2f7a02b97be46f2cfbb1236b0645ede3d9ec0 20-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
9fdb0a9dd07ac6cf826d9f90f5457b571adedff5 18-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added a hook for the test driver to take an optional config file to customize
the running of the test suite. Right now, it doesn't do anything with the
config file.

Pass "-c myConfigFile" to specify the config file.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
af149a01d06804575de17ceb9c4a4827bbae7046 16-Sep-2010 Johnny Chen <johnny.chen@apple.com> Cleaned up the option processing logic and added a '-i' option to ignore the
build tree relative search path in order to locate the lldb.py module. When
'-i' is present, the test driver relies on the PYTHONPATH environment variable
to locate the lldb.py module.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
872aee15367f49a091d2d327f123cfba3eaacc48 16-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added some comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
c202c465167e3411515fd61cc8d2801b07a819b4 15-Sep-2010 Johnny Chen <johnny.chen@apple.com> Also added BuildAndIntegration to the directories to search for an existing
lldb.py module. The priorities to search for are Debug, Release, then
BuildAndIntegration. You can always override this with a valid PYTHONPATH
environment variable before running the test driver.

For example:

$ PYTHONPATH=/Find/My/LLDB/Module/Here ./dotest.py -v .

Python runtime will try to locate the lldb.py module from
/Find/My/LLDB/Module/Here first before trying the Debug, Release, and then
BuildAndIntegration directories.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.py
91960d3b4f1c8ccbc7b2087bc82fe2cc24b45f5a 08-Sep-2010 Johnny Chen <johnny.chen@apple.com> Added '-d' option to the test driver to spit out the process id and do a delay
of 10 seconds in order for the debugger to attach.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.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/dotest.py
840d8e3a4c867768d2bee72e6b5252fce3362ea7 18-Aug-2010 Johnny Chen <johnny.chen@apple.com> Write out the informational message about the total number of test cases to be
run to stderr, instead of stdout. The same as what the unittest framework uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
4e6c888b71f97bb9dc7a3bfe64fbf9f94e3193a8 17-Aug-2010 Johnny Chen <johnny.chen@apple.com> Add the ability to specify logging options for lldb and gdb-remote through two
additional env variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
1a43726befcd013a92ee2dd67eed775fef8379a6 17-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added logging for process.gdb-remote by defining an environment variable named
GDB_REMOTE_LOG which specifies the log file pathname.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
83f6e51363d5ccb37933147be00da1c74f0b1351 14-Aug-2010 Johnny Chen <johnny.chen@apple.com> Added a workaround for test suite hang while terminating by checking env variable
LLDB_TESTSUITE_FORCE_FINISH and, if defined, kill the test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@111056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
01f2a6a3cea331ed92178bf5bc990022e872e93d 10-Aug-2010 Johnny Chen <johnny.chen@apple.com> Call lldb.SBDebugger.Terminate() at the end of test suite run through the atexit
handler similar to what's happening for the individual test case run.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@110719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
7987ac9e8b880c5a172afe280a72d2dcb4b77830 09-Aug-2010 Johnny Chen <johnny.chen@apple.com> Install the SIGINT (control-c) handler before invoking the text test runner.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@110595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
877c7e4a4af2dd95b3999c1d7381b661787155cb 07-Aug-2010 Johnny Chen <johnny.chen@apple.com> Putting out messages about the number of test cases to be run before running the
whole test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@110487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.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/dotest.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/dotest.py
797674b6ff11d78ed4d6958a4b935585facb855a 02-Jul-2010 Johnny Chen <johnny.chen@apple.com> Fixed logic error; checking return status and raising exception should only be
done if the environment variable LLDB_LOG is defined.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
909e5a62b93f6b0462996d35390665339d442f8b 02-Jul-2010 Johnny Chen <johnny.chen@apple.com> Turn on logging for debugging purposes if ${LLDB_LOG} environment variable is
is defined. Use ${LLDB_LOG} to specify the log file.

Create a singleton SBDebugger in the lldb namespace, that gets used when running
the entire test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
16b97476e2496aa6c64d0c72e2faad83040acde5 30-Jun-2010 Johnny Chen <johnny.chen@apple.com> Add some delay before calling SBDebugger.Terminate().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
58f9392cf71468cefaeeda34324cdef38f66f1dc 30-Jun-2010 Johnny Chen <johnny.chen@apple.com> Added TestArrayTypes.py for test/array_types directory.

Also modified dotest.py so that it sets the LLDB_TEST environment variable
so that individual test cases can locate their supporting files correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
1bfbd41ff54438ab23c55637efb37d6a1db0b977 29-Jun-2010 Johnny Chen <johnny.chen@apple.com> For the time being, let's bracket the test runner within the
lldb.SBDebugger.Initialize()/Terminate() pair.

Change TestHelp.py to use synchronous debugging, which is easier to work with.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
a85d7eefef64b72eec99a91524dc3942d9683705 26-Jun-2010 Johnny Chen <johnny.chen@apple.com> No need to add the test script containing directory to sys.path more than once.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
896f31ffff17a38d941835af158d1add8234ee9d 26-Jun-2010 Johnny Chen <johnny.chen@apple.com> Removed debug print statements.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/dotest.py
9707bb6e50715489119bd756f208d3e9b7072848 25-Jun-2010 Johnny Chen <johnny.chen@apple.com> A simple testing framework for lldb using python's unit testing framework.

Tests for lldb are written as python scripts which take advantage of the script
bridging provided by LLDB.framework to interact with lldb core.

A specific naming pattern is followed by the .py script to be recognized as
a module which implements a test scenario, namely, Test*.py.

To specify the directories where "Test*.py" python test scripts are located,
you need to pass in a list of directory names. By default, the current
working directory is searched if nothing is specified on the command line.

An example:

[14:10:20] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v example
test_choice (TestSequenceFunctions.TestSequenceFunctions) ... ok
test_sample (TestSequenceFunctions.TestSequenceFunctions) ... ok
test_shuffle (TestSequenceFunctions.TestSequenceFunctions) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK


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