Re: [Lldb-commits] [lldb] r251678 - Some test cases that need the lldbExec path were failing because lldbExec was turning out to be None even though it was being validly set by dotest.py

2015-11-02 Thread Zachary Turner via lldb-commits
gt;>> sys.exit(-1) >>>> >>>> to packages/Python/lldbsuite/test/dotest/dotest.py >>>> >>>> On Mon, Nov 2, 2015 at 11:22 AM Pavel Labath wrote: >>>> >>>>> BTW, is lldb/test/dotest.py here to stay? I thought it was

Re: [Lldb-commits] [lldb] r251678 - Some test cases that need the lldbExec path were failing because lldbExec was turning out to be None even though it was being validly set by dotest.py

2015-11-02 Thread Zachary Turner via lldb-commits
>>>>> >>>>> if __name__ == "__main__": >>>>> print(__file__ + " is for use as a module only. It should not be >>>>> run as a standalone script.") >>>>> sys.exit(-1) >>>>> >>>&g

Re: [Lldb-commits] [lldb] r251830 - [dosep] Fix-up callers of process_dir, after it got its argument removed

2015-11-02 Thread Zachary Turner via lldb-commits
Thanks. I literally just built on Linux in order to try and reproduce some of these issues others were seeing and I was just about to fix this before you beat me to it. On Mon, Nov 2, 2015 at 12:56 PM Pavel Labath via lldb-commits < lldb-commits@lists.llvm.org> wrote: > Author: labath > Date: Mo

[Lldb-commits] [lldb] r251840 - Revert part of r239007 related to creating the Python symlink.

2015-11-02 Thread Zachary Turner via lldb-commits
Author: zturner Date: Mon Nov 2 16:13:13 2015 New Revision: 251840 URL: http://llvm.org/viewvc/llvm-project?rev=251840&view=rev Log: Revert part of r239007 related to creating the Python symlink. This has apparently been broken since June, but only on non-Windows. Perhaps nobody noticed it becau

Re: [Lldb-commits] [lldb] r239007 - [lldb] Enable building with Cmake/BUILD_SHARED_LIBS

2015-11-02 Thread Zachary Turner via lldb-commits
Resending to the correct mailing list. On Mon, Nov 2, 2015 at 2:17 PM Zachary Turner wrote: > Hi Andrew, > > This CL has been in for quite a while, but apparently it was broken all > this time. I reverted the changes to finishSwigPythonLLDB.py as they were > creating a dangling symlink. Please

Re: [Lldb-commits] [lldb] r251678 - Some test cases that need the lldbExec path were failing because lldbExec was turning out to be None even though it was being validly set by dotest.py

2015-11-02 Thread Zachary Turner via lldb-commits
__main__": >>>>>> print(__file__ + " is for use as a module only. It should not be >>>>>> run as a standalone script.") >>>>>> sys.exit(-1) >>>>>> >>>>>> to packages/Python/lldbsuite/test/do

[Lldb-commits] [lldb] r251847 - Create lldbsuite.support package with `seven` file.

2015-11-02 Thread Zachary Turner via lldb-commits
Author: zturner Date: Mon Nov 2 16:41:01 2015 New Revision: 251847 URL: http://llvm.org/viewvc/llvm-project?rev=251847&view=rev Log: Create lldbsuite.support package with `seven` file. This file will be useful for filling in the gaps where `six` is missing some things we need. Added: lldb/t

Re: [Lldb-commits] [lldb] r251862 - Revert "Remove the __import__ hack of lldbtest_config."

2015-11-02 Thread Zachary Turner via lldb-commits
I think what is happening is that when we go through unittest2, the package link is being broken. Inside dotest.py : __package__ = lldbsuite.test Inside unittest2.loadTestsFromName : __package__ = unittest2 Inside TestMultithreaded.py : __package__ = None Restoring the link by writing __package_

Re: [Lldb-commits] [lldb] r251862 - Revert "Remove the __import__ hack of lldbtest_config."

2015-11-02 Thread Zachary Turner via lldb-commits
+Enrico Granata On Mon, Nov 2, 2015 at 4:42 PM Zachary Turner wrote: > Ok, I think I figured out the root of all the problems. > > First, in setupSysPath we have this: > > sys.path.insert(0, scriptPath) > > This basically adds `lldb/packages/Python/lldbsuite/test` to sys.path. > > Then, in

Re: [Lldb-commits] [lldb] r251862 - Revert "Remove the __import__ hack of lldbtest_config."

2015-11-02 Thread Zachary Turner via lldb-commits
Ok, I think I figured out the root of all the problems. First, in setupSysPath we have this: sys.path.insert(0, scriptPath) This basically adds `lldb/packages/Python/lldbsuite/test` to sys.path. Then, in the individual tests we write this: from lldbtest import * It finds lldbtest at the a

Re: [Lldb-commits] [lldb] r251862 - Revert "Remove the __import__ hack of lldbtest_config."

2015-11-02 Thread Zachary Turner via lldb-commits
Yes, but it's a VERY large mechanical code change. For example, everywhere we were doign something like this: import lldbutil from one of the tests, we have to rewrite this as: import lldbsuite.test.lldbutil as lldbutil And we have to catch all the different ways of importing, like: from lldb

Re: [Lldb-commits] [lldb] r251862 - Revert "Remove the __import__ hack of lldbtest_config."

2015-11-02 Thread Zachary Turner via lldb-commits
As an alternative, since this is breaking your buildbot, I can check in the lion's share of the work (which should fix about 95% of the fixups), and you can do any remaining ones that pop up on the linux buildbot after I'm gone. Do you prefer that? On Mon, Nov 2, 2015 at 5:40 PM Zachary Turner

Re: [Lldb-commits] [lldb] r251886 - Tighten up sys.path, and use absolute imports everywhere.

2015-11-02 Thread Zachary Turner via lldb-commits
On Mon, Nov 2, 2015 at 10:02 PM Todd Fiala wrote: > Do you have a script you used to tweak these? > > (We have a ton of stuff broken internally on this that I need to fix up). > > We're starting to need to do quite a bit of extra typing for the package > structure :-/ > No, I just used a recursi

Re: [Lldb-commits] [lldb] r251886 - Tighten up sys.path, and use absolute imports everywhere.

2015-11-02 Thread Zachary Turner via lldb-commits
Also as far as I can tell, X has to be in the following set: [lldbutil, lldbtest, lldbinline, lldbbench]. In theory there are other possibilities (any .py file that is in packages/Python/lldbsuite/test is fair game) but I don't think I encountered any aside from those 4. On Mon, Nov 2, 2015 at 10

Re: [Lldb-commits] [lldb] r251886 - Tighten up sys.path, and use absolute imports everywhere.

2015-11-02 Thread Zachary Turner via lldb-commits
Also, one last thing. The reason this is probably wreaking havoc on your stuff internally is because I removed scriptDir from sys.path (diff the changes of dotest.py to see). I think it should stay removed upstream (mucking with sys.path so you can import from a parent directory is a bad thing to

Re: [Lldb-commits] [lldb] r251886 - Tighten up sys.path, and use absolute imports everywhere.

2015-11-02 Thread Zachary Turner via lldb-commits
On Mon, Nov 2, 2015 at 10:27 PM Todd Fiala wrote: > On Mon, Nov 2, 2015 at 10:12 PM, Zachary Turner > wrote: > >> >> Luckily the extra typing only comes at the import site. If you use the >> syntax I suggested in #2 and #3 above (import lldbsuite.test.X as X) then >> the syntax at any sites whe

[Lldb-commits] [lldb] r251959 - Python 3 - Don't use `commands` module anymore.

2015-11-03 Thread Zachary Turner via lldb-commits
Author: zturner Date: Tue Nov 3 12:55:22 2015 New Revision: 251959 URL: http://llvm.org/viewvc/llvm-project?rev=251959&view=rev Log: Python 3 - Don't use `commands` module anymore. The `commands` module was deprecated in 2.7 and removed in 3.x. As a workaround, we introduce a new module `seven`

[Lldb-commits] [lldb] r251968 - Python 3 - modernize exception catching syntax.

2015-11-03 Thread Zachary Turner via lldb-commits
Author: zturner Date: Tue Nov 3 13:49:05 2015 New Revision: 251968 URL: http://llvm.org/viewvc/llvm-project?rev=251968&view=rev Log: Python 3 - modernize exception catching syntax. Old-style syntax: `except Exception, e:` New-style syntax: `except Exception as e:` These two statements are ide

[Lldb-commits] [lldb] r251977 - Python 3: Modernize exception raising syntax.

2015-11-03 Thread Zachary Turner via lldb-commits
Author: zturner Date: Tue Nov 3 15:01:45 2015 New Revision: 251977 URL: http://llvm.org/viewvc/llvm-project?rev=251977&view=rev Log: Python 3: Modernize exception raising syntax. Old-style: `raise foo, bar` New-style: `raise foo(bar)` These two statements are equivalent, but the former is an er

[Lldb-commits] [lldb] r251978 - Python 3 - Fix some issues in unittest2.

2015-11-03 Thread Zachary Turner via lldb-commits
Author: zturner Date: Tue Nov 3 15:02:00 2015 New Revision: 251978 URL: http://llvm.org/viewvc/llvm-project?rev=251978&view=rev Log: Python 3 - Fix some issues in unittest2. unittest2 was using print statements in a few places, and also using the `cmp` function (which is removed in Python 3). A

[Lldb-commits] [lldb] r251982 - Introduce seven.cmp_ and use it instead of cmp

2015-11-03 Thread Zachary Turner via lldb-commits
Author: zturner Date: Tue Nov 3 15:37:27 2015 New Revision: 251982 URL: http://llvm.org/viewvc/llvm-project?rev=251982&view=rev Log: Introduce seven.cmp_ and use it instead of cmp Modified: lldb/trunk/packages/Python/lldbsuite/support/seven.py lldb/trunk/packages/Python/lldbsuite/test/do

[Lldb-commits] [lldb] r251983 - Python 3 - Fix checking of string types in unittest2 module.

2015-11-03 Thread Zachary Turner via lldb-commits
Author: zturner Date: Tue Nov 3 15:37:42 2015 New Revision: 251983 URL: http://llvm.org/viewvc/llvm-project?rev=251983&view=rev Log: Python 3 - Fix checking of string types in unittest2 module. This patch actually introduces a dependency from unittest2 to six. This should be ok since both packa

[Lldb-commits] [lldb] r252026 - Python 3 - Don't add the _d suffix to the symlink on Windows.

2015-11-03 Thread Zachary Turner via lldb-commits
Author: zturner Date: Tue Nov 3 19:03:57 2015 New Revision: 252026 URL: http://llvm.org/viewvc/llvm-project?rev=252026&view=rev Log: Python 3 - Don't add the _d suffix to the symlink on Windows. In Python 2, a debug extension module required an _d suffix, so for example the extension module `_ll

[Lldb-commits] [lldb] r252025 - Python 3 - Use universal_newlines when calling subprocess.check_output

2015-11-03 Thread Zachary Turner via lldb-commits
Author: zturner Date: Tue Nov 3 19:03:47 2015 New Revision: 252025 URL: http://llvm.org/viewvc/llvm-project?rev=252025&view=rev Log: Python 3 - Use universal_newlines when calling subprocess.check_output By default in Python 3, check_output() returns a program's output as an encoded byte sequenc

[Lldb-commits] [lldb] r252030 - Revert "Python 3 - Don't add the _d suffix to the symlink on Windows."

2015-11-03 Thread Zachary Turner via lldb-commits
Author: zturner Date: Tue Nov 3 19:26:48 2015 New Revision: 252030 URL: http://llvm.org/viewvc/llvm-project?rev=252030&view=rev Log: Revert "Python 3 - Don't add the _d suffix to the symlink on Windows." This reverts commit e59c95ca936f5a0a8abb987b8605fd8bf82b03b6. This was a mistake on my part

Re: [Lldb-commits] [lldb] r252031 - Add a few useful methods to ThreadSafeDense{Map, Set}. Not used yet.

2015-11-03 Thread Zachary Turner via lldb-commits
Seems like this class would be a good candidate for using an RWMutex. Any reason you can think of why that wouldn't work? On Tue, Nov 3, 2015 at 5:41 PM Jim Ingham via lldb-commits < lldb-commits@lists.llvm.org> wrote: > Author: jingham > Date: Tue Nov 3 19:39:05 2015 > New Revision: 252031 > >

[Lldb-commits] [PATCH] D14342: Enable absolute imports in lldbsuite

2015-11-04 Thread Zachary Turner via lldb-commits
zturner created this revision. zturner added a reviewer: tfiala. zturner added a subscriber: lldb-commits. Enable absolute imports in lldbsuite. Absolute imports were introduced in Python 2.5 as a feature (e.g. from __future__ import absolute_import), and made default in Python 3.

[Lldb-commits] [lldb] r252092 - Handle keyword args on our patched Popen methods.

2015-11-04 Thread Zachary Turner via lldb-commits
Author: zturner Date: Wed Nov 4 17:03:21 2015 New Revision: 252092 URL: http://llvm.org/viewvc/llvm-project?rev=252092&view=rev Log: Handle keyword args on our patched Popen methods. Python 3 introduces the `timeout` keyword argument on Popen.wait(). If our patched version doesn't support keywor

[Lldb-commits] [lldb] r252091 - Don't access class members inside of `__del__`.

2015-11-04 Thread Zachary Turner via lldb-commits
Author: zturner Date: Wed Nov 4 17:03:10 2015 New Revision: 252091 URL: http://llvm.org/viewvc/llvm-project?rev=252091&view=rev Log: Don't access class members inside of `__del__`. Apparently this doesn't work as the attribute doesn't exist anymore. Modified: lldb/trunk/scripts/utilsDebug.p

[Lldb-commits] [lldb] r252126 - Python 3 - Use universal_newlines=True in subprocess.Popen.

2015-11-04 Thread Zachary Turner via lldb-commits
Author: zturner Date: Wed Nov 4 19:33:44 2015 New Revision: 252126 URL: http://llvm.org/viewvc/llvm-project?rev=252126&view=rev Log: Python 3 - Use universal_newlines=True in subprocess.Popen. This follows the spirit of a previous patch which did essentially the same thing. In Python 3, when yo

[Lldb-commits] [lldb] r252127 - Python 3 - Don't use `os.path.walk`, it's removed in Py3.

2015-11-04 Thread Zachary Turner via lldb-commits
Author: zturner Date: Wed Nov 4 19:33:54 2015 New Revision: 252127 URL: http://llvm.org/viewvc/llvm-project?rev=252127&view=rev Log: Python 3 - Don't use `os.path.walk`, it's removed in Py3. It was deprecated even in 2.7, but not removed until 3.x. os.walk provides all of the same functionality

Re: [Lldb-commits] [PATCH] D14342: Enable absolute imports in lldbsuite

2015-11-05 Thread Zachary Turner via lldb-commits
zturner added a comment. In http://reviews.llvm.org/D14342#282346, @tfiala wrote: > Does this mean that if we import third party modules, and since you have > embedded them into our package, that we would have to change third party code > to adhere to our packaging structure? If not, fine. If

Re: [Lldb-commits] [PATCH] D14375: [swig] Start of pylint on python build scripts.

2015-11-05 Thread Zachary Turner via lldb-commits
Would it be possible for you to break this up into patches that only run 1 fixer at a time? When I look at the diff, basically every line has a change, so it's hard for me to verify that no actual substance changed, and that this is all just style issues. On Wed, Nov 4, 2015 at 11:42 PM Bruce Mit

Re: [Lldb-commits] [PATCH] D14375: [swig] Start of pylint on python build scripts.

2015-11-05 Thread Zachary Turner via lldb-commits
zturner added a comment. Seems ok I suppose, I can't find any functional changes from eyeballing it aside from the import changes. I'm still confused why `utilsDebug.py` even worked before Comment at: scripts/utilsDebug.py:14 @@ -16,2 +13,3 @@ # Python modules: +import sys

[Lldb-commits] [lldb] r252181 - Python 3 - Apply 2to3 `filter` fixer to unittest2.

2015-11-05 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 5 12:38:02 2015 New Revision: 252181 URL: http://llvm.org/viewvc/llvm-project?rev=252181&view=rev Log: Python 3 - Apply 2to3 `filter` fixer to unittest2. Modified: lldb/trunk/third_party/Python/module/unittest2/unittest2/loader.py Modified: lldb/trunk/third_par

Re: [Lldb-commits] [lldb] r252179 - Do not build any of the simulator material on non-Darwin

2015-11-05 Thread Zachary Turner via lldb-commits
Renaming it to .mm would fix it, but I don't know if that extension has special implications on OSX platforms. Another fix would be moving the platform-specific files into a subfolder and then adding them dfrom the subfolder. That way CMake won't see them in the current directory. On Thu, Nov 5,

[Lldb-commits] [lldb] r252189 - Python 3 - Fix usage of `unicode` in unittest2.

2015-11-05 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 5 13:21:56 2015 New Revision: 252189 URL: http://llvm.org/viewvc/llvm-project?rev=252189&view=rev Log: Python 3 - Fix usage of `unicode` in unittest2. Modified: lldb/trunk/third_party/Python/module/unittest2/unittest2/case.py Modified: lldb/trunk/third_party/Py

[Lldb-commits] [lldb] r252190 - Fix build on platforms that don't have dlfcn.h

2015-11-05 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 5 13:22:06 2015 New Revision: 252190 URL: http://llvm.org/viewvc/llvm-project?rev=252190&view=rev Log: Fix build on platforms that don't have dlfcn.h Modified: lldb/trunk/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp Modified: lldb/trunk/source/Plug

[Lldb-commits] [lldb] r252191 - Python 3 - Turn on absolute imports, and fix existing imports.

2015-11-05 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 5 13:22:28 2015 New Revision: 252191 URL: http://llvm.org/viewvc/llvm-project?rev=252191&view=rev Log: Python 3 - Turn on absolute imports, and fix existing imports. Absolute imports were introduced in Python 2.5 as a feature (e.g. from __future__ import absolute_im

Re: [Lldb-commits] [PATCH] D14389: Completely avoid building Apple simulator on non-Darwin platforms.

2015-11-05 Thread Zachary Turner via lldb-commits
zturner added a comment. Isn't this going to have the same problem as before? If CMake finds a source file in the directory that is not added to one of the targets, it will give you an error. With this patch, on Linux or Windows `PlatformAppleSimulator.cpp` will be on disk, but not part of th

Re: [Lldb-commits] [PATCH] D14389: Completely avoid building Apple simulator on non-Darwin platforms.

2015-11-05 Thread Zachary Turner via lldb-commits
zturner accepted this revision. zturner added a comment. This revision is now accepted and ready to land. I find the code to be a fair bit harder to understand as a result, but I guess it's not the end of the world. Searching the source of LLVM's CMake infrastructure, this variable exists solel

Re: [Lldb-commits] [PATCH] D14389: Completely avoid building Apple simulator on non-Darwin platforms.

2015-11-05 Thread Zachary Turner via lldb-commits
zturner added a comment. Ahh makes sense, I didn't know about that. I think a cleaner way to do this is to just add everything to `PLUGIN_PLATFORM_MACOSX_SOURCES` in the very first `list(APPEND)`. Then just do this: if (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") set(LLVM_OPTIONAL_SOURCES

[Lldb-commits] [PATCH] D14395: Fix some portability issues in unittest2

2015-11-05 Thread Zachary Turner via lldb-commits
zturner created this revision. zturner added a reviewer: tfiala. zturner added a subscriber: lldb-commits. TBH I'm honestly not sure what the problem was before, or why this fixes it. But what I can tell from debugging is that under Py3, `sortMethodsUsing` is treated as a class attrib

Re: [Lldb-commits] [lldb] r252191 - Python 3 - Turn on absolute imports, and fix existing imports.

2015-11-05 Thread Zachary Turner via lldb-commits
dbSlave/buildDir/lldb/packages/Python/lldbsuite/test/dotest.py", >> line 390, in setupCrashInfoHook >> import lock >> ImportError: No module named lock >> >> >> On Thu, Nov 5, 2015 at 11:22 AM, Zachary Turner via lldb-commits < >> lldb-commits@l

[Lldb-commits] [PATCH] D14406: Don't depend on implementation details of unittest2 for our custom decorators

2015-11-05 Thread Zachary Turner via lldb-commits
zturner created this revision. zturner added reviewers: tfiala, tberghammer, labath. zturner added a subscriber: lldb-commits. The specific exception types that are thrown internally by unittest2 are considered implementation details and even documented as such in the source code of the library.

Re: [Lldb-commits] [PATCH] D14406: Don't depend on implementation details of unittest2 for our custom decorators

2015-11-06 Thread Zachary Turner via lldb-commits
zturner added a comment. In http://reviews.llvm.org/D14406#283034, @labath wrote: > (The upstream unittest does not seem to have the bugnumber feature. I am > assuming the intention here is to make this upstream compatible, in hope of > moving over there at some point.) I can leave the bugnum

Re: [Lldb-commits] [PATCH] D14415: [swig] Simplify check_lldb_swig_executable_file_exists.

2015-11-06 Thread Zachary Turner via lldb-commits
zturner added a comment. If it's never used in practice, can you just delete the codepath entirely? I'm a strong proponent of deleting code that nobody cares about. (Of course, if you found this because you do care about it and this codepath didn't work when you tried to use it, that's a diff

[Lldb-commits] [lldb] r252325 - Make Windows always use multiprocessing-pool.

2015-11-06 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 6 12:14:31 2015 New Revision: 252325 URL: http://llvm.org/viewvc/llvm-project?rev=252325&view=rev Log: Make Windows always use multiprocessing-pool. We still see "Too many file handles" errors on Windows even with lower numbers of cores. It's not clear what the rig

[Lldb-commits] [lldb] r252326 - Don't use module internal implementation details in our decorators.

2015-11-06 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 6 12:14:42 2015 New Revision: 252326 URL: http://llvm.org/viewvc/llvm-project?rev=252326&view=rev Log: Don't use module internal implementation details in our decorators. We tried implementing something akin to a conditionalExpectedFailure decorator for unittest2.

Re: [Lldb-commits] [PATCH] D14406: Don't depend on implementation details of unittest2 for our custom decorators

2015-11-06 Thread Zachary Turner via lldb-commits
zturner added inline comments. Comment at: packages/Python/lldbsuite/test/lldbtest.py:605 @@ -611,2 +604,3 @@ if expected_fn(self): -raise case._UnexpectedSuccess(sys.exc_info(), bugnumber) +xfail_func = unittest2.expectedFailure(func)

Re: [Lldb-commits] [PATCH] D14415: [swig] Simplify check_lldb_swig_executable_file_exists.

2015-11-06 Thread Zachary Turner via lldb-commits
zturner added a comment. Eh, just delete it IMO. I don't like leaving code around "just in case". These scripts already need to be practically re-written (due to not using the standard argparse module), the less work we have to do the better. CMake is the only user of this script as far as I

Re: [Lldb-commits] [PATCH] D14163: Address another race condition running tests on Windows

2015-11-06 Thread Zachary Turner via lldb-commits
zturner added a comment. Feel free to get this in. Maybe put it in file `lldbsuite/support/filesystem.py` http://reviews.llvm.org/D14163 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-

[Lldb-commits] [PATCH] D14453: Python 3 - Fix some portability issues with class / instance attributes

2015-11-06 Thread Zachary Turner via lldb-commits
zturner created this revision. zturner added reviewers: tfiala, labath, tberghammer. zturner added a subscriber: lldb-commits. TBH I'm honestly not sure what the problem was before, or why this fixes it. But what I can tell from debugging is that under Py3, `sortMethodsUsing` is treat

Re: [Lldb-commits] [PATCH] D14395: Fix some portability issues in unittest2

2015-11-06 Thread Zachary Turner via lldb-commits
zturner added a comment. I'm probably being dense. But do we know if what runs anywhere else? http://reviews.llvm.org/D14395 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Re: [Lldb-commits] [PATCH] D14453: Python 3 - Fix some portability issues with class / instance attributes

2015-11-06 Thread Zachary Turner via lldb-commits
zturner added a comment. Derp, seems I uploaded this review twice. Now we have split threads. Anyway, there were a couple issues. The issue that was blocking me was related to the instance attributes. Specifically we were writing this: testMethodPrefix = 'test' suiteClass = suite.TestSu

Re: [Lldb-commits] [PATCH] D14453: Python 3 - Fix some portability issues with class / instance attributes

2015-11-06 Thread Zachary Turner via lldb-commits
zturner added a comment. The other issues with `reversed_cmp_` were still valid issues that I just fixed at the same time since they were related, but the main one was the instance / class attribute incompatibility. http://reviews.llvm.org/D14453

[Lldb-commits] [lldb] r252346 - Python 3 - Fix some issues with class / instance variables in unittest2.

2015-11-06 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 6 15:37:07 2015 New Revision: 252346 URL: http://llvm.org/viewvc/llvm-project?rev=252346&view=rev Log: Python 3 - Fix some issues with class / instance variables in unittest2. Explanation from a Python wizard (not me) about why this exhibited different behavior unde

[Lldb-commits] [lldb] r252347 - Python 3 - Use the exec function, not the exec statement.

2015-11-06 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 6 15:37:21 2015 New Revision: 252347 URL: http://llvm.org/viewvc/llvm-project?rev=252347&view=rev Log: Python 3 - Use the exec function, not the exec statement. exec statement is gone in Python 3, this version works in both. Modified: lldb/trunk/packages/Pytho

[Lldb-commits] [lldb] r252348 - Python 3 - Port use of string.maketrans and don't use sets.Set.

2015-11-06 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 6 15:37:33 2015 New Revision: 252348 URL: http://llvm.org/viewvc/llvm-project?rev=252348&view=rev Log: Python 3 - Port use of string.maketrans and don't use sets.Set. `sets.Set` has been deprecated in favor of `set` since 2.6, and `string.maketrans` has to be specia

Re: [Lldb-commits] [PATCH] D14395: Fix some portability issues in unittest2

2015-11-06 Thread Zachary Turner via lldb-commits
Ahh, no sorry. There's nothing platform specific in the patch though, so I don't anticipate any problems on that front. I did run it under 2.7 and it worked, so I expect it will run under 2.7 on other platforms. On Fri, Nov 6, 2015 at 1:42 PM Todd Fiala wrote: > tfiala added a comment. > > I m

Re: [Lldb-commits] [lldb] r252353 - Fix Linux tests after r252348.

2015-11-06 Thread Zachary Turner via lldb-commits
Thanks, sorry about that. On Fri, Nov 6, 2015 at 2:32 PM Chaoren Lin via lldb-commits < lldb-commits@lists.llvm.org> wrote: > Author: chaoren > Date: Fri Nov 6 16:30:30 2015 > New Revision: 252353 > > URL: http://llvm.org/viewvc/llvm-project?rev=252353&view=rev > Log: > Fix Linux tests after r25

[Lldb-commits] [lldb] r252382 - Python 3 - Use __bool__() instead of __nonzero__() for truthiness.

2015-11-06 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 6 19:08:25 2015 New Revision: 252382 URL: http://llvm.org/viewvc/llvm-project?rev=252382&view=rev Log: Python 3 - Use __bool__() instead of __nonzero__() for truthiness. Python has a complicated mechanism of checking an objects truthity. This involves a number of st

[Lldb-commits] [lldb] r252381 - Python 3 - Don't use unbuffered I/O in text mode.

2015-11-06 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 6 19:08:15 2015 New Revision: 252381 URL: http://llvm.org/viewvc/llvm-project?rev=252381&view=rev Log: Python 3 - Don't use unbuffered I/O in text mode. This is unsupported in Python 3. This could also have been fixed by using "wb" instead of "w", but it doesn't se

[Lldb-commits] [lldb] r252384 - Remove a debug print statement.

2015-11-06 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 6 19:12:53 2015 New Revision: 252384 URL: http://llvm.org/viewvc/llvm-project?rev=252384&view=rev Log: Remove a debug print statement. Modified: lldb/trunk/scripts/Python/modify-python-lldb.py Modified: lldb/trunk/scripts/Python/modify-python-lldb.py URL: http

Re: [Lldb-commits] [lldb] r252381 - Python 3 - Don't use unbuffered I/O in text mode.

2015-11-09 Thread Zachary Turner via lldb-commits
When a dotest.py process crashes, the buffered content won't > necessarily get flushed. So the session file may or may not contain the > last thing that happened in that case. > > I think we want it unbuffered where we can. > > -Todd > > On Fri, Nov 6, 2015 at 5:08 PM, Zac

[Lldb-commits] [lldb] r252536 - Use PythonDataObjects in swig helper functions.

2015-11-09 Thread Zachary Turner via lldb-commits
Author: zturner Date: Mon Nov 9 17:23:52 2015 New Revision: 252536 URL: http://llvm.org/viewvc/llvm-project?rev=252536&view=rev Log: Use PythonDataObjects in swig helper functions. Relying on manual Python C API calls is error prone, especially when trying to maintain compatibility with Python 2

[Lldb-commits] [PATCH] D14524: Create a `PythonModule` class and add a root-level method for name lookup

2015-11-09 Thread Zachary Turner via lldb-commits
zturner created this revision. zturner added reviewers: granata.enrico, clayborg, tfiala. zturner added a subscriber: lldb-commits. The goal here is to eventually replace some code in `python-wrapper.swig` with this code. This way it can be properly unit tested and we can easily deal with Pytho

Re: [Lldb-commits] [PATCH] D14524: Create a `PythonModule` class and add a root-level method for name lookup

2015-11-09 Thread Zachary Turner via lldb-commits
zturner updated this revision to Diff 39776. zturner added a comment. Fix some indentation http://reviews.llvm.org/D14524 Files: source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h unittests/ScriptInterpreter/Python/Pyt

Re: [Lldb-commits] [PATCH] D14524: Create a `PythonModule` class and add a root-level method for name lookup

2015-11-09 Thread Zachary Turner via lldb-commits
On Mon, Nov 9, 2015 at 5:22 PM Zachary Turner wrote: > zturner created this revision. > zturner added reviewers: granata.enrico, clayborg, tfiala. > zturner added a subscriber: lldb-commits. > > The goal here is to eventually replace some code in `python-wrapper.swig` > with this code. This way

Re: [Lldb-commits] [PATCH] D14524: Create a `PythonModule` class and add a root-level method for name lookup

2015-11-09 Thread Zachary Turner via lldb-commits
zturner added inline comments. Comment at: source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h:369-374 @@ +368,8 @@ + +template +T +ResolveNameAs(llvm::StringRef name) const +{ +return ResolveName(name).AsType(); +} +}; I need

Re: [Lldb-commits] [lldb] r252583 - The other half of a change made by Enrico for trying to get a correct

2015-11-09 Thread Zachary Turner via lldb-commits
This is really the kind of thing that would be good to write a unit test for. There's a lot of institutional knowledge hidden away in these kinds of deep low level stuff, and a unit test is good documentation for it. I suspect this is almost guaranteed to break at some point in the future without

[Lldb-commits] [PATCH] D14555: Create PythonCallable and PythonTuple wrappers with appropriate unit tests

2015-11-10 Thread Zachary Turner via lldb-commits
zturner created this revision. zturner added reviewers: granata.enrico, clayborg. zturner added a subscriber: lldb-commits. zturner added a dependency: D14524: Create a `PythonModule` class and add a root-level method for name lookup. This adds PythonTuple and PythonCallable classes to PythonData

[Lldb-commits] [lldb] r252765 - Add a `PythonModule` class, and a root-level method for resolving names.

2015-11-11 Thread Zachary Turner via lldb-commits
Author: zturner Date: Wed Nov 11 11:59:49 2015 New Revision: 252765 URL: http://llvm.org/viewvc/llvm-project?rev=252765&view=rev Log: Add a `PythonModule` class, and a root-level method for resolving names. Modified: lldb/trunk/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp

[Lldb-commits] [lldb] r252764 - Symlink the `six` module during swig generation.

2015-11-11 Thread Zachary Turner via lldb-commits
Author: zturner Date: Wed Nov 11 11:59:34 2015 New Revision: 252764 URL: http://llvm.org/viewvc/llvm-project?rev=252764&view=rev Log: Symlink the `six` module during swig generation. Modified: lldb/trunk/scripts/CMakeLists.txt lldb/trunk/scripts/Python/finishSwigPythonLLDB.py Modified: l

[Lldb-commits] [lldb] r252767 - Python 3 - Use six in our embedded Python glue code.

2015-11-11 Thread Zachary Turner via lldb-commits
Author: zturner Date: Wed Nov 11 11:59:57 2015 New Revision: 252767 URL: http://llvm.org/viewvc/llvm-project?rev=252767&view=rev Log: Python 3 - Use six in our embedded Python glue code. Modified: lldb/trunk/scripts/interface/SBData.i lldb/trunk/scripts/lldb.swig Modified: lldb/trunk/scr

[Lldb-commits] [lldb] r252787 - Create `PythonTuple` and `PythonCallable` wrapper classes.

2015-11-11 Thread Zachary Turner via lldb-commits
Author: zturner Date: Wed Nov 11 13:42:27 2015 New Revision: 252787 URL: http://llvm.org/viewvc/llvm-project?rev=252787&view=rev Log: Create `PythonTuple` and `PythonCallable` wrapper classes. This adds PythonTuple and PythonCallable classes to PythonDataObjects. Additionally, unit tests are prov

[Lldb-commits] [lldb] r252788 - Convert python-wrapper.swig to use PythonDataObjects.

2015-11-11 Thread Zachary Turner via lldb-commits
Author: zturner Date: Wed Nov 11 13:42:35 2015 New Revision: 252788 URL: http://llvm.org/viewvc/llvm-project?rev=252788&view=rev Log: Convert python-wrapper.swig to use PythonDataObjects. This only begins to port python-wrapper.swig over. Since this code can be pretty hairy, I plan to do this in

[Lldb-commits] [lldb] r252803 - Remove `FindSessionDictionary` and rely on PythonDataObjects.

2015-11-11 Thread Zachary Turner via lldb-commits
Author: zturner Date: Wed Nov 11 15:07:29 2015 New Revision: 252803 URL: http://llvm.org/viewvc/llvm-project?rev=252803&view=rev Log: Remove `FindSessionDictionary` and rely on PythonDataObjects. This had been relegated to a simple forwarding function, so just delete it in preparation of migratin

[Lldb-commits] [lldb] r252906 - Begin converting uses of PyCallable to PythonCallable.

2015-11-12 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 12 10:23:16 2015 New Revision: 252906 URL: http://llvm.org/viewvc/llvm-project?rev=252906&view=rev Log: Begin converting uses of PyCallable to PythonCallable. PyCallable is a class that exists solely within the swig wrapper code. PythonCallable is a more generic imp

Re: [Lldb-commits] [PATCH] D14591: Implement register context for mini dump debugging

2015-11-12 Thread Zachary Turner via lldb-commits
zturner added inline comments. Comment at: packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py:40 @@ +39,3 @@ +thread = self.process.GetThreadAtIndex(0) +# The crash is in main, so there should be one frame on the stack. +sel

[Lldb-commits] [lldb] r252909 - Fix non-Windows build after r252906.

2015-11-12 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 12 11:01:48 2015 New Revision: 252909 URL: http://llvm.org/viewvc/llvm-project?rev=252909&view=rev Log: Fix non-Windows build after r252906. Modified: lldb/trunk/scripts/Python/python-wrapper.swig lldb/trunk/scripts/lldb.swig lldb/trunk/source/Plugins/Scr

[Lldb-commits] [lldb] r252939 - Finish PyCallable -> PythonCallable conversion.

2015-11-12 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 12 14:11:02 2015 New Revision: 252939 URL: http://llvm.org/viewvc/llvm-project?rev=252939&view=rev Log: Finish PyCallable -> PythonCallable conversion. This finishes the effort to port python-wrapper.swig code over to using PythonDataObjects. Also included in this p

Re: [Lldb-commits] [lldb] r252963 - Another little stepping optimization: if any of the source step commands are running through a range

2015-11-12 Thread Zachary Turner via lldb-commits
Hi Jim, This breaks about 12 tests on Windows. The patch looks simple, but this isn't really my area, is there anything I can give you to help diagnose what might be wrong? The following tests fail: FAIL: LLDB (suite) :: Test-rdar-9974002.py (Windows zturner-win81 8 6.2.9200 AMD64 Intel64 Famil

Re: [Lldb-commits] [lldb] r252963 - Another little stepping optimization: if any of the source step commands are running through a range

2015-11-12 Thread Zachary Turner via lldb-commits
The error messages are always different because the error message is printed by the test. I'm going to try to load up the executable for TestStepNoDebug in the debugger and get a disassembly and do the step On Thu, Nov 12, 2015 at 4:01 PM Jim Ingham wrote: > Is the line they stepped to - instea

Re: [Lldb-commits] [lldb] r252963 - Another little stepping optimization: if any of the source step commands are running through a range

2015-11-12 Thread Zachary Turner via lldb-commits
I'm going to try the "with patch" version again with logging enabled as you suggest. Will update soon On Thu, Nov 12, 2015 at 4:36 PM Jim Ingham wrote: > If you can debug a failing case, and do whatever step operation got you to > the wrong place, then run up to that step, and do: > > (lldb) lo

Re: [Lldb-commits] [lldb] r252963 - Another little stepping optimization: if any of the source step commands are running through a range

2015-11-12 Thread Zachary Turner via lldb-commits
Here's the log. Disassembly of those two functions was posted earlier. Let me know if you need anything else: ThreadPlanStepRange::SetNextBranchBreakpoint - Setting breakpoint -1 (site 2) to run to address 0x94902e Thread::PushPlan(0x0654FBB0): "Stepping in through line with-debug.c:12.", tid = 0

Re: [Lldb-commits] [lldb] r252963 - Another little stepping optimization: if any of the source step commands are running through a range

2015-11-12 Thread Zachary Turner via lldb-commits
I went ahead and created two logs. One for the working case and one for the non-working case. I'm attaching instead of inlining, let me know if this doesn't work: Might help to diff them. doesnt_work.log Description: Binary data works.log Description: Binary data

Re: [Lldb-commits] [lldb] r252963 - Another little stepping optimization: if any of the source step commands are running through a range

2015-11-12 Thread Zachary Turner via lldb-commits
Ahh, seems it wasn't just Windows that was affected by this. Makes me feel a little better :) Posting the link to the buildbot failures here so that Jim can get full logs if it helps. http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/8391 On Thu, Nov 12, 2015 at 4:37 PM Yin

[Lldb-commits] [lldb] r252992 - Delete `PyObjectToString` and use `PythonObject::Str()`.

2015-11-12 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 12 19:24:25 2015 New Revision: 252992 URL: http://llvm.org/viewvc/llvm-project?rev=252992&view=rev Log: Delete `PyObjectToString` and use `PythonObject::Str()`. The latter function, from PythonDataObjects, is Python 3 ready and the former was not. Modified: lldb

[Lldb-commits] [lldb] r252995 - Update .gitignore to exclude pyproj folder (used for Python IDE)

2015-11-12 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 12 19:24:58 2015 New Revision: 252995 URL: http://llvm.org/viewvc/llvm-project?rev=252995&view=rev Log: Update .gitignore to exclude pyproj folder (used for Python IDE) Modified: lldb/trunk/.gitignore Modified: lldb/trunk/.gitignore URL: http://llvm.org/viewvc/

[Lldb-commits] [lldb] r252994 - Introduce a `PythonExceptionState` class.

2015-11-12 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 12 19:24:52 2015 New Revision: 252994 URL: http://llvm.org/viewvc/llvm-project?rev=252994&view=rev Log: Introduce a `PythonExceptionState` class. This is a helper class which supports a number of features including exception to string formatting with backtrace handli

[Lldb-commits] [lldb] r252993 - gtest - Make a `PythonTestSuite` base class for setup / teardown.

2015-11-12 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 12 19:24:35 2015 New Revision: 252993 URL: http://llvm.org/viewvc/llvm-project?rev=252993&view=rev Log: gtest - Make a `PythonTestSuite` base class for setup / teardown. This allows other potential unit test suites (of which one is forthcoming in a subsequent patch)

[Lldb-commits] [lldb] r253002 - Fix a bug in PythonExceptionState and add unittest coverage.

2015-11-12 Thread Zachary Turner via lldb-commits
Author: zturner Date: Thu Nov 12 19:50:19 2015 New Revision: 253002 URL: http://llvm.org/viewvc/llvm-project?rev=253002&view=rev Log: Fix a bug in PythonExceptionState and add unittest coverage. I forgot to reset the restore flag when calling member function `Acquire`. The newly added unittest s

Re: [Lldb-commits] [lldb] r252963 - Another little stepping optimization: if any of the source step commands are running through a range

2015-11-12 Thread Zachary Turner via lldb-commits
Thanks! Do you think you could add a test that does specifically that? Set two breakpoints back to back, even in the same function, ane ensure that the second one gets hit. If your theory is right this test will fail on Windows and Linux (and then we'll have to xfail it) but at least we'll have a

Re: [Lldb-commits] [lldb] r252963 - Another little stepping optimization: if any of the source step commands are running through a range

2015-11-13 Thread Zachary Turner via lldb-commits
o failing on OSX, but it > might fail from a different reason then on Linux/Windows. > > On Fri, Nov 13, 2015 at 4:10 AM Zachary Turner via lldb-commits < > lldb-commits@lists.llvm.org> wrote: > >> Thanks! Do you think you could add a test that does specifically that? >&

[Lldb-commits] [lldb] r253054 - Make PythonDataObjects.h work when LLDB_DISABLE_PYTHON=1

2015-11-13 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 13 11:27:20 2015 New Revision: 253054 URL: http://llvm.org/viewvc/llvm-project?rev=253054&view=rev Log: Make PythonDataObjects.h work when LLDB_DISABLE_PYTHON=1 Modified: lldb/trunk/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h lldb/trunk/source

[Lldb-commits] [lldb] r253057 - Add `PythonExceptionStateTests.cpp` to lldb-gtest target.

2015-11-13 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 13 12:10:11 2015 New Revision: 253057 URL: http://llvm.org/viewvc/llvm-project?rev=253057&view=rev Log: Add `PythonExceptionStateTests.cpp` to lldb-gtest target. Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj Modified: lldb/trunk/lldb.xcodeproj/project.pbxp

[Lldb-commits] [lldb] r253073 - Another fix for LLDB_DISABLE_PYTHON=1

2015-11-13 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 13 14:28:31 2015 New Revision: 253073 URL: http://llvm.org/viewvc/llvm-project?rev=253073&view=rev Log: Another fix for LLDB_DISABLE_PYTHON=1 Modified: lldb/trunk/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.cpp Modified: lldb/trunk/source/Plugi

[Lldb-commits] [lldb] r253086 - Add a null check against the ThreadPlan

2015-11-13 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 13 15:28:53 2015 New Revision: 253086 URL: http://llvm.org/viewvc/llvm-project?rev=253086&view=rev Log: Add a null check against the ThreadPlan I'm seeing some cases where the ThreadPlan is null. It could be a sign of a valid race condition, but at least we shouldn'

[Lldb-commits] [lldb] r253085 - Modernize FormatBacktrace() and make portable for Python 3.

2015-11-13 Thread Zachary Turner via lldb-commits
Author: zturner Date: Fri Nov 13 15:28:45 2015 New Revision: 253085 URL: http://llvm.org/viewvc/llvm-project?rev=253085&view=rev Log: Modernize FormatBacktrace() and make portable for Python 3. Modified: lldb/trunk/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp lldb/trunk/s

<    6   7   8   9   10   11   12   13   14   15   >