summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lldbtest.py
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Make skipIf support the not_in function (second attempt)."Siva Chandra2015-11-201-15/+11
| | | | | | | | | | | | Summary: This reverts commit 70dca28976ee8137acce2cc203dd394f4d761276. Reviewers: amccarth, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14881 llvm-svn: 253704
* Make skipIf support the not_in function (second attempt).Adrian McCarthy2015-11-201-11/+15
| | | | llvm-svn: 253683
* Revert "Make skipIf support the not_in function."Siva Chandra2015-11-201-3/+3
| | | | | | | | | | | | | | Summary: This reverts commit 251965377bdfb6227eea42c12a792c059e4e8a4b as a test marked "skipIf(compiler='gcc')" runs when testing with GCC. Reviewers: amccarth Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14852 llvm-svn: 253631
* Make skipIf support the not_in function.Adrian McCarthy2015-11-201-3/+3
| | | | llvm-svn: 253623
* Cleanup work required to get the ASAN tests to run in the new test suite ↵Enrico Granata2015-11-191-2/+3
| | | | | | infrastructure; the tests are now xfailed on Darwin pending investigation llvm-svn: 253604
* Support unix-abstract-connect scheme as platform url in lldb testsuiteYing Chen2015-11-181-2/+5
| | | | | | | | | | Reviewers: ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14765 llvm-svn: 253488
* Fix some issues with swig & string conversion.Zachary Turner2015-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | This patch fixes two issues: 1) Popen needs to be used with universal_newlines=True by default. This elicits automatic decoding from bytes -> string in Py3, and has no negative effects in other Py versions. 2) The swig typemaps for converting between string and (char*, int) did not work correctly when the length of the string was 0, indicating an error. In this case we would try to construct a string from uninitialized data. 3) Ironically, the bug mentioned in #2 led to a test passing on Windows that was actually broken, because the test was written such that the assertion was never even getting checked, so it passed by default. So we additionally fix this test to also fail if the method errors. By fixing this test it's now broken on Windows, so we also xfail it. llvm-svn: 253487
* Python 3 - Skip a certain test for a particular (swig,python) combo.Zachary Turner2015-11-161-1/+8
| | | | | | | | | | | Current versions of SWIG have a bug with Python 3 that causes Python to assert when iterating over a generator. This patch skips the test for the right combination of Python version and SWIG version. I'm attempting to upstream a patch to SWIG to fix this in a subsequent as-of-yet unreleased version, but I don't know how long that will take. llvm-svn: 253273
* Re-Apply "Add a "not_in()" function you can apply to the list type arguments ↵Ying Chen2015-11-161-3/+18
| | | | | | | | | | | | | | | | | to expectedFailureAll ..." with fix Summary: - Re-Commit r253106 - Initialize self.debug_info in Base::setUp() - Fix argument order when calling check_list_or_lambda for compiler Reviewers: jingham Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14673 llvm-svn: 253272
* Add the ability to xfail or skip based on swig / python version.Zachary Turner2015-11-161-11/+54
| | | | llvm-svn: 253263
* Revert "Add a "not_in()" function you can apply to the list type arguments ↵Pavel Labath2015-11-161-20/+3
| | | | | | | | to expectedFailureAll to reverse" This reverts commit r253106. llvm-svn: 253197
* Add a "not_in()" function you can apply to the list type arguments to ↵Jim Ingham2015-11-141-3/+20
| | | | | | | | expectedFailureAll to reverse the sense of the test. llvm-svn: 253106
* Python 3 - Don't use unbuffered I/O in text mode.Zachary Turner2015-11-071-2/+2
| | | | | | | | This is unsupported in Python 3. This could also have been fixed by using "wb" instead of "w", but it doesn't seem like writing the session log absolutely *needs* to be unbuffered. llvm-svn: 252381
* Don't use module internal implementation details in our decorators.Zachary Turner2015-11-061-8/+4
| | | | | | | | | | | | | | | | | We tried implementing something akin to a conditionalExpectedFailure decorator for unittest2. We did this by making use of some implementation details of the unittest2 module. In an effort to make this work with unittest, this patch removes the reliance on the implementation details. I have a hard time wrapping my head around how this all works with the deeply nested decorators, but the spirit of the patch here is to do do the following: If the condition function is true, use the original unittest2.expectedFailure decorator. Otherwise don't use any decorator, just call the test function. Differential Revision: http://reviews.llvm.org/D14406 Reviewed By: tberghammer, labath llvm-svn: 252326
* Python 3 - Turn on absolute imports, and fix existing imports.Zachary Turner2015-11-051-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Absolute imports were introduced in Python 2.5 as a feature (e.g. from __future__ import absolute_import), and made default in Python 3. When absolute imports are enabled, the import system changes in a couple of ways: 1) The `import foo` syntax will *only* search sys.path. If `foo` isn't in sys.path, it won't be found. Period. Without absolute imports, the import system will also search the same directory that the importing file resides in, so that you can easily import from the same folder. 2) From inside a package, you can use a dot syntax to refer to higher levels of the current package. For example, if you are in the package lldbsuite.test.utility, then ..foo refers to lldbsuite.test.foo. You can use this notation with the `from X import Y` syntax to write intra-package references. For example, using the previous locationa s a starting point, writing `from ..support import seven` would import lldbsuite.support.seven Since this is now the default behavior in Python 3, this means that importing from the same directory with `import foo` *no longer works*. As a result, the only way to have portable code is to force absolute imports for all versions of Python. See PEP 0328 [https://www.python.org/dev/peps/pep-0328/] for more information about absolute and relative imports. Differential Revision: http://reviews.llvm.org/D14342 Reviewed By: Todd Fiala llvm-svn: 252191
* Teach LLDB how to directly launch processes on the iOS simulatorEnrico Granata2015-11-051-0/+4
| | | | | | | | This allows for command-line debugging of iOS simulator binaries (as long as UI is not required, or a full UI simulator has previously been otherwise launched), as well as execution of the LLDB test suite on the iOS simulator This is known to compile on OSX 10.11 GM - feedback from people on other platforms and/or older versions of OSX as to the buildability of this code is greatly appreciated llvm-svn: 252112
* Remove `use_lldb_suite` from the package, and don't import it anymore.Zachary Turner2015-11-031-1/+1
| | | | | | | | | | | | | | | | This module was originally intended to be imported by top-level scripts to be able to find the LLDB packages and third party libraries. Packages themselves shouldn't need to import it, because by the time it gets into the package, the top-level script should have already done this. Indeed, it was just adding the same values to sys.path multiple times, so this patch is essentially no functional change. To make sure it doesn't get re-introduced, we also delete the `use_lldb_suite` module from `lldbsuite/test`, although the original copy still remains in `lldb/test` llvm-svn: 251963
* Tighten up sys.path, and use absolute imports everywhere.Zachary Turner2015-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | For convenience, we had added the folder that dotest.py was in to sys.path, so that we could easily write things like `import lldbutil` from anywhere and any test. This introduces a subtle problem when using Python's package system, because when unittest2 imports a particular test suite, the test suite is detached from the package. Thus, writing "import lldbutil" from dotest imports it as part of the package, and writing the same line from a test does a fresh import since the importing module was not part of the same package. The real way to fix this is to use absolute imports everywhere. Instead of writing "import lldbutil", we need to write "import lldbsuite.test.util". This patch fixes up that and all other similar cases, and additionally removes the script directory from sys.path to ensure that this can't happen again. llvm-svn: 251886
* Move lldb/test to lldb/packages/Python/lldbsuite/test.Zachary Turner2015-10-281-0/+2838
This is the conclusion of an effort to get LLDB's Python code structured into a bona-fide Python package. This has a number of benefits, but most notably the ability to more easily share Python code between different but related pieces of LLDB's Python infrastructure (for example, `scripts` can now share code with `test`). llvm-svn: 251532
OpenPOWER on IntegriCloud