Re: [Lldb-commits] [PATCH] Change executable name to a.out.

2015-07-02 Thread Vince Harron
Will discuss offline.
On Jul 1, 2015 8:24 PM, Chaoren Lin chaor...@google.com wrote:

  Does the LLDB API output a clear and actionable error code if the
 filename you are launching is too long?

 Nope, it'll try to launch the inferior, and it'll think the inferior ran
 and exited with an error code.

  If not please add a test for this

 I don't think this is testable, it's completely dependent on the shell,
 your choice of working directory, and whatever extra arguments there are.

 On Wed, Jul 1, 2015 at 8:12 PM, Vince Harron vi...@nethacker.com wrote:

  LoL


 LL

 Spectacular speech to text failure


 REPOSITORY
   rL LLVM

 http://reviews.llvm.org/D10888

 EMAIL PREFERENCES
   http://reviews.llvm.org/settings/panel/emailpreferences/




___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Default to linking lldb-server statically for Android.

2015-07-02 Thread Vince Harron
Chaoren, the fact that they are asking for rationale is a good clue that
the rationale should be captured in comments.
___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Use accept instead of accept4 for Android.

2015-07-02 Thread Vince Harron
There are bugs in the old libs/headers.  Same toolchain.
On Jul 2, 2015 8:08 AM, Chaoren Lin chaor...@google.com wrote:

 I am statically linking against API-21. There are some bugs in the old
 toolchains that can be avoided by doing this. Aside from this issue, the
 resulting binary seem to run fine on API 10 devices (and passes most of the
 test suite).
 On Jul 2, 2015 02:33, Tamas Berghammer tbergham...@google.com wrote:

 I agree with Pavel that the toolchain shouldn't generate any source code
 what is using a missing syscall. I checked the implementation of accept on
 Gingerbread (API-9) and it is using the right syscall (
 https://android.googlesource.com/platform/bionic/+/gingerbread-release/libc/arch-arm/syscalls/accept.S
 ).

 I am not sure what is causing this issue, but one of my guess is that you
 are statically linking against a wrong version of libc.


 http://reviews.llvm.org/D10887

 EMAIL PREFERENCES
   http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Change executable name to a.out.

2015-07-01 Thread Vince Harron
Does the LoL DB API output a clear and actionable error code if the
filename you are launching is too long? If not please add a test for this
On Jul 1, 2015 6:26 PM, Chaoren Lin chaor...@google.com wrote:

 Hi sivachandra,

 The long name causes problems with some shells.

 http://reviews.llvm.org/D10888

 Files:
   test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py

 Index:
 test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
 ===
 ---
 test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
 +++
 test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
 @@ -39,7 +39,7 @@
  # And the watchpoint variable declaration line number.
  self.decl = line_number(self.source, '// Watchpoint variable
 declaration.')
  # Build dictionary to have unique executable names for each test
 method.
 -self.exe_name = self.testMethodName
 +self.exe_name = 'a.out'
  self.d = {'C_SOURCES': self.source, 'EXE': self.exe_name}

  def hello_watchpoint(self):

 EMAIL PREFERENCES
   http://reviews.llvm.org/settings/panel/emailpreferences/

 ___
 lldb-commits mailing list
 lldb-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Change executable name to a.out.

2015-07-01 Thread Vince Harron
 LoL

LL

Spectacular speech to text failure
On Jul 1, 2015 8:11 PM, Vince Harron vi...@nethacker.com wrote:

 Does the LoL DB API output a clear and actionable error code if the
 filename you are launching is too long? If not please add a test for this
 On Jul 1, 2015 6:26 PM, Chaoren Lin chaor...@google.com wrote:

 Hi sivachandra,

 The long name causes problems with some shells.

 http://reviews.llvm.org/D10888

 Files:

 test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py

 Index:
 test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
 ===
 ---
 test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
 +++
 test/functionalities/watchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
 @@ -39,7 +39,7 @@
  # And the watchpoint variable declaration line number.
  self.decl = line_number(self.source, '// Watchpoint variable
 declaration.')
  # Build dictionary to have unique executable names for each test
 method.
 -self.exe_name = self.testMethodName
 +self.exe_name = 'a.out'
  self.d = {'C_SOURCES': self.source, 'EXE': self.exe_name}

  def hello_watchpoint(self):

 EMAIL PREFERENCES
   http://reviews.llvm.org/settings/panel/emailpreferences/

 ___
 lldb-commits mailing list
 lldb-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Change executable name to a.out.

2015-07-01 Thread Vince Harron
Does the LoL DB API output a clear and actionable error code if the
filename you are launching is too long? If not please add a test for this


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D10888

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Change executable name to a.out.

2015-07-01 Thread Vince Harron
 LoL


LL

Spectacular speech to text failure


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D10888

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r241071 - Fix windows build.

2015-06-30 Thread Vince Harron
+chaorenl

On Tue, Jun 30, 2015 at 8:03 AM, Ewan Crawford e...@codeplay.com wrote:

 Author: ewancrawford
 Date: Tue Jun 30 10:03:31 2015
 New Revision: 241071

 URL: http://llvm.org/viewvc/llvm-project?rev=241071view=rev
 Log:
 Fix windows build.

 Windows build was broken in either r240983 or r240978 in the changes to
 FileSpec.cpp

 Modified:
 lldb/trunk/source/Host/common/FileSpec.cpp

 Modified: lldb/trunk/source/Host/common/FileSpec.cpp
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/common/FileSpec.cpp?rev=241071r1=241070r2=241071view=diff

 ==
 --- lldb/trunk/source/Host/common/FileSpec.cpp (original)
 +++ lldb/trunk/source/Host/common/FileSpec.cpp Tue Jun 30 10:03:31 2015
 @@ -1088,7 +1088,6 @@ FileSpec::ForEachItemInDirectory (const

  do
  {
 -bool call_callback = false;
  FileSpec::FileType file_type = eFileTypeUnknown;
  if (ffd.dwFileAttributes  FILE_ATTRIBUTE_DIRECTORY)
  {
 @@ -1101,54 +1100,49 @@ FileSpec::ForEachItemInDirectory (const
  continue;

  file_type = eFileTypeDirectory;
 -call_callback = find_directories;
  }
  else if (ffd.dwFileAttributes  FILE_ATTRIBUTE_DEVICE)
  {
  file_type = eFileTypeOther;
 -call_callback = find_other;
  }
  else
  {
  file_type = eFileTypeRegular;
 -call_callback = find_files;
  }
 -if (call_callback)
 -{
 -char child_path[MAX_PATH];
 -const int child_path_len = ::snprintf (child_path,
 sizeof(child_path), %s\\%s, dir_path, ffd.cFileName);
 -if (child_path_len  (int)(sizeof(child_path) - 1))
 -{
 -// Don't resolve the file type or path
 -FileSpec child_path_spec (child_path, false);

 -EnumerateDirectoryResult result = callback
 (file_type, child_path_spec);
 +char child_path[MAX_PATH];
 +const int child_path_len = ::snprintf (child_path,
 sizeof(child_path), %s\\%s, dir_path, ffd.cFileName);
 +if (child_path_len  (int)(sizeof(child_path) - 1))
 +{
 +// Don't resolve the file type or path
 +FileSpec child_path_spec (child_path, false);

 -switch (result)
 -{
 -case eEnumerateDirectoryResultNext:
 -// Enumerate next entry in the current
 directory. We just
 -// exit this switch and will continue
 enumerating the
 -// current directory as we currently are...
 -break;
 -
 -case eEnumerateDirectoryResultEnter: // Recurse
 into the current entry if it is a directory or symlink, or next if not
 -if
 (FileSpec::ForEachItemInDirectory(child_path, callback) ==
 eEnumerateDirectoryResultQuit)
 -{
 -// The subdirectory returned Quit, which
 means to
 -// stop all directory enumerations at all
 levels.
 -return eEnumerateDirectoryResultQuit;
 -}
 -break;
 -
 -case eEnumerateDirectoryResultExit:  // Exit from
 the current directory at the current level.
 -// Exit from this directory level and tell
 parent to
 -// keep enumerating.
 -return eEnumerateDirectoryResultNext;
 +EnumerateDirectoryResult result = callback (file_type,
 child_path_spec);

 -case eEnumerateDirectoryResultQuit:  // Stop
 directory enumerations at any level
 +switch (result)
 +{
 +case eEnumerateDirectoryResultNext:
 +// Enumerate next entry in the current directory.
 We just
 +// exit this switch and will continue enumerating
 the
 +// current directory as we currently are...
 +break;
 +
 +case eEnumerateDirectoryResultEnter: // Recurse into
 the current entry if it is a directory or symlink, or next if not
 +if (FileSpec::ForEachItemInDirectory(child_path,
 callback) == eEnumerateDirectoryResultQuit)
 +{
 +// The subdirectory returned Quit, which
 means to
 +// stop all directory enumerations at all
 levels.
  return eEnumerateDirectoryResultQuit;
 -}
 + 

Re: [Lldb-commits] [lldb] r240927 - [linux] Use cmake to detect support process_vm_readv (bug #23918)

2015-06-29 Thread Vince Harron
Don't we already get behavior like this when we invoke a missing syscall?

On Mon, Jun 29, 2015 at 2:18 AM, Pavel Labath lab...@google.com wrote:

 Author: labath
 Date: Mon Jun 29 04:18:17 2015
 New Revision: 240927

 URL: http://llvm.org/viewvc/llvm-project?rev=240927view=rev
 Log:
 [linux] Use cmake to detect support process_vm_readv (bug #23918)

 Summary:
 Some old linux versions do not have process_vm_readv function defined.
 Even older versions do not
 have even the __NR_process_vm_readv syscall number. We use cmake to detect
 these situations and
 fallback appropriately: in the first case, we can issue the syscall
 manually, while it the latter
 case, we need to drop fast memory read support completely.

 Test Plan: linux test suite passes

 Reviewers: ovyalov, Eugene.Zelenko

 Subscribers: tberghammer, lldb-commits

 Differential Revision: http://reviews.llvm.org/D10727

 Added:
 lldb/trunk/source/Host/linux/LibcGlue.cpp
   - copied, changed from r240895,
 lldb/trunk/source/Host/android/LibcGlue.cpp
 Modified:
 lldb/trunk/cmake/modules/LLDBConfig.cmake
 lldb/trunk/include/lldb/Host/linux/Uio.h
 lldb/trunk/source/Host/CMakeLists.txt
 lldb/trunk/source/Host/android/LibcGlue.cpp

 Modified: lldb/trunk/cmake/modules/LLDBConfig.cmake
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/LLDBConfig.cmake?rev=240927r1=240926r2=240927view=diff

 ==
 --- lldb/trunk/cmake/modules/LLDBConfig.cmake (original)
 +++ lldb/trunk/cmake/modules/LLDBConfig.cmake Mon Jun 29 04:18:17 2015
 @@ -248,3 +248,27 @@ if(NOT LLDB_REQUIRES_RTTI)
  endif()

  set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${LLDB_COMPILE_FLAGS})
 +
 +if (CMAKE_SYSTEM_NAME MATCHES Linux)
 +# Check for syscall used by lldb-server on linux.
 +# If these are not found, it will fall back to ptrace (slow) for
 memory reads.
 +check_cxx_source_compiles(
 +#include sys/uio.h
 +int main() { process_vm_readv(0, nullptr, 0, nullptr, 0, 0);
 return 0; }
 +HAVE_PROCESS_VM_READV)
 +
 +if (HAVE_PROCESS_VM_READV)
 +add_definitions(-DHAVE_PROCESS_VM_READV)
 +else()
 +# If we don't have the syscall wrapper function, but we know the
 syscall number, we can
 +# still issue the syscall manually
 +check_cxx_source_compiles(
 +#include sys/syscall.h
 +int main() { return __NR_process_vm_readv; }
 +HAVE_NR_PROCESS_VM_READV)
 +
 +if (HAVE_NR_PROCESS_VM_READV)
 +add_definitions(-DHAVE_NR_PROCESS_VM_READV)
 +endif()
 +endif()
 +endif()

 Modified: lldb/trunk/include/lldb/Host/linux/Uio.h
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/linux/Uio.h?rev=240927r1=240926r2=240927view=diff

 ==
 --- lldb/trunk/include/lldb/Host/linux/Uio.h (original)
 +++ lldb/trunk/include/lldb/Host/linux/Uio.h Mon Jun 29 04:18:17 2015
 @@ -12,8 +12,8 @@

  #include sys/uio.h

 -// Android does not define the process_vm_readv wrapper
 -#ifdef __ANDROID_NDK__
 +// We shall provide our own implementation of process_vm_readv if it is
 not present
 +#ifndef HAVE_PROCESS_VM_READV
  ssize_t process_vm_readv(::pid_t pid,
  const struct iovec *local_iov, unsigned long
 liovcnt,
  const struct iovec *remote_iov, unsigned long
 riovcnt,

 Modified: lldb/trunk/source/Host/CMakeLists.txt
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/CMakeLists.txt?rev=240927r1=240926r2=240927view=diff

 ==
 --- lldb/trunk/source/Host/CMakeLists.txt (original)
 +++ lldb/trunk/source/Host/CMakeLists.txt Mon Jun 29 04:18:17 2015
 @@ -110,6 +110,7 @@ else()
  linux/Host.cpp
  linux/HostInfoLinux.cpp
  linux/HostThreadLinux.cpp
 +linux/LibcGlue.cpp
  linux/ThisThread.cpp
  )
  else()
 @@ -117,6 +118,7 @@ else()
  linux/Host.cpp
  linux/HostInfoLinux.cpp
  linux/HostThreadLinux.cpp
 +linux/LibcGlue.cpp
  linux/ThisThread.cpp
  )
  endif()

 Modified: lldb/trunk/source/Host/android/LibcGlue.cpp
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/android/LibcGlue.cpp?rev=240927r1=240926r2=240927view=diff

 ==
 --- lldb/trunk/source/Host/android/LibcGlue.cpp (original)
 +++ lldb/trunk/source/Host/android/LibcGlue.cpp Mon Jun 29 04:18:17 2015
 @@ -12,7 +12,6 @@
  #include android/api-level.h

  #include sys/syscall.h
 -#include lldb/Host/linux/Uio.h

  #if __ANDROID_API__  21

 @@ -39,11 +38,3 @@ int posix_openpt(int flags)
  }

  #endif
 -
 -ssize_t process_vm_readv(::pid_t pid,
 -const struct iovec *local_iov, unsigned long
 

Re: [Lldb-commits] [PATCH] Fix [vdso] handling on Android (x86 and aarch64)

2015-06-29 Thread Vince Harron
If you've fixed vdso handling,  shouldn't some i386 tests be marked as passing?


http://reviews.llvm.org/D10800

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Fix [vdso] handling on Android (x86 and aarch64)

2015-06-29 Thread Vince Harron
You can use the gdb remote get auxv command I think to get libvdso load
address.

On Mon, Jun 29, 2015 at 3:28 PM, Tamas Berghammer tbergham...@google.com
wrote:

 In http://reviews.llvm.org/D10800#196543, @vharron wrote:

  If you've fixed vdso handling,  shouldn't some i386 tests be marked as
 passing?


 It is fixing it only on Android. There is a different between how the
 linker works on Linux and on Android and we need to solve one more
 additional issue to fix it on Linux also but it isn't trivial.

 The problem is that the Linux linker don't fill in the file path in the
 rendezvous structure for the [vdso] because it isn't a file (it is treated
 as a feature in the code) but currently we use that path to find the load
 address of the file (based on /proc/pid/maps). To fix the issue on Linux
 also we need an other way to get the load address of an SO.


 http://reviews.llvm.org/D10800

 EMAIL PREFERENCES
   http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Fix [vdso] handling on Android (x86 and aarch64)

2015-06-29 Thread Vince Harron
You can use the gdb remote get auxv command I think to get libvdso load
address.


http://reviews.llvm.org/D10800

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Ignore teardown failure if it's caused by removing missing file or directory

2015-06-29 Thread Vince Harron
Maybe we should call teardown from expectedFlakey instead?


http://reviews.llvm.org/D10830

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Added expectedFlakey test decorator

2015-06-26 Thread Vince Harron
REPOSITORY
  rL LLVM

http://reviews.llvm.org/D10721

Files:
  lldb/trunk/test/expression_command/call-function/TestCallStopAndContinue.py
  lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py
  lldb/trunk/test/expression_command/timeout/TestCallWithTimeout.py
  lldb/trunk/test/functionalities/attach_resume/TestAttachResume.py
  lldb/trunk/test/functionalities/avoids-fd-leak/TestFdLeak.py
  lldb/trunk/test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py
  lldb/trunk/test/functionalities/stop-hook/TestStopHookMechanism.py
  
lldb/trunk/test/functionalities/stop-hook/multiple_threads/TestStopHookMultipleThreads.py
  
lldb/trunk/test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
  
lldb/trunk/test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py
  lldb/trunk/test/lang/c/register_variables/TestRegisterVariables.py
  lldb/trunk/test/lang/cpp/this/TestCPPThis.py
  lldb/trunk/test/lldbtest.py
  lldb/trunk/test/python_api/signals/TestSignalsAPI.py
  lldb/trunk/test/types/TestFloatTypes.py

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
Index: lldb/trunk/test/functionalities/avoids-fd-leak/TestFdLeak.py
===
--- lldb/trunk/test/functionalities/avoids-fd-leak/TestFdLeak.py
+++ lldb/trunk/test/functionalities/avoids-fd-leak/TestFdLeak.py
@@ -41,8 +41,8 @@
 self.assertTrue(process.GetExitStatus() == 0,
 Process returned non-zero status. Were incorrect file descriptors passed?)
 
-@expectedFailure(lambda x: sys.version_info = (2, 7, 8), bugs.freebsd.org/197376) # python random leaks fd
-@expectedFailureLinux # xfail flakey test to get buildbot green
+@expectedFlakey(lambda x: sys.version_info = (2, 7, 8), bugs.freebsd.org/197376) # python random leaks fd
+@expectedFlakeyLinux
 @skipIfWindows # The check for descriptor leakage needs to be implemented differently here.
 @skipIfTargetAndroid() # Android have some other file descriptors open by the shell
 def test_fd_leak_multitarget (self):
Index: lldb/trunk/test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py
===
--- lldb/trunk/test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py
+++ lldb/trunk/test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py
@@ -23,7 +23,7 @@
 @expectedFailureFreeBSD('llvm.org/pr18522') # hits break in another thread in testrun
 @python_api_test
 @dwarf_test
-@expectedFailureLinux # this test fails 6/100 dosep runs
+@expectedFlakeyLinux # this test fails 6/100 dosep runs
 def test_with_dwarf_python(self):
 Test that we obey thread conditioned breakpoints.
 self.buildDwarf()
Index: lldb/trunk/test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
===
--- lldb/trunk/test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
+++ lldb/trunk/test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
@@ -22,6 +22,8 @@
 @skipIfFreeBSD # Hangs.  May be the same as Linux issue llvm.org/pr16229 but
# not yet investigated.  Revisit once required functionality
# is implemented for FreeBSD.
+@skipIfLinux # Occasionally hangs on the build bot, expectedFailureLinux
+
 @dwarf_test
 def test_create_after_attach_with_dwarf_and_popen(self):
 Test thread creation after process attach.
@@ -32,6 +34,7 @@
# for FreeBSD.
 @dwarf_test
 @skipIfRemote
+@expectedFlakeyLinux(llvm.org/pr16229) # 1/100 dosep, build 3546, clang-3.5 x84_64
 def test_create_after_attach_with_dwarf_and_fork(self):
 Test thread creation after process attach.
 self.buildDwarf(dictionary=self.getBuildFlags(use_cpp11=False))
Index: lldb/trunk/test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py
===
--- lldb/trunk/test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py
+++ lldb/trunk/test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py
@@ -24,7 +24,7 @@
 
 @dwarf_test
 @expectedFailureFreeBSD('llvm.org/pr17946')
-@expectedFailureLinux # failed 1/365 test runs, line 61, thread.IsValid()
+@expectedFlakeyLinux # failed 1/365 test runs, line 61, thread.IsValid()
 def test_with_dwarf_and_run_command(self):
 Test that expr will time out and allow other threads to run if it blocks.
 self.buildDwarf()
Index: lldb/trunk/test/functionalities/stop-hook/TestStopHookMechanism.py
===
--- lldb/trunk/test/functionalities/stop-hook/TestStopHookMechanism.py
+++ 

[Lldb-commits] [lldb] r240803 - Fixed incorrect application of expectedFlakey

2015-06-26 Thread Vince Harron
Author: vharron
Date: Fri Jun 26 13:01:15 2015
New Revision: 240803

URL: http://llvm.org/viewvc/llvm-project?rev=240803view=rev
Log:
Fixed incorrect application of expectedFlakey


Modified:
lldb/trunk/test/lang/c/register_variables/TestRegisterVariables.py

Modified: lldb/trunk/test/lang/c/register_variables/TestRegisterVariables.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/c/register_variables/TestRegisterVariables.py?rev=240803r1=240802r2=240803view=diff
==
--- lldb/trunk/test/lang/c/register_variables/TestRegisterVariables.py 
(original)
+++ lldb/trunk/test/lang/c/register_variables/TestRegisterVariables.py Fri Jun 
26 13:01:15 2015
@@ -19,7 +19,7 @@ class RegisterVariableTestCase(TestBase)
 
 @dwarf_test
 @expectedFailureClang(None, ['', '3.5'])
-@expectedFlakeyGcc # failed with gcc4.8.2
+@expectedFailureGcc(None, ['is', '4.8.2'])
 def test_with_dwarf_and_run_command(self):
 Test expressions on register values.
 self.buildDwarf()


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Replace `rm -rf` with more portable implementation.

2015-06-26 Thread Vince Harron
LGTM


http://reviews.llvm.org/D10787

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Added expectedFlakey test decorator

2015-06-25 Thread Vince Harron
Added expectedFlakeyClang/Gcc, switched a bunch of tests to use new decorator.


http://reviews.llvm.org/D10721

Files:
  test/expression_command/call-function/TestCallStopAndContinue.py
  test/expression_command/call-restarts/TestCallThatRestarts.py
  test/expression_command/timeout/TestCallWithTimeout.py
  test/functionalities/attach_resume/TestAttachResume.py
  test/functionalities/avoids-fd-leak/TestFdLeak.py
  test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py
  test/functionalities/stop-hook/TestStopHookMechanism.py
  test/functionalities/stop-hook/multiple_threads/TestStopHookMultipleThreads.py
  test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
  
test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py
  test/lang/c/register_variables/TestRegisterVariables.py
  test/lang/cpp/this/TestCPPThis.py
  test/lldbtest.py
  test/python_api/signals/TestSignalsAPI.py
  test/types/TestFloatTypes.py

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
Index: test/expression_command/call-function/TestCallStopAndContinue.py
===
--- test/expression_command/call-function/TestCallStopAndContinue.py
+++ test/expression_command/call-function/TestCallStopAndContinue.py
@@ -22,14 +22,14 @@
 
 @skipUnlessDarwin
 @dsym_test
-@expectedFailureDarwin(llvm.org/pr20274) # intermittent failure on MacOSX
+@expectedFlakeyDarwin(llvm.org/pr20274)
 def test_with_dsym(self):
 Test gathering result from interrupted function call.
 self.buildDsym()
 self.call_function()
 
 @dwarf_test
-@expectedFailureDarwin(llvm.org/pr20274) # intermittent failure on MacOSX
+@expectedFlakeyDarwin(llvm.org/pr20274)
 def test_with_dwarf(self):
 Test gathering result from interrupted function call.
 self.buildDwarf()
Index: test/expression_command/call-restarts/TestCallThatRestarts.py
===
--- test/expression_command/call-restarts/TestCallThatRestarts.py
+++ test/expression_command/call-restarts/TestCallThatRestarts.py
@@ -29,7 +29,7 @@
 
 @dwarf_test
 @skipIfFreeBSD # llvm.org/pr19246: intermittent failure
-@expectedFailureLinux(llvm.org/pr19246) # intermittent failure
+@expectedFailureLinux(llvm.org/pr19246)
 @skipIfDarwin # llvm.org/pr19246: intermittent failure
 @skipIfWindows # Test relies on signals, unsupported on Windows
 def test_with_dwarf(self):
Index: test/expression_command/timeout/TestCallWithTimeout.py
===
--- test/expression_command/timeout/TestCallWithTimeout.py
+++ test/expression_command/timeout/TestCallWithTimeout.py
@@ -28,7 +28,7 @@
 self.call_function()
 
 @expectedFailureFreeBSD(llvm.org/pr19605) # fails on buildbot
-@expectedFailureLinux(llvm.org/pr20275) # fails intermittently on Linux
+@expectedFlakeyLinux(llvm.org/pr20275)
 @dwarf_test
 def test_with_dwarf(self):
 Test calling std::String member function.
Index: test/functionalities/attach_resume/TestAttachResume.py
===
--- test/functionalities/attach_resume/TestAttachResume.py
+++ test/functionalities/attach_resume/TestAttachResume.py
@@ -22,7 +22,7 @@
 self.buildDwarf()
 self.process_attach_continue_interrupt_detach()
 
-@expectedFailureLinux('llvm.org/pr19478') # intermittent ~2/14 runs
+@expectedFlakeyLinux('llvm.org/pr19478') # intermittent ~2/14 runs
 @skipIfRemote
 def process_attach_continue_interrupt_detach(self):
 Test attach/continue/interrupt/detach
Index: test/functionalities/avoids-fd-leak/TestFdLeak.py
===
--- test/functionalities/avoids-fd-leak/TestFdLeak.py
+++ test/functionalities/avoids-fd-leak/TestFdLeak.py
@@ -41,8 +41,8 @@
 self.assertTrue(process.GetExitStatus() == 0,
 Process returned non-zero status. Were incorrect file descriptors passed?)
 
-@expectedFailure(lambda x: sys.version_info = (2, 7, 8), bugs.freebsd.org/197376) # python random leaks fd
-@expectedFailureLinux # xfail flakey test to get buildbot green
+@expectedFlakey(lambda x: sys.version_info = (2, 7, 8), bugs.freebsd.org/197376) # python random leaks fd
+@expectedFlakeyLinux
 @skipIfWindows # The check for descriptor leakage needs to be implemented differently here.
 @skipIfTargetAndroid() # Android have some other file descriptors open by the shell
 def test_fd_leak_multitarget (self):
Index: test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py
===
--- test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py
+++ test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py

[Lldb-commits] [PATCH] Added expectedFlakey test decorator

2015-06-24 Thread Vince Harron
Hi clayborg, chying,

Flakey tests get two chances to pass

http://reviews.llvm.org/D10721

Files:
  test/lldbtest.py

Index: test/lldbtest.py
===
--- test/lldbtest.py
+++ test/lldbtest.py
@@ -646,6 +646,53 @@
 return 'true' in self.res.GetOutput() and 
self.expectedCompiler(compilers)
 return expectedFailure(fn, bugnumber)
 
+# if the test passes on the first try, we're done (success)
+# if the test fails once, then passes on the second try, raise an 
ExpectedFailure
+# if the test fails twice in a row, re-throw the exception from the second 
test run
+def expectedFlakey(expected_fn, bugnumber=None):
+def expectedFailure_impl(func):
+@wraps(func)
+def wrapper(*args, **kwargs):
+from unittest2 import case
+self = args[0]
+try:
+func(*args, **kwargs)
+except Exception:
+if expected_fn(self):
+# retry
+try:
+func(*args, **kwargs)
+except Exception:
+# oh snap! two failures in a row, record a 
failure/error
+raise
+# record the expected failure
+raise case._ExpectedFailure(sys.exc_info(), bugnumber)
+else:
+raise
+return wrapper
+# if bugnumber is not-callable(incluing None), that means decorator 
function is called with optional arguments
+# return decorator in this case, so it will be used to decorating original 
method
+if callable(bugnumber):
+return expectedFailure_impl(bugnumber)
+else:
+return expectedFailure_impl
+
+def expectedFlakeyOS(oslist, bugnumber=None, compilers=None):
+def fn(self):
+return (self.getPlatform() in oslist and
+self.expectedCompiler(compilers))
+return expectedFlakey(fn, bugnumber)
+
+def expectedFlakeyDarwin(bugnumber=None, compilers=None):
+# For legacy reasons, we support both darwin and macosx as OS X 
triples.
+return expectedFlakeyOS(getDarwinOSTriples(), bugnumber, compilers)
+
+def expectedFlakeyLinux(bugnumber=None, compilers=None):
+return expectedFlakeyOS(['linux'], bugnumber, compilers)
+
+def expectedFlakeyFreeBSD(bugnumber=None, compilers=None):
+return expectedFlakeyOS(['freebsd'], bugnumber, compilers)
+
 def skipIfRemote(func):
 Decorate the item to skip tests if testing remotely.
 if isinstance(func, type) and issubclass(func, unittest2.TestCase):

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
Index: test/lldbtest.py
===
--- test/lldbtest.py
+++ test/lldbtest.py
@@ -646,6 +646,53 @@
 return 'true' in self.res.GetOutput() and self.expectedCompiler(compilers)
 return expectedFailure(fn, bugnumber)
 
+# if the test passes on the first try, we're done (success)
+# if the test fails once, then passes on the second try, raise an ExpectedFailure
+# if the test fails twice in a row, re-throw the exception from the second test run
+def expectedFlakey(expected_fn, bugnumber=None):
+def expectedFailure_impl(func):
+@wraps(func)
+def wrapper(*args, **kwargs):
+from unittest2 import case
+self = args[0]
+try:
+func(*args, **kwargs)
+except Exception:
+if expected_fn(self):
+# retry
+try:
+func(*args, **kwargs)
+except Exception:
+# oh snap! two failures in a row, record a failure/error
+raise
+# record the expected failure
+raise case._ExpectedFailure(sys.exc_info(), bugnumber)
+else:
+raise
+return wrapper
+# if bugnumber is not-callable(incluing None), that means decorator function is called with optional arguments
+# return decorator in this case, so it will be used to decorating original method
+if callable(bugnumber):
+return expectedFailure_impl(bugnumber)
+else:
+return expectedFailure_impl
+
+def expectedFlakeyOS(oslist, bugnumber=None, compilers=None):
+def fn(self):
+return (self.getPlatform() in oslist and
+self.expectedCompiler(compilers))
+return expectedFlakey(fn, bugnumber)
+
+def expectedFlakeyDarwin(bugnumber=None, compilers=None):
+# For legacy reasons, we support both darwin and macosx as OS X triples.
+return expectedFlakeyOS(getDarwinOSTriples(), bugnumber, compilers)
+
+def expectedFlakeyLinux(bugnumber=None, compilers=None):
+return expectedFlakeyOS(['linux'], bugnumber, compilers)
+
+def expectedFlakeyFreeBSD(bugnumber=None, compilers=None):
+return expectedFlakeyOS(['freebsd'], 

Re: [Lldb-commits] [PATCH] Adding some more flakey tests to the XFAIL list

2015-06-22 Thread Vince Harron
Logs sent directly to Ilia


http://reviews.llvm.org/D10583

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r240327 - Adding some more flakey tests to the XFAIL list

2015-06-22 Thread Vince Harron
Author: vharron
Date: Mon Jun 22 15:54:14 2015
New Revision: 240327

URL: http://llvm.org/viewvc/llvm-project?rev=240327view=rev
Log:
Adding some more flakey tests to the XFAIL list


Modified:
lldb/trunk/test/dosep.py
lldb/trunk/test/tools/lldb-mi/TestMiGdbSetShow.py
lldb/trunk/test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py
lldb/trunk/test/tools/lldb-mi/syntax/TestMiSyntax.py

Modified: lldb/trunk/test/dosep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=240327r1=240326r2=240327view=diff
==
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Mon Jun 22 15:54:14 2015
@@ -251,6 +251,7 @@ def getExpectedTimeouts(platform_name):
 TestExitDuringStep.py,
 TestHelloWorld.py, # Times out in ~10% of the times on the build 
bot
 TestMultithreaded.py,
+TestRegisters.py, # ~12/600 dosep runs (build 3120-3122)
 TestThreadStepOut.py,
 }
 elif target.startswith(android):

Modified: lldb/trunk/test/tools/lldb-mi/TestMiGdbSetShow.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-mi/TestMiGdbSetShow.py?rev=240327r1=240326r2=240327view=diff
==
--- lldb/trunk/test/tools/lldb-mi/TestMiGdbSetShow.py (original)
+++ lldb/trunk/test/tools/lldb-mi/TestMiGdbSetShow.py Mon Jun 22 15:54:14 2015
@@ -62,6 +62,7 @@ class MiGdbSetShowTestCase(lldbmi_testca
 @lldbmi_test
 @expectedFailureWindows(llvm.org/pr22274: need a pexpect replacement for 
windows)
 @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread 
races
+@expectedFailureLinux # Failing in ~11/600 dosep runs (build 3120-3122)
 def test_lldbmi_gdb_set_target_async_off(self):
 Test that 'lldb-mi --interpreter' can execute commands in sync 
mode.
 

Modified: lldb/trunk/test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py?rev=240327r1=240326r2=240327view=diff
==
--- lldb/trunk/test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py 
(original)
+++ lldb/trunk/test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py Mon Jun 
22 15:54:14 2015
@@ -55,6 +55,7 @@ class MiInterpreterExecTestCase(lldbmi_t
 @lldbmi_test
 @expectedFailureWindows(llvm.org/pr22274: need a pexpect replacement for 
windows)
 @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread 
races
+@expectedFailureLinux  # Failing in ~9/600 dosep runs (build 3120-3122)
 def test_lldbmi_settings_set_target_run_args_before(self):
 Test that 'lldb-mi --interpreter' can set target arguments by 
'setting set target.run-args' command before than target was created.
 
@@ -87,6 +88,7 @@ class MiInterpreterExecTestCase(lldbmi_t
 @lldbmi_test
 @expectedFailureWindows(llvm.org/pr22274: need a pexpect replacement for 
windows)
 @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread 
races
+@expectedFailureLinux  # Failing in ~9/600 dosep runs (build 3120-3122)
 def test_lldbmi_settings_set_target_run_args_after(self):
 Test that 'lldb-mi --interpreter' can set target arguments by 
'setting set target.run-args' command after than target was created.
 

Modified: lldb/trunk/test/tools/lldb-mi/syntax/TestMiSyntax.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-mi/syntax/TestMiSyntax.py?rev=240327r1=240326r2=240327view=diff
==
--- lldb/trunk/test/tools/lldb-mi/syntax/TestMiSyntax.py (original)
+++ lldb/trunk/test/tools/lldb-mi/syntax/TestMiSyntax.py Mon Jun 22 15:54:14 
2015
@@ -61,6 +61,7 @@ class MiSyntaxTestCase(lldbmi_testcase.M
 @lldbmi_test
 @expectedFailureWindows(llvm.org/pr22274: need a pexpect replacement for 
windows)
 @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread 
races
+@expectedFailureLinux  # Failing in ~6/600 dosep runs (build 3120-3122)
 def test_lldbmi_process_output(self):
 Test that 'lldb-mi --interpreter' wraps process output correctly.
 


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Don't crash if a member declaration is incomplete

2015-06-19 Thread Vince Harron
Ah, if clang-3.6 is on your path try -C clang-3.6 instead of /usr/bin/cc


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D10509

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] Adding some more flakey tests to the XFAIL list

2015-06-19 Thread Vince Harron
Hi chying, clayborg,

See comments for rationale

http://reviews.llvm.org/D10583

Files:
  test/dosep.py
  test/tools/lldb-mi/TestMiGdbSetShow.py
  test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py
  test/tools/lldb-mi/syntax/TestMiSyntax.py

Index: test/dosep.py
===
--- test/dosep.py
+++ test/dosep.py
@@ -251,6 +251,7 @@
 TestExitDuringStep.py,
 TestHelloWorld.py, # Times out in ~10% of the times on the build 
bot
 TestMultithreaded.py,
+TestRegisters.py, # ~12/600 dosep runs (build 3120-3122)
 TestThreadStepOut.py,
 }
 elif target.startswith(android):
Index: test/tools/lldb-mi/TestMiGdbSetShow.py
===
--- test/tools/lldb-mi/TestMiGdbSetShow.py
+++ test/tools/lldb-mi/TestMiGdbSetShow.py
@@ -62,6 +62,7 @@
 @lldbmi_test
 @expectedFailureWindows(llvm.org/pr22274: need a pexpect replacement for 
windows)
 @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread 
races
+@expectedFailureLinux # Failing in ~11/600 dosep runs (build 3120-3122)
 def test_lldbmi_gdb_set_target_async_off(self):
 Test that 'lldb-mi --interpreter' can execute commands in sync 
mode.
 
Index: test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py
===
--- test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py
+++ test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py
@@ -55,6 +55,7 @@
 @lldbmi_test
 @expectedFailureWindows(llvm.org/pr22274: need a pexpect replacement for 
windows)
 @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread 
races
+@expectedFailureLinux  # Failing in ~9/600 dosep runs (build 3120-3122)
 def test_lldbmi_settings_set_target_run_args_before(self):
 Test that 'lldb-mi --interpreter' can set target arguments by 
'setting set target.run-args' command before than target was created.
 
@@ -79,6 +80,7 @@
 @lldbmi_test
 @expectedFailureWindows(llvm.org/pr22274: need a pexpect replacement for 
windows)
 @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread 
races
+@expectedFailureLinux  # Failing in ~9/600 dosep runs (build 3120-3122)
 def test_lldbmi_settings_set_target_run_args_after(self):
 Test that 'lldb-mi --interpreter' can set target arguments by 
'setting set target.run-args' command after than target was created.
 
Index: test/tools/lldb-mi/syntax/TestMiSyntax.py
===
--- test/tools/lldb-mi/syntax/TestMiSyntax.py
+++ test/tools/lldb-mi/syntax/TestMiSyntax.py
@@ -61,6 +61,7 @@
 @lldbmi_test
 @expectedFailureWindows(llvm.org/pr22274: need a pexpect replacement for 
windows)
 @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread 
races
+@expectedFailureLinux  # Failing in ~6/600 dosep runs (build 3120-3122)
 def test_lldbmi_process_output(self):
 Test that 'lldb-mi --interpreter' wraps process output correctly.

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
Index: test/dosep.py
===
--- test/dosep.py
+++ test/dosep.py
@@ -251,6 +251,7 @@
 TestExitDuringStep.py,
 TestHelloWorld.py, # Times out in ~10% of the times on the build bot
 TestMultithreaded.py,
+TestRegisters.py, # ~12/600 dosep runs (build 3120-3122)
 TestThreadStepOut.py,
 }
 elif target.startswith(android):
Index: test/tools/lldb-mi/TestMiGdbSetShow.py
===
--- test/tools/lldb-mi/TestMiGdbSetShow.py
+++ test/tools/lldb-mi/TestMiGdbSetShow.py
@@ -62,6 +62,7 @@
 @lldbmi_test
 @expectedFailureWindows(llvm.org/pr22274: need a pexpect replacement for windows)
 @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread races
+@expectedFailureLinux # Failing in ~11/600 dosep runs (build 3120-3122)
 def test_lldbmi_gdb_set_target_async_off(self):
 Test that 'lldb-mi --interpreter' can execute commands in sync mode.
 
Index: test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py
===
--- test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py
+++ test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py
@@ -55,6 +55,7 @@
 @lldbmi_test
 @expectedFailureWindows(llvm.org/pr22274: need a pexpect replacement for windows)
 @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread races
+@expectedFailureLinux  # Failing in ~9/600 dosep runs (build 3120-3122)
 def test_lldbmi_settings_set_target_run_args_before(self):
 Test that 'lldb-mi --interpreter' can set target arguments by 

Re: [Lldb-commits] [PATCH] Don't crash if a member declaration is incomplete

2015-06-19 Thread Vince Harron
Hi Keno,

The tests are generally passing cleanly on Linux and OSX for us. Can you
post complete repro steps so we might be able to help troubleshoot?

Please try building with CMake on Linux and Xcode on OSX to see if this
improves for you.

Vince
 On Jun 18, 2015 6:05 PM, Keno Fischer kfisc...@college.harvard.edu
wrote:

 @clayborg, would you mind trying out the tests and seeing if they can be
 improved. I've tried getting the LLDB tests running, but on Linux the tests
 just generally fail for me and on OS X, LLDB python segfaults as soon as it
 tries to load LLDB, so I wasn't able to actually run them. Also, I don't
 have any experience writing LLDB tests, so I'm sure they need to be
 improved.


 REPOSITORY
   rL LLVM

 http://reviews.llvm.org/D10509

 EMAIL PREFERENCES
   http://reviews.llvm.org/settings/panel/emailpreferences/



 ___
 lldb-commits mailing list
 lldb-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r239450 - Mark TestMultithreaded as XTIMEOUT on Linux.

2015-06-09 Thread Vince Harron
Can you put that as a comment on the XFAIL?  Also, is this an increase in
frequency?  If so, we should note the CL range so we can try to narrow down
later
On Jun 9, 2015 6:50 PM, Oleksiy Vyalov ovya...@google.com wrote:

 It was timed out 3 times for last 5 hours.
 On Jun 9, 2015 6:46 PM, Vince Harron vi...@nethacker.com wrote:

 Any indication of frequency?
 On Jun 9, 2015 6:44 PM, Oleksiy Vyalov ovya...@google.com wrote:

 Author: ovyalov
 Date: Tue Jun  9 20:34:25 2015
 New Revision: 239450

 URL: http://llvm.org/viewvc/llvm-project?rev=239450view=rev
 Log:
 Mark TestMultithreaded as XTIMEOUT on Linux.

 Modified:
 lldb/trunk/test/dosep.py

 Modified: lldb/trunk/test/dosep.py
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=239450r1=239449r2=239450view=diff

 ==
 --- lldb/trunk/test/dosep.py (original)
 +++ lldb/trunk/test/dosep.py Tue Jun  9 20:34:25 2015
 @@ -250,6 +250,7 @@ def getExpectedTimeouts(platform_name):
  TestEvents.py,
  TestExitDuringStep.py,
  TestHelloWorld.py, # Times out in ~10% of the times on
 the build bot
 +TestMultithreaded.py,
  TestThreadStepOut.py,
  }
  elif target.startswith(android):


 ___
 lldb-commits mailing list
 lldb-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r239450 - Mark TestMultithreaded as XTIMEOUT on Linux.

2015-06-09 Thread Vince Harron
Any indication of frequency?
On Jun 9, 2015 6:44 PM, Oleksiy Vyalov ovya...@google.com wrote:

 Author: ovyalov
 Date: Tue Jun  9 20:34:25 2015
 New Revision: 239450

 URL: http://llvm.org/viewvc/llvm-project?rev=239450view=rev
 Log:
 Mark TestMultithreaded as XTIMEOUT on Linux.

 Modified:
 lldb/trunk/test/dosep.py

 Modified: lldb/trunk/test/dosep.py
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=239450r1=239449r2=239450view=diff

 ==
 --- lldb/trunk/test/dosep.py (original)
 +++ lldb/trunk/test/dosep.py Tue Jun  9 20:34:25 2015
 @@ -250,6 +250,7 @@ def getExpectedTimeouts(platform_name):
  TestEvents.py,
  TestExitDuringStep.py,
  TestHelloWorld.py, # Times out in ~10% of the times on the
 build bot
 +TestMultithreaded.py,
  TestThreadStepOut.py,
  }
  elif target.startswith(android):


 ___
 lldb-commits mailing list
 lldb-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r239130 - Fix error handling in AdbClient - PushFile and PullFile.

2015-06-05 Thread Vince Harron
Why aren't we just invoking the adb command?
___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r239130 - Fix error handling in AdbClient - PushFile and PullFile.

2015-06-05 Thread Vince Harron
This is probably a better API than a CLI.  Concern withdrawn.
On Jun 5, 2015 8:34 AM, Oleksiy Vyalov ovya...@google.com wrote:

 adb binary might not be in user's PATH - but adb server on 5037 should be
 available.



 On Fri, Jun 5, 2015 at 6:16 AM, Vince Harron vi...@nethacker.com wrote:

 Why aren't we just invoking the adb command?




 --
 Oleksiy Vyalov | Software Engineer | ovya...@google.com

___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Add Read Thread to GDBRemoteCommunication.

2015-06-01 Thread Vince Harron
Ewan, has your non-stop mode implementation been tested against gdbserver?
On Jun 1, 2015 11:01 AM, Greg Clayton clayb...@gmail.com wrote:

 My main concern with any threading is pairing the correct response to a
 the person that sent the packet. Are async packets marked so they
 absolutely can't be confused with any other response packets? I really
 don't like the fact that there are no sequence numbers in the sent/received
 packets because this makes it hard to know when you get the right response
 if a previous packet times out. I recently added qEcho to support making
 sure we stay on track and would like to ensure that any of the code added
 above won't let any packets receive the wrong reply packet.


 REPOSITORY
   rL LLVM

 http://reviews.llvm.org/D10085

 EMAIL PREFERENCES
   http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Improve test for g++ 4.6

2015-05-29 Thread Vince Harron
Debugging apps built with gcc 4.6 might be important to someone.  No reason
to pull it out if it's not hurting.
On May 29, 2015 10:15 AM, Chaoren Lin chaor...@google.com wrote:

 I support that idea, but we should probably consult Greg as well.
 On May 29, 2015 10:11, Ed Maste ema...@freebsd.org wrote:

 Or, perhaps we can just remove this check / c++0x workaround altogether
 now? Since LLVM/Clang/LLDB requires a C++11 compiler to build, we know the
 user has one they can use.


 http://reviews.llvm.org/D10122
 https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_D10122d=AwMFaQc=8hUWFZcy2Z-Za5rBPlktOQr=MEqT8U_n7oNfuDW5NRbY3ZV384ZquXIYFPWmprwUdKMm=Z8Qkx2Xod8q9q07asvq9Qc11gIZT2mliGq0L-czyFqgs=QstaPJfR42TgDC0J-pNJDu18SewIpRiq1csR-loIcdke=

 EMAIL PREFERENCES
   http://reviews.llvm.org/settings/panel/emailpreferences/
 https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_settings_panel_emailpreferences_d=AwMFaQc=8hUWFZcy2Z-Za5rBPlktOQr=MEqT8U_n7oNfuDW5NRbY3ZV384ZquXIYFPWmprwUdKMm=Z8Qkx2Xod8q9q07asvq9Qc11gIZT2mliGq0L-czyFqgs=j-i3qJXyH895iZbKZBFBKf90V7xNkHasyLgLHf-YpdIe=



 ___
 lldb-commits mailing list
 lldb-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r238283 - Changed Flags::clang_type_resolve_state to unsigned for gcc

2015-05-27 Thread Vince Harron
It didn't suggest a -Wflag and my reading on this didn't produce one either.

I'm open to suggestions.
 On May 27, 2015 2:27 AM, Pavel Labath lab...@google.com wrote:

 Wouldn't it be better to disable the warning (-Wno-whatever) instead
 of littering the codebase with ifdefs?

 pl

 On 27 May 2015 at 05:54, Vince Harron vi...@nethacker.com wrote:
  Author: vharron
  Date: Tue May 26 23:54:36 2015
  New Revision: 238283
 
  URL: http://llvm.org/viewvc/llvm-project?rev=238283view=rev
  Log:
  Changed Flags::clang_type_resolve_state to unsigned for gcc
 
  to work around a very noisy gcc warning
 
 
  Modified:
  lldb/trunk/include/lldb/Symbol/Type.h
 
  Modified: lldb/trunk/include/lldb/Symbol/Type.h
  URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/Type.h?rev=238283r1=238282r2=238283view=diff
 
 ==
  --- lldb/trunk/include/lldb/Symbol/Type.h (original)
  +++ lldb/trunk/include/lldb/Symbol/Type.h Tue May 26 23:54:36 2015
  @@ -305,7 +305,12 @@ protected:
   ClangASTType m_clang_type;
 
   struct Flags {
  +#ifdef __GNUC__
  +// using unsigned type here to work around a very noisy gcc
 warning
  +unsignedclang_type_resolve_state : 2;
  +#else
   ResolveStateclang_type_resolve_state : 2;
  +#endif
   boolis_complete_objc_class   : 1;
   } m_flags;
 
 
 
  ___
  lldb-commits mailing list
  lldb-commits@cs.uiuc.edu
  http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r238281 - dosep - force timeout processes to dump core when they timeout

2015-05-26 Thread Vince Harron
Author: vharron
Date: Tue May 26 23:40:36 2015
New Revision: 238281

URL: http://llvm.org/viewvc/llvm-project?rev=238281view=rev
Log:
dosep - force timeout processes to dump core when they timeout

move all core files to the session dir after all tests have completed

TEST PLAN
Run tests. Force a timeout by decreasing a timeout
export LLDB_EVENTS_TIMEOUT=10s
./dosep.py

Differential Revision: http://reviews.llvm.org/D9905


Modified:
lldb/trunk/test/dosep.py

Modified: lldb/trunk/test/dosep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=238281r1=238280r2=238281view=diff
==
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Tue May 26 23:40:36 2015
@@ -19,10 +19,21 @@ Set to 0 to run without time limit.
 
 E.g., export LLDB_TEST_TIMEOUT=0
 orexport LLDB_TESTCONCURRENTEVENTS_TIMEOUT=0
+
+To collect core files for timed out tests, do the following before running 
dosep.py
+
+OSX
+ulimit -c unlimited
+sudo sysctl -w kern.corefile=core.%P
+
+Linux:
+ulimit -c unlimited
+echo core.%p | sudo tee /proc/sys/kernel/core_pattern
 
 
 import multiprocessing
 import os
+import fnmatch
 import platform
 import re
 import dotest_args
@@ -57,15 +68,16 @@ eTimedOut, ePassed, eFailed = 124, 0, 1
 
 def call_with_timeout(command, timeout):
 Run command with a timeout if possible.
+-s QUIT will create a coredump if they are enabled on your system
 if os.name != nt:
 if timeout_command and timeout != 0:
-return subprocess.call([timeout_command, timeout] + command,
+return subprocess.call([timeout_command, '-s', 'QUIT', timeout] + 
command,
stdin=subprocess.PIPE, close_fds=True)
 return (ePassed if subprocess.call(command, stdin=subprocess.PIPE, 
close_fds=True) == 0
 else eFailed)
 else:
 if timeout_command and timeout != 0:
-return subprocess.call([timeout_command, timeout] + command,
+return subprocess.call([timeout_command, '-s', 'QUIT', timeout] + 
command,
stdin=subprocess.PIPE)
 return (ePassed if subprocess.call(command, stdin=subprocess.PIPE) == 0
 else eFailed)
@@ -194,6 +206,14 @@ def touch(fname, times=None):
 with open(fname, 'a'):
 os.utime(fname, times)
 
+def find(pattern, path):
+result = []
+for root, dirs, files in os.walk(path):
+for name in files:
+if fnmatch.fnmatch(name, pattern):
+result.append(os.path.join(root, name))
+return result
+
 def main():
 # We can't use sys.path[0] to determine the script directory
 # because it doesn't work under a debugger
@@ -255,6 +275,11 @@ Run lldb test suite using a separate pro
 else:
 test_subdir = os.path.join(test_directory, args[0])
 
+# clean core files in test tree from previous runs (Linux)
+cores = find('core.*', test_subdir)
+for core in cores:
+os.unlink(core)
+
 if opts.num_threads:
 num_threads = opts.num_threads
 else:
@@ -272,6 +297,13 @@ Run lldb test suite using a separate pro
 timed_out = set(timed_out)
 num_tests = len(failed) + len(passed)
 
+# move core files into session dir
+cores = find('core.*', test_subdir)
+for core in cores:
+dst = core.replace(test_directory, )[1:]
+dst = dst.replace(os.path.sep, -)
+os.rename(core, os.path.join(session_dir, dst))
+
 # remove expected timeouts from failures
 expected_timeout = getExpectedTimeouts(dotest_options.lldb_platform_name)
 for xtime in expected_timeout:


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r238282 - test Makefile.rules - pick a more sensible default CC on Linux

2015-05-26 Thread Vince Harron
Author: vharron
Date: Tue May 26 23:42:54 2015
New Revision: 238282

URL: http://llvm.org/viewvc/llvm-project?rev=238282view=rev
Log:
test Makefile.rules - pick a more sensible default CC on Linux

Differential Revision: http://reviews.llvm.org/D9920


Modified:
lldb/trunk/test/make/Makefile.rules

Modified: lldb/trunk/test/make/Makefile.rules
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/make/Makefile.rules?rev=238282r1=238281r2=238282view=diff
==
--- lldb/trunk/test/make/Makefile.rules (original)
+++ lldb/trunk/test/make/Makefile.rules Tue May 26 23:42:54 2015
@@ -69,7 +69,13 @@ endif
 #--
 CC ?= clang
 ifeq $(CC) cc
-   CC = clang
+   ifneq $(shell which clang) 
+   CC = clang
+   else ifneq $(shell which clang-3.5) 
+   CC = clang-3.5
+   else ifneq $(shell which gcc) 
+   CC = gcc
+   endif
 endif
 
 #--


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r238283 - Changed Flags::clang_type_resolve_state to unsigned for gcc

2015-05-26 Thread Vince Harron
Author: vharron
Date: Tue May 26 23:54:36 2015
New Revision: 238283

URL: http://llvm.org/viewvc/llvm-project?rev=238283view=rev
Log:
Changed Flags::clang_type_resolve_state to unsigned for gcc

to work around a very noisy gcc warning


Modified:
lldb/trunk/include/lldb/Symbol/Type.h

Modified: lldb/trunk/include/lldb/Symbol/Type.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/Type.h?rev=238283r1=238282r2=238283view=diff
==
--- lldb/trunk/include/lldb/Symbol/Type.h (original)
+++ lldb/trunk/include/lldb/Symbol/Type.h Tue May 26 23:54:36 2015
@@ -305,7 +305,12 @@ protected:
 ClangASTType m_clang_type;
 
 struct Flags {
+#ifdef __GNUC__
+// using unsigned type here to work around a very noisy gcc warning
+unsignedclang_type_resolve_state : 2;
+#else
 ResolveStateclang_type_resolve_state : 2;
+#endif
 boolis_complete_objc_class   : 1;
 } m_flags;
 


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r238284 - www - updated build server URLs

2015-05-26 Thread Vince Harron
Author: vharron
Date: Tue May 26 23:55:31 2015
New Revision: 238284

URL: http://llvm.org/viewvc/llvm-project?rev=238284view=rev
Log:
www - updated build server URLs


Modified:
lldb/trunk/www/build.html

Modified: lldb/trunk/www/build.html
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/www/build.html?rev=238284r1=238283r2=238284view=diff
==
--- lldb/trunk/www/build.html (original)
+++ lldb/trunk/www/build.html Tue May 26 23:55:31 2015
@@ -21,15 +21,19 @@
   p
 The following LLVM buildbots build and test LLDB trunk:
 ul
-  li a 
href=http://lab.llvm.org:8011/builders/lldb-x86_64-debian-clang;LLDB Linux 
x86_64 build with Clang (automake)/a
+  li a 
href=http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake;LLDB 
Ubuntu 14.04 x86_64 (CMake, clang-3.5+/gcc-4.8, i386/x86_64)/a
   /li
-  li a 
href=http://lab.llvm.org:8011/builders/lldb-x86_64-linux;LLDB Linux x86_64 
build with GCC 4.6 (automake)/a
+  li a 
href=http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-android;LLDB 
Ubuntu 14.04 x86_64-Android (CMake, gcc-4.9 arm/arm64/x86)/a
   /li
-  li a 
href=http://lab.llvm.org:8011/builders/lldb-x86_64-darwin12;LLDB Mac OS X 
x86_64 build with Clang (XCode)/a
+  li a 
href=http://lab.llvm.org:8011/builders/lldb-x86_64-darwin-13.4;LLDB Mac OS X 
10.9.5 x86_64 (Xcode)/a
   /li
-  li a 
href=http://llvm-amd64.freebsd.your.org:8010/builders/lldb-amd64-freebsd;LLDB 
FreeBSD x86_64 (CMake)/a
+  li a 
href=http://lab.llvm.org:8011/builders/lldb-x86-windows-msvc;LLDB Windows 
Server 2008 x86 (CMake, MSVS 2013, Windows SDK 8.1, no tests)/a
   /li
-  li a 
href=http://llvm-amd64.freebsd.your.org:8010/builders/lldb-i386-freebsd;LLDB 
FreeBSD i386/a
+  li a 
href=http://lab.llvm.org:8011/builders/lldb-x86-win7-msvc;LLDB Windows 7 x86 
(CMake, MSVS 2013, Windows SDK 8.1, no tests)/a
+  /li
+  li a 
href=http://lab.llvm.org:8011/builders/lldb-x86_64-debian-clang;LLDB Ubuntu 
14.04 x86_64 build (automake, Clang 3.4, VMware Workstation)/a
+  /li
+  li a 
href=http://lab.llvm.org:8011/builders/lldb-x86_64-freebsd;LLDB FreeBSD 
x86_64 (CMake)/a
   /li
 /ul
   /p


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r238174 - revert files unintentionally checked in

2015-05-25 Thread Vince Harron
Author: vharron
Date: Mon May 25 22:10:41 2015
New Revision: 238174

URL: http://llvm.org/viewvc/llvm-project?rev=238174view=rev
Log:
revert files unintentionally checked in


Modified:
lldb/trunk/include/lldb/Symbol/Type.h
lldb/trunk/source/Symbol/Type.cpp

Modified: lldb/trunk/include/lldb/Symbol/Type.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/Type.h?rev=238174r1=238173r2=238174view=diff
==
--- lldb/trunk/include/lldb/Symbol/Type.h (original)
+++ lldb/trunk/include/lldb/Symbol/Type.h Mon May 25 22:10:41 2015
@@ -305,9 +305,7 @@ protected:
 ClangASTType m_clang_type;
 
 struct Flags {
-// clang_type_resolve_state is a ResolveState enum
-// using unsigned type here to work around a very noisy gcc warning
-unsignedclang_type_resolve_state : 2;
+ResolveStateclang_type_resolve_state : 2;
 boolis_complete_objc_class   : 1;
 } m_flags;
 

Modified: lldb/trunk/source/Symbol/Type.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/Type.cpp?rev=238174r1=238173r2=238174view=diff
==
--- lldb/trunk/source/Symbol/Type.cpp (original)
+++ lldb/trunk/source/Symbol/Type.cpp Mon May 25 22:10:41 2015
@@ -101,7 +101,7 @@ Type::Type
 m_decl (decl),
 m_clang_type (clang_type)
 {
-m_flags.SetResolveState(clang_type ? clang_type_resolve_state : 
eResolveStateUnresolved);
+m_flags.clang_type_resolve_state = (clang_type ? clang_type_resolve_state 
: eResolveStateUnresolved);
 m_flags.is_complete_objc_class = false;
 }
 
@@ -118,7 +118,7 @@ Type::Type () :
 m_decl (),
 m_clang_type ()
 {
-m_flags.SetResolveState(eResolveStateUnresolved);
+m_flags.clang_type_resolve_state = eResolveStateUnresolved;
 m_flags.is_complete_objc_class = false;
 }
 
@@ -505,7 +505,7 @@ Type::ResolveClangType (ResolveState cla
 if (encoding_clang_type.IsValid())
 {
 m_clang_type = encoding_clang_type;
-
m_flags.SetResolveState(encoding_type-m_flags.clang_type_resolve_state);
+m_flags.clang_type_resolve_state = 
encoding_type-m_flags.clang_type_resolve_state;
 }
 }
 break;
@@ -594,7 +594,7 @@ Type::ResolveClangType (ResolveState cla
 // Check if we have a forward reference to a class/struct/union/enum?
 if (m_clang_type.IsValid()  m_flags.clang_type_resolve_state  
clang_type_resolve_state)
 {
-m_flags.SetResolveState(eResolveStateFull);
+m_flags.clang_type_resolve_state = eResolveStateFull;
 if (!m_clang_type.IsDefined ())
 {
 // We have a forward declaration, we need to resolve it to a 
complete definition.


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r238173 - Print port number that lldb-server binds to in platform mode

2015-05-25 Thread Vince Harron
Author: vharron
Date: Mon May 25 22:08:05 2015
New Revision: 238173

URL: http://llvm.org/viewvc/llvm-project?rev=238173view=rev
Log:
Print port number that lldb-server binds to in platform mode

If binding to port 0 is selected, the actual port is printed.

This improves the reliability of platform startup by ensuring that
a free port can be found.

TEST PLAN
./lldb-server platform --listen *:0

Listening for a connection from port-number...

Will appear on stdout (with other stuff potentially)


Modified:
lldb/trunk/include/lldb/Symbol/Type.h
lldb/trunk/source/Symbol/Type.cpp
lldb/trunk/tools/lldb-server/lldb-platform.cpp

Modified: lldb/trunk/include/lldb/Symbol/Type.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/Type.h?rev=238173r1=238172r2=238173view=diff
==
--- lldb/trunk/include/lldb/Symbol/Type.h (original)
+++ lldb/trunk/include/lldb/Symbol/Type.h Mon May 25 22:08:05 2015
@@ -305,7 +305,9 @@ protected:
 ClangASTType m_clang_type;
 
 struct Flags {
-ResolveStateclang_type_resolve_state : 2;
+// clang_type_resolve_state is a ResolveState enum
+// using unsigned type here to work around a very noisy gcc warning
+unsignedclang_type_resolve_state : 2;
 boolis_complete_objc_class   : 1;
 } m_flags;
 

Modified: lldb/trunk/source/Symbol/Type.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/Type.cpp?rev=238173r1=238172r2=238173view=diff
==
--- lldb/trunk/source/Symbol/Type.cpp (original)
+++ lldb/trunk/source/Symbol/Type.cpp Mon May 25 22:08:05 2015
@@ -101,7 +101,7 @@ Type::Type
 m_decl (decl),
 m_clang_type (clang_type)
 {
-m_flags.clang_type_resolve_state = (clang_type ? clang_type_resolve_state 
: eResolveStateUnresolved);
+m_flags.SetResolveState(clang_type ? clang_type_resolve_state : 
eResolveStateUnresolved);
 m_flags.is_complete_objc_class = false;
 }
 
@@ -118,7 +118,7 @@ Type::Type () :
 m_decl (),
 m_clang_type ()
 {
-m_flags.clang_type_resolve_state = eResolveStateUnresolved;
+m_flags.SetResolveState(eResolveStateUnresolved);
 m_flags.is_complete_objc_class = false;
 }
 
@@ -505,7 +505,7 @@ Type::ResolveClangType (ResolveState cla
 if (encoding_clang_type.IsValid())
 {
 m_clang_type = encoding_clang_type;
-m_flags.clang_type_resolve_state = 
encoding_type-m_flags.clang_type_resolve_state;
+
m_flags.SetResolveState(encoding_type-m_flags.clang_type_resolve_state);
 }
 }
 break;
@@ -594,7 +594,7 @@ Type::ResolveClangType (ResolveState cla
 // Check if we have a forward reference to a class/struct/union/enum?
 if (m_clang_type.IsValid()  m_flags.clang_type_resolve_state  
clang_type_resolve_state)
 {
-m_flags.clang_type_resolve_state = eResolveStateFull;
+m_flags.SetResolveState(eResolveStateFull);
 if (!m_clang_type.IsDefined ())
 {
 // We have a forward declaration, we need to resolve it to a 
complete definition.

Modified: lldb/trunk/tools/lldb-server/lldb-platform.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/lldb-platform.cpp?rev=238173r1=238172r2=238173view=diff
==
--- lldb/trunk/tools/lldb-server/lldb-platform.cpp (original)
+++ lldb/trunk/tools/lldb-server/lldb-platform.cpp Mon May 25 22:08:05 2015
@@ -253,7 +253,6 @@ main_platform (int argc, char *argv[])
 
 std::unique_ptrSocket listening_socket_up;
 Socket *socket = nullptr;
-printf (Listening for a connection from %s...\n, 
listen_host_port.c_str());
 const bool children_inherit_listen_socket = false;
 
 // the test suite makes many connections in parallel, let's not miss any.
@@ -267,6 +266,7 @@ main_platform (int argc, char *argv[])
 exit(socket_error);
 }
 listening_socket_up.reset(socket);
+printf (Listening for a connection from %u...\n, 
listening_socket_up-GetLocalPortNumber());
 
 do {
 GDBRemoteCommunicationServerPlatform platform;


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r238089 - Did some cleanup to stop us from leaking Pipe file descriptors.

2015-05-23 Thread Vince Harron
I think that this CL introduced or exposed a 50% crash bug in the test suite

https://llvm.org/bugs/show_bug.cgi?id=23644
___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r238043 - dotest.py - fixed a bug displaying usage

2015-05-22 Thread Vince Harron
Author: vharron
Date: Fri May 22 14:49:23 2015
New Revision: 238043

URL: http://llvm.org/viewvc/llvm-project?rev=238043view=rev
Log:
dotest.py - fixed a bug displaying usage

./dotest.py --help


Modified:
lldb/trunk/test/dosep.py
lldb/trunk/test/dotest.py
lldb/trunk/test/dotest_args.py

Modified: lldb/trunk/test/dosep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=238043r1=238042r2=238043view=diff
==
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Fri May 22 14:49:23 2015
@@ -233,7 +233,10 @@ Run lldb test suite using a separate pro
 
 is_posix = (os.name == posix)
 dotest_argv = shlex.split(dotest_option_string, posix=is_posix) if 
dotest_option_string else []
-dotest_options = dotest_args.getArguments(dotest_argv)
+
+parser = dotest_args.create_parser()
+dotest_options = dotest_args.parse_args(parser, dotest_argv)
+
 if not dotest_options.s:
 # no session log directory, we need to add this to prevent
 # every dotest invocation from creating its own directory

Modified: lldb/trunk/test/dotest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=238043r1=238042r2=238043view=diff
==
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Fri May 22 14:49:23 2015
@@ -491,7 +491,8 @@ def parseOptionsAndInitTestdirs():
 platform_system = platform.system()
 platform_machine = platform.machine()
 
-args = dotest_args.getArguments(sys.argv[1:])
+parser = dotest_args.create_parser()
+args = dotest_args.parse_args(parser, sys.argv[1:])
 
 if args.unset_env_varnames:
 for env_var in args.unset_env_varnames:

Modified: lldb/trunk/test/dotest_args.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest_args.py?rev=238043r1=238042r2=238043view=diff
==
--- lldb/trunk/test/dotest_args.py (original)
+++ lldb/trunk/test/dotest_args.py Fri May 22 14:49:23 2015
@@ -26,8 +26,7 @@ def parse_args(parser, argv):
 else:
 return parser.parse_args(args=argv)
 
-def getArguments(argv):
-
+def create_parser():
 parser = argparse.ArgumentParser(description='description', 
prefix_chars='+-', add_help=False)
 group = None
 
@@ -114,4 +113,4 @@ def getArguments(argv):
 group = parser.add_argument_group('Test directories')
 group.add_argument('args', metavar='test-dir', nargs='*', help='Specify a 
list of directory names to search for test modules named after Test*.py (test 
discovery). If empty, search from the current working directory instead.')
 
-return parse_args(parser, argv)
+return parser


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r237602 - Refactored dotest arg parser so that it's accessible from dosep

2015-05-22 Thread Vince Harron
Up for review

http://reviews.llvm.org/D9937

On Thu, May 21, 2015 at 4:17 PM, Vince Harron vi...@nethacker.com wrote:

 Yeah, on it.

 On Thu, May 21, 2015 at 4:03 PM, Zachary Turner ztur...@google.com
 wrote:

 This breaks dotest.py --help, and many other command line options.

 Would you mind fixing this?  I took a stab at it but it turns out to be a
 little more involved than I have time for.

 On Mon, May 18, 2015 at 12:45 PM Vince Harron vi...@nethacker.com
 wrote:

 Author: vharron
 Date: Mon May 18 14:40:54 2015
 New Revision: 237602

 URL: http://llvm.org/viewvc/llvm-project?rev=237602view=rev
 Log:
 Refactored dotest arg parser so that it's accessible from dosep

 This allows dosep to understand an act on dotest arguments

 Differential Revision: http://reviews.llvm.org/D9820


 Added:
 lldb/trunk/test/dotest_args.py
 Modified:
 lldb/trunk/test/dosep.py
 lldb/trunk/test/dotest.py

 Modified: lldb/trunk/test/dosep.py
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=237602r1=237601r2=237602view=diff

 ==
 --- lldb/trunk/test/dosep.py (original)
 +++ lldb/trunk/test/dosep.py Mon May 18 14:40:54 2015
 @@ -25,6 +25,7 @@ import multiprocessing
  import os
  import platform
  import re
 +import dotest_args
  import shlex
  import subprocess
  import sys
 @@ -152,16 +153,16 @@ def walk_and_invoke(test_directory, test

  return (timed_out, failed, passed)

 -def getExpectedTimeouts(dotest_options):
 +def getExpectedTimeouts(platform_name):
  # returns a set of test filenames that might timeout
  # are we running against a remote target?
 -m = re.search('\sremote-(\w+)', dotest_options)
 -if m:
 -target = m.group(1)
 -remote = True
 -else:
 +if platform_name is None:
  target = sys.platform
  remote = False
 +else:
 +m = re.search('remote-(\w+)', platform_name)
 +target = m.group(1)
 +remote = True

  expected_timeout = set()

 @@ -225,7 +226,10 @@ Run lldb test suite using a separate pro
help=The number of threads to use when running
 tests separately.)

  opts, args = parser.parse_args()
 -dotest_options = opts.dotest_options
 +dotest_option_string = opts.dotest_options
 +
 +dotest_argv = shlex.split(dotest_option_string)
 +dotest_options = dotest_args.getArguments(dotest_argv)

  # The root directory was specified on the command line
  if len(args) == 0:
 @@ -245,13 +249,13 @@ Run lldb test suite using a separate pro
  num_threads = 1

  system_info =  .join(platform.uname())
 -(timed_out, failed, passed) = walk_and_invoke(test_directory,
 test_subdir, dotest_options,
 +(timed_out, failed, passed) = walk_and_invoke(test_directory,
 test_subdir, dotest_option_string,
num_threads)
  timed_out = set(timed_out)
  num_tests = len(failed) + len(passed)

  # remove expected timeouts from failures
 -expected_timeout = getExpectedTimeouts(dotest_options)
 +expected_timeout =
 getExpectedTimeouts(dotest_options.lldb_platform_name)
  for xtime in expected_timeout:
  if xtime in timed_out:
  timed_out.remove(xtime)

 Modified: lldb/trunk/test/dotest.py
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=237602r1=237601r2=237602view=diff

 ==
 --- lldb/trunk/test/dotest.py (original)
 +++ lldb/trunk/test/dotest.py Mon May 18 14:40:54 2015
 @@ -22,6 +22,7 @@ for available options.

  import commands
  import os
 +import dotest_args
  import errno
  import platform
  import progress
 @@ -34,26 +35,6 @@ import inspect
  import unittest2
  import lldbtest_config

 -if sys.version_info = (2, 7):
 -argparse = __import__('argparse')
 -else:
 -argparse = __import__('argparse_compat')
 -
 -def parse_args(parser):
 - Returns an argument object. LLDB_TEST_ARGUMENTS environment
 variable can
 -be used to pass additional arguments if a compatible (=2.7)
 argparse
 -library is available.
 -
 -if sys.version_info = (2, 7):
 -args = ArgParseNamespace()
 -
 -if ('LLDB_TEST_ARGUMENTS' in os.environ):
 -print Arguments passed through environment: '%s' %
 os.environ['LLDB_TEST_ARGUMENTS']
 -args =
 parser.parse_args([sys.argv[0]].__add__(os.environ['LLDB_TEST_ARGUMENTS'].split()),namespace=args)
 -
 -return parser.parse_args(namespace=args)
 -else:
 -return parser.parse_args()

  def is_exe(fpath):
  Returns true if fpath is an executable.
 @@ -388,9 +369,6 @@ def unique_string_match(yourentry,list):
 candidate = item
 return candidate

 -class ArgParseNamespace(object):
 -pass
 -
  def validate_categories(categories):
  For each category

[Lldb-commits] [lldb] r237878 - trivial log print fix

2015-05-21 Thread Vince Harron
Author: vharron
Date: Thu May 21 00:57:28 2015
New Revision: 237878

URL: http://llvm.org/viewvc/llvm-project?rev=237878view=rev
Log:
trivial log print fix


Modified:
lldb/trunk/test/dotest.py

Modified: lldb/trunk/test/dotest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=237878r1=237877r2=237878view=diff
==
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Thu May 21 00:57:28 2015
@@ -951,7 +951,7 @@ def setupSysPath():
 lldbtest_config.lldbExec = which('lldb')
 
 if lldbtest_config.lldbExec and not is_exe(lldbtest_config.lldbExec):
-print '{}' is not a path to a valid executable
+print '{}' is not a path to a valid 
executable.format(lldbtest_config.lldbExec)
 del lldbtest_config.lldbExec
 
 if not lldbtest_config.lldbExec:


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237925 - Add logging for XTIMEOUT/UnexpectedSuccess

2015-05-21 Thread Vince Harron
Author: vharron
Date: Thu May 21 13:18:52 2015
New Revision: 237925

URL: http://llvm.org/viewvc/llvm-project?rev=237925view=rev
Log:
Add logging for XTIMEOUT/UnexpectedSuccess

If an expected timeout test times out, touch
session-dir/ExpectedTimeout-test-name

If an expected timeout test passes, touch
session-dir/UnexpectedCompletion-test-name

Differential Revision: http://reviews.llvm.org/D9843


Modified:
lldb/trunk/test/dosep.py

Modified: lldb/trunk/test/dosep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=237925r1=237924r2=237925view=diff
==
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Thu May 21 13:18:52 2015
@@ -190,6 +190,10 @@ def getExpectedTimeouts(platform_name):
 }
 return expected_timeout
 
+def touch(fname, times=None):
+with open(fname, 'a'):
+os.utime(fname, times)
+
 def main():
 # We can't use sys.path[0] to determine the script directory
 # because it doesn't work under a debugger
@@ -238,6 +242,9 @@ Run lldb test suite using a separate pro
 timestamp_started = 
datetime.datetime.now().strftime(%Y-%m-%d-%H_%M_%S)
 dotest_argv.append('-s')
 dotest_argv.append(timestamp_started)
+dotest_options.s = timestamp_started
+
+session_dir = os.path.join(os.getcwd(), dotest_options.s)
 
 # The root directory was specified on the command line
 if len(args) == 0:
@@ -268,6 +275,15 @@ Run lldb test suite using a separate pro
 if xtime in timed_out:
 timed_out.remove(xtime)
 failed.remove(xtime)
+result = ExpectedTimeout
+elif xtime in passed:
+result = UnexpectedCompletion
+else:
+result = None  # failed
+
+if result:
+test_name = os.path.splitext(xtime)[0]
+touch(os.path.join(session_dir, {}-{}.format(result, test_name)))
 
 print Ran %d tests. % num_tests
 if len(failed)  0:


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237921 - TestInlineStepping - made XFAIL more specific

2015-05-21 Thread Vince Harron
Author: vharron
Date: Thu May 21 13:07:16 2015
New Revision: 237921

URL: http://llvm.org/viewvc/llvm-project?rev=237921view=rev
Log:
TestInlineStepping - made XFAIL more specific

Differential Revision: http://reviews.llvm.org/D9828


Modified:
lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py

Modified: lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py?rev=237921r1=237920r2=237921view=diff
==
--- lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py 
(original)
+++ lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py Thu 
May 21 13:07:16 2015
@@ -23,7 +23,8 @@ class TestInlineStepping(TestBase):
 @expectedFailureFreeBSD('llvm.org/pr17214')
 @expectedFailureIcc # Not really a bug.  ICC combines two inlined 
functions.
 @expectedFailureAll(llvm.org/pr23139, oslist=[linux], compiler=gcc, 
compiler_version=[=,4.9], archs=[i386])
-@expectedFailureLinux # failed 1/365 dosep runs, (i386-clang), 
TestInlineStepping.py:237 failed to stop at first breakpoint in main
+# failed 1/365 dosep runs, (i386-clang), TestInlineStepping.py:237 failed 
to stop at first breakpoint in main
+@expectedFailureAll(oslist=[linux], archs=[i386])
 def test_with_dwarf_and_python_api(self):
 Test stepping over and into inlined functions.
 self.buildDwarf()


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237932 - Fixed intermittent failures in TestGdbRemote*/TestLldbGdbServer

2015-05-21 Thread Vince Harron
Author: vharron
Date: Thu May 21 13:54:12 2015
New Revision: 237932

URL: http://llvm.org/viewvc/llvm-project?rev=237932view=rev
Log:
Fixed intermittent failures in TestGdbRemote*/TestLldbGdbServer

test/tools/lldb-server/commandline/Test* were actually executing in
their parent directory. This looks fine at first because they aren't
compiling an inferior executable.

Unfortunately, they still call make clean during their cleanup,
which is likely causing all kinds of havok in tests running in the
parent directory

Differential Revision: http://reviews.llvm.org/D9869


Modified:
lldb/trunk/test/tools/lldb-server/TestGdbRemoteAttach.py
lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py
lldb/trunk/test/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py
lldb/trunk/test/tools/lldb-server/TestGdbRemoteKill.py
lldb/trunk/test/tools/lldb-server/TestGdbRemoteProcessInfo.py
lldb/trunk/test/tools/lldb-server/TestGdbRemoteRegisterState.py
lldb/trunk/test/tools/lldb-server/TestGdbRemoteSingleStep.py
lldb/trunk/test/tools/lldb-server/TestGdbRemoteThreadsInStopReply.py
lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
lldb/trunk/test/tools/lldb-server/TestGdbRemote_vCont.py
lldb/trunk/test/tools/lldb-server/TestLldbGdbServer.py
lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py
lldb/trunk/test/tools/lldb-server/commandline/TestStubSetSID.py
lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemoteAttach.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemoteAttach.py?rev=237932r1=237931r2=237932view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemoteAttach.py (original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemoteAttach.py Thu May 21 
13:54:12 2015
@@ -6,6 +6,8 @@ from lldbtest import *
 
 class TestGdbRemoteAttach(gdbremote_testcase.GdbRemoteTestCaseBase):
 
+mydir = TestBase.compute_mydir(__file__)
+
 def attach_with_vAttach(self):
 # Start the inferior, start the debug monitor, nothing is attached yet.
 procs = 
self.prep_debug_monitor_and_inferior(inferior_args=[sleep:60])

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py?rev=237932r1=237931r2=237932view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py (original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py Thu May 21 
13:54:12 2015
@@ -5,6 +5,8 @@ from lldbtest import *
 
 class TestGdbRemoteAuxvSupport(gdbremote_testcase.GdbRemoteTestCaseBase):
 
+mydir = TestBase.compute_mydir(__file__)
+
 AUXV_SUPPORT_FEATURE_NAME = qXfer:auxv:read
 
 def has_auxv_support(self):

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py?rev=237932r1=237931r2=237932view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py 
(original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py Thu 
May 21 13:54:12 2015
@@ -5,6 +5,8 @@ from lldbtest import *
 
 class 
TestGdbRemoteExpeditedRegisters(gdbremote_testcase.GdbRemoteTestCaseBase):
 
+mydir = TestBase.compute_mydir(__file__)
+
 def gather_expedited_registers(self):
 # Setup the stub and set the gdb remote command stream.
 procs = self.prep_debug_monitor_and_inferior(inferior_args=[sleep:2])

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemoteKill.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemoteKill.py?rev=237932r1=237931r2=237932view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemoteKill.py (original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemoteKill.py Thu May 21 13:54:12 
2015
@@ -6,6 +6,9 @@ import lldbgdbserverutils
 from lldbtest import *
 
 class TestGdbRemoteKill(gdbremote_testcase.GdbRemoteTestCaseBase):
+
+mydir = TestBase.compute_mydir(__file__)
+
 def attach_commandline_kill_after_initial_stop(self):
 procs = self.prep_debug_monitor_and_inferior()
 self.test_sequence.add_log_lines([

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemoteProcessInfo.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemoteProcessInfo.py?rev=237932r1=237931r2=237932view=diff
==
--- 

[Lldb-commits] [lldb] r237926 - dotest.py - log session to a file instead of a StringIO class

2015-05-21 Thread Vince Harron
Author: vharron
Date: Thu May 21 13:20:21 2015
New Revision: 237926

URL: http://llvm.org/viewvc/llvm-project?rev=237926view=rev
Log:
dotest.py - log session to a file instead of a StringIO class

That way, if the test gets killed (by a dosep timeout) we get to see the session
trace

Test Plan:
Run dotest.py
Kill it while it's running, check the session dir for Test* files

Differential Revision: http://reviews.llvm.org/D9845


Modified:
lldb/trunk/test/lldbtest.py

Modified: lldb/trunk/test/lldbtest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=237926r1=237925r2=237926view=diff
==
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Thu May 21 13:20:21 2015
@@ -1145,7 +1145,11 @@ class Base(unittest2.TestCase):
 
 # Create a string buffer to record the session info, to be dumped into 
a
 # test case specific file if test failure is encountered.
-self.session = StringIO.StringIO()
+log_basename = self.getLogBasenameForCurrentTest()
+
+session_file = {}.log.format(log_basename)
+unbuffered = 0 # 0 is the constant for unbuffered
+self.session = open(log_basename, w, unbuffered)
 
 # Optimistically set __errored__, __failed__, __expected__ to False
 # initially.  If the test errored/failed, the session info
@@ -1487,8 +1491,8 @@ class Base(unittest2.TestCase):
 # formatted tracebacks.
 #
 # See http://docs.python.org/library/unittest.html#unittest.TestResult.
-src_log_basename = self.getLogBasenameForCurrentTest()
 
+# output tracebacks into session
 pairs = []
 if self.__errored__:
 pairs = lldb.test_result.errors
@@ -1502,41 +1506,45 @@ class Base(unittest2.TestCase):
 elif self.__skipped__:
 prefix = 'SkippedTest'
 elif self.__unexpected__:
-prefix = UnexpectedSuccess
+prefix = 'UnexpectedSuccess'
 else:
-prefix = Success
-if not lldbtest_config.log_success:
-# delete log files, return (don't output trace)
-for i in glob.glob(src_log_basename + *):
-os.unlink(i)
-return
-
-# rename all log files - prepend with result
-dst_log_basename = self.getLogBasenameForCurrentTest(prefix)
-for src in glob.glob(self.getLogBasenameForCurrentTest() + *):
-dst = src.replace(src_log_basename, dst_log_basename)
-os.rename(src, dst)
+prefix = 'Success'
 
 if not self.__unexpected__ and not self.__skipped__:
 for test, traceback in pairs:
 if test is self:
 print  self.session, traceback
 
+# put footer (timestamp/rerun instructions) into session
 testMethod = getattr(self, self._testMethodName)
 if getattr(testMethod, __benchmarks_test__, False):
 benchmarks = True
 else:
 benchmarks = False
 
-pname = {}.log.format(dst_log_basename)
-with open(pname, w) as f:
-import datetime
-print  f, Session info generated @, 
datetime.datetime.now().ctime()
-print  f, self.session.getvalue()
-print  f, To rerun this test, issue the following command from 
the 'test' directory:\n
-print  f, ./dotest.py %s -v %s %s % (self.getRunOptions(),
- ('+b' if benchmarks else 
'-t'),
- self.getRerunArgs())
+import datetime
+print  self.session, Session info generated @, 
datetime.datetime.now().ctime()
+print  self.session, To rerun this test, issue the following 
command from the 'test' directory:\n
+print  self.session, ./dotest.py %s -v %s %s % 
(self.getRunOptions(),
+ ('+b' if benchmarks else 
'-t'),
+ self.getRerunArgs())
+self.session.close()
+del self.session
+
+# process the log files
+src_log_basename = self.getLogBasenameForCurrentTest()
+log_files_for_this_test = glob.glob(src_log_basename + *)
+
+if prefix != 'Success' or lldbtest_config.log_success:
+# keep all log files, rename them to include prefix
+dst_log_basename = self.getLogBasenameForCurrentTest(prefix)
+for src in log_files_for_this_test:
+dst = src.replace(src_log_basename, dst_log_basename)
+os.rename(src, dst)
+else:
+# success!  (and we don't want log files) delete log files
+for log_file in log_files_for_this_test:
+os.unlink(log_file)
 
 # 
 # Config. methods 

[Lldb-commits] [lldb] r237933 - XPASS a bunch of GdbRemote/LldbGdbServer tests

2015-05-21 Thread Vince Harron
Author: vharron
Date: Thu May 21 13:55:39 2015
New Revision: 237933

URL: http://llvm.org/viewvc/llvm-project?rev=237933view=rev
Log:
XPASS a bunch of GdbRemote/LldbGdbServer tests

Depends on r237932
Fixed intermittent failures in TestGdbRemote*/TestLldbGdbServer

Test Plan:
Ran dosep 100x, no failures in these tests

Differential Revision: http://reviews.llvm.org/D9892


Modified:
lldb/trunk/test/tools/lldb-server/TestGdbRemoteAttach.py
lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py
lldb/trunk/test/tools/lldb-server/TestGdbRemoteRegisterState.py
lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
lldb/trunk/test/tools/lldb-server/TestGdbRemote_vCont.py
lldb/trunk/test/tools/lldb-server/TestLldbGdbServer.py

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemoteAttach.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemoteAttach.py?rev=237933r1=237932r2=237933view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemoteAttach.py (original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemoteAttach.py Thu May 21 
13:55:39 2015
@@ -50,7 +50,6 @@ class TestGdbRemoteAttach(gdbremote_test
 self.set_inferior_startup_attach_manually()
 self.attach_with_vAttach()
 
-@expectedFailureLinux(https://llvm.org/bugs/show_bug.cgi?id=23250;) 
#intermittent failure on the linux build bot
 @llgs_test
 @dwarf_test
 def test_attach_with_vAttach_llgs_dwarf(self):

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py?rev=237933r1=237932r2=237933view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py (original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py Thu May 21 
13:55:39 2015
@@ -112,7 +112,6 @@ class TestGdbRemoteAuxvSupport(gdbremote
 
 @llgs_test
 @dwarf_test
-@expectedFailureLinux('llvm.org/pr22930') # fails 2/34 builds on 
lldb-x86_64-ubuntu-14.04-cmake
 def test_auxv_data_is_correct_size_llgs_dwarf(self):
 self.init_llgs_test()
 self.buildDwarf()
@@ -153,7 +152,6 @@ class TestGdbRemoteAuxvSupport(gdbremote
 
 @llgs_test
 @dwarf_test
-@expectedFailureLinux('http://llvm.org/pr23545') # build failure 1/365 
dosep builds
 def test_auxv_keys_look_valid_llgs_dwarf(self):
 self.init_llgs_test()
 self.buildDwarf()
@@ -201,7 +199,6 @@ class TestGdbRemoteAuxvSupport(gdbremote
 
 @llgs_test
 @dwarf_test
-@expectedFailureLinux('llvm.org/pr22930') # fails 1/34 builds on 
lldb-x86_64-ubuntu-14.04-cmake
 def test_auxv_chunked_reads_work_llgs_dwarf(self):
 self.init_llgs_test()
 self.buildDwarf()

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemoteRegisterState.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemoteRegisterState.py?rev=237933r1=237932r2=237933view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemoteRegisterState.py (original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemoteRegisterState.py Thu May 21 
13:55:39 2015
@@ -100,7 +100,6 @@ class TestGdbRemoteRegisterState(gdbremo
 self.set_inferior_startup_launch()
 self.grp_register_save_restore_works(USE_THREAD_SUFFIX)
 
-@expectedFailureLinux(https://llvm.org/bugs/show_bug.cgi?id=23251;) # 
failing intermittently on the linux build bot
 @llgs_test
 @dwarf_test
 def test_grp_register_save_restore_works_with_suffix_llgs_dwarf(self):

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py?rev=237933r1=237932r2=237933view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py 
(original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py Thu May 
21 13:55:39 2015
@@ -81,7 +81,6 @@ class TestGdbRemote_qThreadStopInfo(gdbr
 
 @debugserver_test
 @dsym_test
-@expectedFailureDarwin # failed 1/134 dosep runs, make MAKE_DSYM=YES 
ARCH=x86_64 CC=clang failed
 def test_qThreadStopInfo_works_for_multiple_threads_debugserver_dsym(self):
 self.init_debugserver_test()
 self.buildDsym()

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemote_vCont.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemote_vCont.py?rev=237933r1=237932r2=237933view=diff
==
--- 

[Lldb-commits] [lldb] r237923 - Modify dosep.py to add default session dir parameter

2015-05-21 Thread Vince Harron
Author: vharron
Date: Thu May 21 13:15:09 2015
New Revision: 237923

URL: http://llvm.org/viewvc/llvm-project?rev=237923view=rev
Log:
Modify dosep.py to add default session dir parameter

This ensures that all spawned dotest instances store their traces
in the same location.

Test Plan:
run dosep.py with and without a -s option for dotest

cd lldb/test
./dosep.py
./dosep.py -o '-s /tmp/traces'

Differential Revision: http://reviews.llvm.org/D9839


Modified:
lldb/trunk/test/dosep.py

Modified: lldb/trunk/test/dosep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=237923r1=237922r2=237923view=diff
==
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Thu May 21 13:15:09 2015
@@ -70,7 +70,7 @@ def call_with_timeout(command, timeout):
 return (ePassed if subprocess.call(command, stdin=subprocess.PIPE) == 0
 else eFailed)
 
-def process_dir(root, files, test_root, dotest_options):
+def process_dir(root, files, test_root, dotest_argv):
 Examine a directory for tests, and invoke any found within it.
 timed_out = []
 failed = []
@@ -87,10 +87,8 @@ def process_dir(root, files, test_root,
 continue
 
 script_file = os.path.join(test_root, dotest.py)
-is_posix = (os.name == posix)
-split_args = shlex.split(dotest_options, posix=is_posix) if 
dotest_options else []
 command = ([sys.executable, script_file] +
-   split_args +
+   dotest_argv +
[-p, name, root])
 
 timeout_name = os.path.basename(os.path.splitext(name)[0]).upper()
@@ -113,10 +111,10 @@ out_q = None
 def process_dir_worker(arg_tuple):
 Worker thread main loop when in multithreaded mode.
 Takes one directory specification at a time and works on it.
-(root, files, test_root, dotest_options) = arg_tuple
-return process_dir(root, files, test_root, dotest_options)
+(root, files, test_root, dotest_argv) = arg_tuple
+return process_dir(root, files, test_root, dotest_argv)
 
-def walk_and_invoke(test_directory, test_subdir, dotest_options, num_threads):
+def walk_and_invoke(test_directory, test_subdir, dotest_argv, num_threads):
 Look for matched files and invoke test driver on each one.
 In single-threaded mode, each test driver is invoked directly.
 In multi-threaded mode, submit each test driver to a worker
@@ -129,7 +127,7 @@ def walk_and_invoke(test_directory, test
 # Collect the test files that we'll run.
 test_work_items = []
 for root, dirs, files in os.walk(test_subdir, topdown=False):
-test_work_items.append((root, files, test_directory, dotest_options))
+test_work_items.append((root, files, test_directory, dotest_argv))
 
 # Run the items, either in a pool (for multicore speedup) or
 # calling each individually.
@@ -229,8 +227,17 @@ Run lldb test suite using a separate pro
 opts, args = parser.parse_args()
 dotest_option_string = opts.dotest_options
 
-dotest_argv = shlex.split(dotest_option_string)
+is_posix = (os.name == posix)
+dotest_argv = shlex.split(dotest_option_string, posix=is_posix) if 
dotest_option_string else []
 dotest_options = dotest_args.getArguments(dotest_argv)
+if not dotest_options.s:
+# no session log directory, we need to add this to prevent
+# every dotest invocation from creating its own directory
+import datetime
+# The windows platforms don't like ':' in the pathname.
+timestamp_started = 
datetime.datetime.now().strftime(%Y-%m-%d-%H_%M_%S)
+dotest_argv.append('-s')
+dotest_argv.append(timestamp_started)
 
 # The root directory was specified on the command line
 if len(args) == 0:
@@ -250,7 +257,7 @@ Run lldb test suite using a separate pro
 num_threads = 1
 
 system_info =  .join(platform.uname())
-(timed_out, failed, passed) = walk_and_invoke(test_directory, test_subdir, 
dotest_option_string,
+(timed_out, failed, passed) = walk_and_invoke(test_directory, test_subdir, 
dotest_argv,
   num_threads)
 timed_out = set(timed_out)
 num_tests = len(failed) + len(passed)


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237928 - Fix lldb executable discovery on OS X

2015-05-21 Thread Vince Harron
Author: vharron
Date: Thu May 21 13:21:07 2015
New Revision: 237928

URL: http://llvm.org/viewvc/llvm-project?rev=237928view=rev
Log:
Fix lldb executable discovery on OS X

It was broken by r237632

Differential Revision: http://reviews.llvm.org/D9846


Modified:
lldb/trunk/test/dotest.py

Modified: lldb/trunk/test/dotest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=237928r1=237927r2=237928view=diff
==
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Thu May 21 13:21:07 2015
@@ -850,7 +850,7 @@ def getOutputPaths(lldbRootDirectory):
 result = []
 
 if sys.platform == 'darwin':
-result.append(getXcodeOutputPaths(lldbRootDirectory))
+result.extend(getXcodeOutputPaths(lldbRootDirectory))
 
 # cmake builds?  look for build or build/host folder next to llvm directory
 # lldb is located in llvm/tools/lldb so we need to go up three levels


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] [TestChangeValueAPI] Remove expectedFailureLinux decorator.

2015-05-21 Thread Vince Harron
Please land it if it's still valid.

On Thu, May 21, 2015 at 11:22 AM, Siva Chandra sivachan...@google.com
wrote:

 After rebasing, this change is now merely a removal of expectedFailureGcc.


 http://reviews.llvm.org/D9116

 Files:
   test/python_api/value/change_values/TestChangeValueAPI.py

 Index: test/python_api/value/change_values/TestChangeValueAPI.py
 ===
 --- test/python_api/value/change_values/TestChangeValueAPI.py
 +++ test/python_api/value/change_values/TestChangeValueAPI.py
 @@ -41,7 +41,6 @@
  self.check_line = line_number('main.c', '// Stop here and check
 values')
  self.end_line = line_number ('main.c', '// Set a breakpoint here
 at the end')

 -@expectedFailureGcc # llvm.org/pr15039: If GCC is the test compiler,
 stdout is not available via lldb.SBProcess.GetSTDOUT()
  @expectedFailureFreeBSD(llvm.org/pr15039 test fails intermittently
 on FreeBSD)
  def change_value_api(self, exe_name):
  Exercise some SBValue APIs.

 EMAIL PREFERENCES
   http://reviews.llvm.org/settings/panel/emailpreferences/

___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237931 - Re-enable packet logging for GdbRemote/LldbServer tests

2015-05-21 Thread Vince Harron
Author: vharron
Date: Thu May 21 13:51:20 2015
New Revision: 237931

URL: http://llvm.org/viewvc/llvm-project?rev=237931view=rev
Log:
Re-enable packet logging for GdbRemote/LldbServer tests

Creates logs in session dir

Differential Revision: http://reviews.llvm.org/D9847


Modified:
lldb/trunk/test/lldbtest.py
lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py

Modified: lldb/trunk/test/lldbtest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=237931r1=237930r2=237931view=diff
==
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Thu May 21 13:51:20 2015
@@ -1145,11 +1145,11 @@ class Base(unittest2.TestCase):
 
 # Create a string buffer to record the session info, to be dumped into 
a
 # test case specific file if test failure is encountered.
-log_basename = self.getLogBasenameForCurrentTest()
+self.log_basename = self.getLogBasenameForCurrentTest()
 
-session_file = {}.log.format(log_basename)
+session_file = {}.log.format(self.log_basename)
 unbuffered = 0 # 0 is the constant for unbuffered
-self.session = open(log_basename, w, unbuffered)
+self.session = open(session_file, w, unbuffered)
 
 # Optimistically set __errored__, __failed__, __expected__ to False
 # initially.  If the test errored/failed, the session info
@@ -1532,14 +1532,13 @@ class Base(unittest2.TestCase):
 del self.session
 
 # process the log files
-src_log_basename = self.getLogBasenameForCurrentTest()
-log_files_for_this_test = glob.glob(src_log_basename + *)
+log_files_for_this_test = glob.glob(self.log_basename + *)
 
 if prefix != 'Success' or lldbtest_config.log_success:
 # keep all log files, rename them to include prefix
 dst_log_basename = self.getLogBasenameForCurrentTest(prefix)
 for src in log_files_for_this_test:
-dst = src.replace(src_log_basename, dst_log_basename)
+dst = src.replace(self.log_basename, dst_log_basename)
 os.rename(src, dst)
 else:
 # success!  (and we don't want log files) delete log files

Modified: lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py?rev=237931r1=237930r2=237931view=diff
==
--- lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py (original)
+++ lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py Thu May 21 13:51:20 
2015
@@ -168,6 +168,11 @@ class GdbRemoteTestCaseBase(TestBase):
 self.skipTest(lldb-server exe not found)
 
 self.debug_monitor_extra_args = [gdbserver]
+
+if len(lldbtest_config.channels)  0:
+
self.debug_monitor_extra_args.append(--log-file={}-server.log.format(self.log_basename))
+
self.debug_monitor_extra_args.append(--log-channels={}.format(:.join(lldbtest_config.channels)))
+
 if use_named_pipe:
 (self.named_pipe_path, self.named_pipe, self.named_pipe_fd) = 
self.create_named_pipe()
 
@@ -175,7 +180,7 @@ class GdbRemoteTestCaseBase(TestBase):
 self.debug_monitor_exe = get_debugserver_exe()
 if not self.debug_monitor_exe:
 self.skipTest(debugserver exe not found)
-self.debug_monitor_extra_args = 
[--log-file=/tmp/packets-{}.log.format(self._testMethodName), 
--log-flags=0x80]
+self.debug_monitor_extra_args = 
[--log-file={}-server.log.format(self.log_basename), --log-flags=0x80]
 if use_named_pipe:
 (self.named_pipe_path, self.named_pipe, self.named_pipe_fd) = 
self.create_named_pipe()
 # The debugserver stub has a race on handling the 'k' command, so it 
sends an X09 right away, then sends the real X notification


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r237946 - Don't import module `lock` at global scope.

2015-05-21 Thread Vince Harron
Sorry for the break, thanks for the fix/lesson.

On Thu, May 21, 2015 at 1:16 PM, Zachary Turner ztur...@google.com wrote:

 Author: zturner
 Date: Thu May 21 15:16:02 2015
 New Revision: 237946

 URL: http://llvm.org/viewvc/llvm-project?rev=237946view=rev
 Log:
 Don't import module `lock` at global scope.

 `lock` depends on `fcntl`, which doesn't exist on Windows.  Until
 someone implements an equivalent locking mechanism on Windows, we
 can't have lock imported globally.

 Modified:
 lldb/trunk/test/lldbtest.py

 Modified: lldb/trunk/test/lldbtest.py
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=237946r1=237945r2=237946view=diff

 ==
 --- lldb/trunk/test/lldbtest.py (original)
 +++ lldb/trunk/test/lldbtest.py Thu May 21 15:16:02 2015
 @@ -33,7 +33,6 @@ $

  import abc
  import glob
 -import lock
  import os, sys, traceback
  import os.path
  import re
 @@ -961,6 +960,7 @@ class Base(unittest2.TestCase):
  os.chdir(os.path.join(os.environ[LLDB_TEST], cls.mydir))

  if debug_confirm_directory_exclusivity:
 +import lock
  cls.dir_lock = lock.Lock(os.path.join(full_dir, .dirlock))
  try:
  cls.dir_lock.try_acquire()


 ___
 lldb-commits mailing list
 lldb-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r237888 - XFAIL TestEvents on Linux bacuse it is flaky

2015-05-21 Thread Vince Harron
It is very important to put a comment next to the XFAIL that describes the
frequency.  For example, this fails for me in 1/100 dosep runs.

That way, someone investigating doesn't try it a few times and re-enable.

If you are going to modify the comment for this test, please link a bug
because I have some logs from a fail run I'd like to attach.
On May 21, 2015 3:23 AM, Tamas Berghammer tbergham...@google.com wrote:

 Author: tberghammer
 Date: Thu May 21 05:16:55 2015
 New Revision: 237888

 URL: http://llvm.org/viewvc/llvm-project?rev=237888view=rev
 Log:
 XFAIL TestEvents on Linux bacuse it is flaky

 Modified:
 lldb/trunk/test/python_api/event/TestEvents.py

 Modified: lldb/trunk/test/python_api/event/TestEvents.py
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/test/python_api/event/TestEvents.py?rev=237888r1=237887r2=237888view=diff

 ==
 --- lldb/trunk/test/python_api/event/TestEvents.py (original)
 +++ lldb/trunk/test/python_api/event/TestEvents.py Thu May 21 05:16:55 2015
 @@ -54,6 +54,7 @@ class EventAPITestCase(TestBase):
  @skipIfFreeBSD # llvm.org/pr21325
  @python_api_test
  @dwarf_test
 +@expectedFailureLinux
  def test_add_listener_to_broadcaster_with_dwarf(self):
  Exercise some SBBroadcaster APIs.
  self.buildDwarf()


 ___
 lldb-commits mailing list
 lldb-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r237602 - Refactored dotest arg parser so that it's accessible from dosep

2015-05-21 Thread Vince Harron
Yeah, on it.

On Thu, May 21, 2015 at 4:03 PM, Zachary Turner ztur...@google.com wrote:

 This breaks dotest.py --help, and many other command line options.

 Would you mind fixing this?  I took a stab at it but it turns out to be a
 little more involved than I have time for.

 On Mon, May 18, 2015 at 12:45 PM Vince Harron vi...@nethacker.com wrote:

 Author: vharron
 Date: Mon May 18 14:40:54 2015
 New Revision: 237602

 URL: http://llvm.org/viewvc/llvm-project?rev=237602view=rev
 Log:
 Refactored dotest arg parser so that it's accessible from dosep

 This allows dosep to understand an act on dotest arguments

 Differential Revision: http://reviews.llvm.org/D9820


 Added:
 lldb/trunk/test/dotest_args.py
 Modified:
 lldb/trunk/test/dosep.py
 lldb/trunk/test/dotest.py

 Modified: lldb/trunk/test/dosep.py
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=237602r1=237601r2=237602view=diff

 ==
 --- lldb/trunk/test/dosep.py (original)
 +++ lldb/trunk/test/dosep.py Mon May 18 14:40:54 2015
 @@ -25,6 +25,7 @@ import multiprocessing
  import os
  import platform
  import re
 +import dotest_args
  import shlex
  import subprocess
  import sys
 @@ -152,16 +153,16 @@ def walk_and_invoke(test_directory, test

  return (timed_out, failed, passed)

 -def getExpectedTimeouts(dotest_options):
 +def getExpectedTimeouts(platform_name):
  # returns a set of test filenames that might timeout
  # are we running against a remote target?
 -m = re.search('\sremote-(\w+)', dotest_options)
 -if m:
 -target = m.group(1)
 -remote = True
 -else:
 +if platform_name is None:
  target = sys.platform
  remote = False
 +else:
 +m = re.search('remote-(\w+)', platform_name)
 +target = m.group(1)
 +remote = True

  expected_timeout = set()

 @@ -225,7 +226,10 @@ Run lldb test suite using a separate pro
help=The number of threads to use when running
 tests separately.)

  opts, args = parser.parse_args()
 -dotest_options = opts.dotest_options
 +dotest_option_string = opts.dotest_options
 +
 +dotest_argv = shlex.split(dotest_option_string)
 +dotest_options = dotest_args.getArguments(dotest_argv)

  # The root directory was specified on the command line
  if len(args) == 0:
 @@ -245,13 +249,13 @@ Run lldb test suite using a separate pro
  num_threads = 1

  system_info =  .join(platform.uname())
 -(timed_out, failed, passed) = walk_and_invoke(test_directory,
 test_subdir, dotest_options,
 +(timed_out, failed, passed) = walk_and_invoke(test_directory,
 test_subdir, dotest_option_string,
num_threads)
  timed_out = set(timed_out)
  num_tests = len(failed) + len(passed)

  # remove expected timeouts from failures
 -expected_timeout = getExpectedTimeouts(dotest_options)
 +expected_timeout =
 getExpectedTimeouts(dotest_options.lldb_platform_name)
  for xtime in expected_timeout:
  if xtime in timed_out:
  timed_out.remove(xtime)

 Modified: lldb/trunk/test/dotest.py
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=237602r1=237601r2=237602view=diff

 ==
 --- lldb/trunk/test/dotest.py (original)
 +++ lldb/trunk/test/dotest.py Mon May 18 14:40:54 2015
 @@ -22,6 +22,7 @@ for available options.

  import commands
  import os
 +import dotest_args
  import errno
  import platform
  import progress
 @@ -34,26 +35,6 @@ import inspect
  import unittest2
  import lldbtest_config

 -if sys.version_info = (2, 7):
 -argparse = __import__('argparse')
 -else:
 -argparse = __import__('argparse_compat')
 -
 -def parse_args(parser):
 - Returns an argument object. LLDB_TEST_ARGUMENTS environment
 variable can
 -be used to pass additional arguments if a compatible (=2.7)
 argparse
 -library is available.
 -
 -if sys.version_info = (2, 7):
 -args = ArgParseNamespace()
 -
 -if ('LLDB_TEST_ARGUMENTS' in os.environ):
 -print Arguments passed through environment: '%s' %
 os.environ['LLDB_TEST_ARGUMENTS']
 -args =
 parser.parse_args([sys.argv[0]].__add__(os.environ['LLDB_TEST_ARGUMENTS'].split()),namespace=args)
 -
 -return parser.parse_args(namespace=args)
 -else:
 -return parser.parse_args()

  def is_exe(fpath):
  Returns true if fpath is an executable.
 @@ -388,9 +369,6 @@ def unique_string_match(yourentry,list):
 candidate = item
 return candidate

 -class ArgParseNamespace(object):
 -pass
 -
  def validate_categories(categories):
  For each category in categories, ensure that it's a valid
 category (or a prefix thereof).
 If a category is invalid, print a message

[Lldb-commits] [lldb] r237935 - dotest.py - debug feature that helps find dosep races

2015-05-21 Thread Vince Harron
Author: vharron
Date: Thu May 21 14:09:29 2015
New Revision: 237935

URL: http://llvm.org/viewvc/llvm-project?rev=237935view=rev
Log:
dotest.py - debug feature that helps find dosep races

SUMMARY
dosep.py starts lots and lots of dotest instances.

This option helps you find if two (or more) dotest instances are using
the same directory at the same time.

Enable it to cause test failures and stderr messages if dotest
instances try to run in the same directory simultaneously.

It is disabled by default because it litters the test directories with
.dirlock files

TEST PLAN
Set lldbtest.debug_confirm_directory_exclusivity = True
run ./dosep.py

Differential Revision: http://reviews.llvm.org/D9868


Modified:
lldb/trunk/test/lldbtest.py
lldb/trunk/test/lock.py

Modified: lldb/trunk/test/lldbtest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=237935r1=237934r2=237935view=diff
==
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Thu May 21 14:09:29 2015
@@ -33,6 +33,7 @@ $
 
 import abc
 import glob
+import lock
 import os, sys, traceback
 import os.path
 import re
@@ -47,6 +48,14 @@ import lldbtest_config
 import lldbutil
 from _pyio import __metaclass__
 
+# dosep.py starts lots and lots of dotest instances
+# This option helps you find if two (or more) dotest instances are using the 
same
+# directory at the same time
+# Enable it to cause test failures and stderr messages if dotest instances try 
to run in
+# the same directory simultaneously
+# it is disabled by default because it litters the test directories with 
.dirlock files
+debug_confirm_directory_exclusivity = False
+
 # See also dotest.parseOptionsAndInitTestdirs(), where the environment 
variables
 # LLDB_COMMAND_TRACE and LLDB_DO_CLEANUP are set from '-t' and '-r dir' 
options.
 
@@ -936,7 +945,6 @@ class Base(unittest2.TestCase):
 Python unittest framework class setup fixture.
 Do current directory manipulation.
 
-
 # Fail fast if 'mydir' attribute is not overridden.
 if not cls.mydir or len(cls.mydir) == 0:
 raise Exception(Subclasses must override the 'mydir' attribute.)
@@ -947,10 +955,26 @@ class Base(unittest2.TestCase):
 # Change current working directory if ${LLDB_TEST} is defined.
 # See also dotest.py which sets up ${LLDB_TEST}.
 if (LLDB_TEST in os.environ):
+full_dir = os.path.join(os.environ[LLDB_TEST], cls.mydir)
 if traceAlways:
-print  sys.stderr, Change dir to:, 
os.path.join(os.environ[LLDB_TEST], cls.mydir)
+print  sys.stderr, Change dir to:, full_dir
 os.chdir(os.path.join(os.environ[LLDB_TEST], cls.mydir))
 
+if debug_confirm_directory_exclusivity:
+cls.dir_lock = lock.Lock(os.path.join(full_dir, .dirlock))
+try:
+cls.dir_lock.try_acquire()
+# write the class that owns the lock into the lock file
+cls.dir_lock.handle.write(cls.__name__)
+except IOError as ioerror:
+# nothing else should have this directory lock
+# wait here until we get a lock
+cls.dir_lock.acquire()
+# read the previous owner from the lock file
+lock_id = cls.dir_lock.handle.read()
+print  sys.stderr, LOCK ERROR: {} wants to lock '{}' but it 
is already locked by '{}'.format(cls.__name__, full_dir, lock_id)
+raise ioerror
+
 # Set platform context.
 if platformIsDarwin():
 cls.platformContext = _PlatformContext('DYLD_LIBRARY_PATH', 'lib', 
'dylib')
@@ -982,6 +1006,10 @@ class Base(unittest2.TestCase):
 exc_type, exc_value, exc_tb = sys.exc_info()
 traceback.print_exception(exc_type, exc_value, exc_tb)
 
+if debug_confirm_directory_exclusivity:
+cls.dir_lock.release()
+del cls.dir_lock
+
 # Restore old working directory.
 if traceAlways:
 print  sys.stderr, Restore dir to:, cls.oldcwd

Modified: lldb/trunk/test/lock.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lock.py?rev=237935r1=237934r2=237935view=diff
==
--- lldb/trunk/test/lock.py (original)
+++ lldb/trunk/test/lock.py Thu May 21 14:09:29 2015
@@ -10,12 +10,16 @@ class Lock:
 def __init__(self, filename):
 self.filename = filename
 # This will create it if it does not exist already
-self.handle = open(filename, 'w')
+unbuffered = 0
+self.handle = open(filename, 'a+', unbuffered)
 
-# Bitwise OR fcntl.LOCK_NB if you need a non-blocking lock
 def acquire(self):
 fcntl.flock(self.handle, fcntl.LOCK_EX)
 
+# will throw IOError if unavailable
+def 

Re: [Lldb-commits] Relanding - Enable multithreaded debugging on Windows.

2015-05-21 Thread Vince Harron
 I can't reproduce this buildbot failure on my local Linux machine.  Do
you know exactly which buildbot reported the failure?

lldb-x86_64-ubuntu-14.04-cmake

 It's as if the patch didn't remove the old main.c.

 I've since re-landed the Windows portion of this patch, and everything
has remained green.  I'm therefore going to try the common changes again.
If it breaks this time, I want to force the buildbot to do a clean build.
If it still breaks, I'll revert.

Okay.  I think we do a clean checkout every build FWIW
___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r235280 - Fix LLDB ARM GCC4.7 broken build

2015-05-19 Thread Vince Harron
JFYI, we are focusing our efforts around gcc 4.9 and 4.8

4.7 failures can be XFAIL'd for now as far as we're concerned.


On Sun, Apr 19, 2015 at 2:36 PM, Omair Javaid omair.jav...@linaro.org
wrote:

 Author: omjavaid
 Date: Sun Apr 19 16:36:06 2015
 New Revision: 235280

 URL: http://llvm.org/viewvc/llvm-project?rev=235280view=rev
 Log:
 Fix LLDB ARM GCC4.7 broken build

 Modified:
 lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp

 Modified: lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp?rev=235280r1=235279r2=235280view=diff

 ==
 --- lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp
 (original)
 +++ lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp Sun Apr
 19 16:36:06 2015
 @@ -3956,7 +3956,7 @@ NativeProcessLinux::SingleStep(lldb::tid
  if (error.Fail())
  return error;

 -m_threads_stepping_with_breakpoint.emplace(tid, next_pc);
 +m_threads_stepping_with_breakpoint.insert({tid, next_pc});

  error = Resume(tid, signo);
  if (error.Fail())


 ___
 lldb-commits mailing list
 lldb-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237600 - Refactored lldb executable name discovery

2015-05-18 Thread Vince Harron
Author: vharron
Date: Mon May 18 14:39:03 2015
New Revision: 237600

URL: http://llvm.org/viewvc/llvm-project?rev=237600view=rev
Log:
Refactored lldb executable name discovery

The lldb executable was referenced through the code by 7 different
(effectively) global variables.

global lldbExecutablePath
global lldbExecutable
os.environ['LLDB_EXEC']
os.environ['LLDB_TEST']
dotest.lldbExec
dotest.lldbHere
lldbtest.lldbExec

This change uses one global variable lldbtest_config.lldbExec to
replace them all.

Differential Revision: http://reviews.llvm.org/D9817


Modified:
lldb/trunk/test/benchmarks/disassembly/TestDisassembly.py
lldb/trunk/test/benchmarks/disassembly/TestDoAttachThenDisassembly.py
lldb/trunk/test/benchmarks/disassembly/TestXcode41Vs42GDBDisassembly.py
lldb/trunk/test/benchmarks/expression/TestExpressionCmd.py
lldb/trunk/test/benchmarks/expression/TestRepeatedExprs.py
lldb/trunk/test/benchmarks/frame_variable/TestFrameVariableResponse.py
lldb/trunk/test/benchmarks/startup/TestStartupDelays.py
lldb/trunk/test/benchmarks/stepping/TestRunHooksThenSteppings.py
lldb/trunk/test/benchmarks/stepping/TestSteppingSpeed.py

lldb/trunk/test/benchmarks/turnaround/TestCompileRunToBreakpointTurnaround.py
lldb/trunk/test/dotest.py
lldb/trunk/test/driver/batch_mode/TestBatchMode.py
lldb/trunk/test/functionalities/command_regex/TestCommandRegex.py
lldb/trunk/test/functionalities/completion/TestCompletion.py

lldb/trunk/test/functionalities/embedded_interpreter/TestConvenienceVariables.py
lldb/trunk/test/functionalities/format/TestFormats.py

lldb/trunk/test/functionalities/single-quote-in-filename-to-lldb/TestSingleQuoteInFilename.py
lldb/trunk/test/functionalities/stop-hook/TestStopHookMechanism.py

lldb/trunk/test/functionalities/stop-hook/multiple_threads/TestStopHookMultipleThreads.py
lldb/trunk/test/lldbpexpect.py
lldb/trunk/test/lldbtest.py
lldb/trunk/test/lldbtest_config.py
lldb/trunk/test/terminal/TestSTTYBeforeAndAfter.py
lldb/trunk/test/tools/lldb-server/lldbgdbserverutils.py

Modified: lldb/trunk/test/benchmarks/disassembly/TestDisassembly.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/benchmarks/disassembly/TestDisassembly.py?rev=237600r1=237599r2=237600view=diff
==
--- lldb/trunk/test/benchmarks/disassembly/TestDisassembly.py (original)
+++ lldb/trunk/test/benchmarks/disassembly/TestDisassembly.py Mon May 18 
14:39:03 2015
@@ -15,7 +15,7 @@ class DisassembleDriverMainLoop(BenchBas
 
 def setUp(self):
 
-Note that lldbExec can be specified with the LLDB_EXEC env variable 
(see
+Note that lldbtest_config.lldbExec can be specified with the LLDB_EXEC 
env variable (see
 dotest.py), and gdbExec can be specified with the GDB_EXEC env 
variable.
 This provides a flexibility in specifying different versions of gdb for
 comparison purposes.
@@ -28,7 +28,7 @@ class DisassembleDriverMainLoop(BenchBas
 else:
 self.gdbExec = gdb
 
-self.exe = self.lldbHere
+self.exe = lldbtest_config.lldbExec
 self.function = 'Driver::MainLoop()'
 self.lldb_avg = None
 self.gdb_avg = None
@@ -41,7 +41,7 @@ class DisassembleDriverMainLoop(BenchBas
 def test_run_lldb_then_gdb(self):
 Test disassembly on a large function with lldb vs. gdb.
 print
-print lldb path: %s % self.lldbExec
+print lldb path: %s % lldbtest_config.lldbExec
 print gdb path: %s % self.gdbExec
 
 print
@@ -56,7 +56,7 @@ class DisassembleDriverMainLoop(BenchBas
 def test_run_gdb_then_lldb(self):
 Test disassembly on a large function with lldb vs. gdb.
 print
-print lldb path: %s % self.lldbExec
+print lldb path: %s % lldbtest_config.lldbExec
 print gdb path: %s % self.gdbExec
 
 print
@@ -73,7 +73,7 @@ class DisassembleDriverMainLoop(BenchBas
 prompt = self.child_prompt
 
 # So that the child gets torn down after the test.
-self.child = pexpect.spawn('%s %s %s' % (self.lldbExec, 
self.lldbOption, exe))
+self.child = pexpect.spawn('%s %s %s' % (lldbtest_config.lldbExec, 
self.lldbOption, exe))
 child = self.child
 
 # Turn on logging for what the child sends back.

Modified: lldb/trunk/test/benchmarks/disassembly/TestDoAttachThenDisassembly.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/benchmarks/disassembly/TestDoAttachThenDisassembly.py?rev=237600r1=237599r2=237600view=diff
==
--- lldb/trunk/test/benchmarks/disassembly/TestDoAttachThenDisassembly.py 
(original)
+++ lldb/trunk/test/benchmarks/disassembly/TestDoAttachThenDisassembly.py Mon 
May 18 14:39:03 2015
@@ -16,7 +16,7 @@ class AttachThenDisassemblyBench(BenchBa
 if 

[Lldb-commits] [lldb] r237603 - Fixes errors in remote tests

2015-05-18 Thread Vince Harron
Author: vharron
Date: Mon May 18 14:44:19 2015
New Revision: 237603

URL: http://llvm.org/viewvc/llvm-project?rev=237603view=rev
Log:
Fixes errors in remote tests


Modified:
lldb/trunk/test/tools/lldb-server/lldbgdbserverutils.py

Modified: lldb/trunk/test/tools/lldb-server/lldbgdbserverutils.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/lldbgdbserverutils.py?rev=237603r1=237602r2=237603view=diff
==
--- lldb/trunk/test/tools/lldb-server/lldbgdbserverutils.py (original)
+++ lldb/trunk/test/tools/lldb-server/lldbgdbserverutils.py Mon May 18 14:44:19 
2015
@@ -67,7 +67,7 @@ def get_lldb_server_exe():
 if LLDB_DEBUGSERVER_PATH in os.environ:
 return os.environ[LLDB_DEBUGSERVER_PATH]
 
-return _get_debug_monitor_from_lldb(lldb_exe, lldb-server)
+return _get_debug_monitor_from_lldb(lldbtest_config.lldbExec, 
lldb-server)
 
 def get_debugserver_exe():
 Return the debugserver exe path.


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237665 - dotest - minor doc fix

2015-05-18 Thread Vince Harron
Author: vharron
Date: Tue May 19 00:10:22 2015
New Revision: 237665

URL: http://llvm.org/viewvc/llvm-project?rev=237665view=rev
Log:
dotest - minor doc fix


Modified:
lldb/trunk/test/dotest.py

Modified: lldb/trunk/test/dotest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=237665r1=237664r2=237665view=diff
==
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Tue May 19 00:10:22 2015
@@ -333,9 +333,9 @@ $ ./dotest.py --channel lldb all --cha
 
 These log files are written to:
 
-session-dir/test-id.log (logs from lldb host process)
+session-dir/test-id-host.log (logs from lldb host process)
 session-dir/test-id-server.log (logs from debugserver/lldb-server)
-session-dir/test-id-trace-test-result.log (console logs)
+session-dir/test-id-test-result.log (console logs)
 
 By default, logs from successful runs are deleted.  Use the --log-success flag
 to create reference logs for debugging.


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237632 - Make it possible to run dotest on Linux without any parameters

2015-05-18 Thread Vince Harron
Author: vharron
Date: Mon May 18 18:07:18 2015
New Revision: 237632

URL: http://llvm.org/viewvc/llvm-project?rev=237632view=rev
Log:
Make it possible to run dotest on Linux without any parameters

dotest will select clang-3.5 by default and fall back on clang/gcc
dotest will look for the lldb executable in the typical cmake
output locations:
{lldb}/../../../build/bin (next to llvm directory)
{lldb}/../../../build/host/bin (next to llvm directory)
{lldb}/../build/bin (next to lldb directory)
{lldb}/../build/host/bin (next to lldb directory)


Modified:
lldb/trunk/test/dotest.py

Modified: lldb/trunk/test/dotest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=237632r1=237631r2=237632view=diff
==
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Mon May 18 18:07:18 2015
@@ -523,7 +523,12 @@ def parseOptionsAndInitTestdirs():
 if platform_system == 'Darwin' and args.apple_sdk:
 compilers = [commands.getoutput('xcrun -sdk %s -find clang 2 
/dev/null' % (args.apple_sdk))]
 else:
-compilers = ['clang']
+# 'clang' on ubuntu 14.04 is 3.4 so we try clang-3.5 first
+candidateCompilers = ['clang-3.5', 'clang', 'gcc']
+for candidate in candidateCompilers:
+if which(candidate):
+compilers = [candidate]
+break
 
 if args.channels:
 lldbtest_config.channels = args.channels
@@ -845,13 +850,18 @@ def getOutputPaths(lldbRootDirectory):
 result = []
 
 if sys.platform == 'darwin':
-result.extend(getXcodeOutputPaths(lldbRootDirectory))
+result.append(getXcodeOutputPaths(lldbRootDirectory))
 
 # cmake builds?  look for build or build/host folder next to llvm directory
-# lldb is located in llvm/tools/lldb
+# lldb is located in llvm/tools/lldb so we need to go up three levels
 llvmParentDir = os.path.abspath(os.path.join(lldbRootDirectory, os.pardir, 
os.pardir, os.pardir))
-result.extend(os.path.join(llvmParentDir, 'build', 'bin'))
-result.extend(os.path.join(llvmParentDir, 'build', 'host', 'bin'))
+result.append(os.path.join(llvmParentDir, 'build', 'bin'))
+result.append(os.path.join(llvmParentDir, 'build', 'host', 'bin'))
+
+# some cmake developers keep their build directory beside their lldb 
directory
+lldbParentDir = os.path.abspath(os.path.join(lldbRootDirectory, os.pardir))
+result.append(os.path.join(lldbParentDir, 'build', 'bin'))
+result.append(os.path.join(lldbParentDir, 'build', 'host', 'bin'))
 
 return result
 


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237543 - XFAIL'd some flakey tests on Darwin

2015-05-17 Thread Vince Harron
Author: vharron
Date: Sun May 17 10:32:14 2015
New Revision: 237543

URL: http://llvm.org/viewvc/llvm-project?rev=237543view=rev
Log:
XFAIL'd some flakey tests on Darwin


Modified:
lldb/trunk/test/expression_command/timeout/TestCallWithTimeout.py
lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
lldb/trunk/test/tools/lldb-server/TestGdbRemote_vCont.py
lldb/trunk/test/types/TestFloatTypes.py

Modified: lldb/trunk/test/expression_command/timeout/TestCallWithTimeout.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/expression_command/timeout/TestCallWithTimeout.py?rev=237543r1=237542r2=237543view=diff
==
--- lldb/trunk/test/expression_command/timeout/TestCallWithTimeout.py (original)
+++ lldb/trunk/test/expression_command/timeout/TestCallWithTimeout.py Sun May 
17 10:32:14 2015
@@ -21,6 +21,7 @@ class ExprCommandWithTimeoutsTestCase(Te
 
 @skipUnlessDarwin
 @dsym_test
+@expectedFailureDarwin # failed 1/134 runs, line 83, value.IsValid() 
 def test_with_dsym(self):
 Test calling std::String member function.
 self.buildDsym()

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py?rev=237543r1=237542r2=237543view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py 
(original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py Sun May 
17 10:32:14 2015
@@ -80,6 +80,7 @@ class TestGdbRemote_qThreadStopInfo(gdbr
 
 @debugserver_test
 @dsym_test
+@expectedFailureDarwin # failed 1/134 dosep runs, make MAKE_DSYM=YES 
ARCH=x86_64 CC=clang failed
 def test_qThreadStopInfo_works_for_multiple_threads_debugserver_dsym(self):
 self.init_debugserver_test()
 self.buildDsym()

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemote_vCont.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemote_vCont.py?rev=237543r1=237542r2=237543view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemote_vCont.py (original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemote_vCont.py Sun May 17 
10:32:14 2015
@@ -106,6 +106,7 @@ class TestGdbRemote_vCont(gdbremote_test
 
 @debugserver_test
 @dsym_test
+@expectedFailureDarwin('http://llvm.org/pr23550') # failed 6/134 dosep runs
 def 
test_single_step_only_steps_one_instruction_with_vCont_s_thread_debugserver_dsym(self):
 self.init_debugserver_test()
 self.buildDsym()

Modified: lldb/trunk/test/types/TestFloatTypes.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/types/TestFloatTypes.py?rev=237543r1=237542r2=237543view=diff
==
--- lldb/trunk/test/types/TestFloatTypes.py (original)
+++ lldb/trunk/test/types/TestFloatTypes.py Sun May 17 10:32:14 2015
@@ -38,6 +38,7 @@ class FloatTypesTestCase(AbstractBase.Ge
 
 @skipUnlessDarwin
 @dsym_test
+@expectedFailureDarwin # failed 1/140 runs 'frame variable --show-types 
a_union_nonzero_ref.u.a' matches the output (from compiled code): 11001110
 def test_double_type_with_dsym(self):
 Test that double-type variables are displayed correctly.
 self.build_and_run('double.cpp', set(['double']))


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237515 - XFAIL'd some tests that fail very, very rarely

2015-05-16 Thread Vince Harron
Author: vharron
Date: Sat May 16 02:05:15 2015
New Revision: 237515

URL: http://llvm.org/viewvc/llvm-project?rev=237515view=rev
Log:
XFAIL'd some tests that fail very, very rarely


Modified:
lldb/trunk/test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py
lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py
lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py

Modified: 
lldb/trunk/test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py?rev=237515r1=237514r2=237515view=diff
==
--- lldb/trunk/test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py 
(original)
+++ lldb/trunk/test/functionalities/expr-doesnt-deadlock/TestExprDoesntBlock.py 
Sat May 16 02:05:15 2015
@@ -24,6 +24,7 @@ class ExprDoesntDeadlockTestCase(TestBas
 
 @dwarf_test
 @expectedFailureFreeBSD('llvm.org/pr17946')
+@expectedFailureLinux # failed 1/365 test runs, line 61, thread.IsValid()
 def test_with_dwarf_and_run_command(self):
 Test that expr will time out and allow other threads to run if it 
blocks.
 self.buildDwarf()

Modified: lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py?rev=237515r1=237514r2=237515view=diff
==
--- lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py 
(original)
+++ lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py Sat 
May 16 02:05:15 2015
@@ -23,6 +23,7 @@ class TestInlineStepping(TestBase):
 @expectedFailureFreeBSD('llvm.org/pr17214')
 @expectedFailureIcc # Not really a bug.  ICC combines two inlined 
functions.
 @expectedFailureAll(llvm.org/pr23139, oslist=[linux], compiler=gcc, 
compiler_version=[=,4.9], archs=[i386])
+@expectedFailureLinux # failed 1/365 dosep runs, (i386-clang), 
TestInlineStepping.py:237 failed to stop at first breakpoint in main
 def test_with_dwarf_and_python_api(self):
 Test stepping over and into inlined functions.
 self.buildDwarf()

Modified: lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py?rev=237515r1=237514r2=237515view=diff
==
--- lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py (original)
+++ lldb/trunk/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py Sat May 16 
02:05:15 2015
@@ -151,6 +151,7 @@ class TestGdbRemoteAuxvSupport(gdbremote
 
 @llgs_test
 @dwarf_test
+@expectedFailureLinux('http://llvm.org/pr23545') # build failure 1/365 
dosep builds
 def test_auxv_keys_look_valid_llgs_dwarf(self):
 self.init_llgs_test()
 self.buildDwarf()


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [lldb] r237454 - Improve the MiVarTestCase.test_lldbmi_var_list_children test (MI)

2015-05-15 Thread Vince Harron
XFAIL'd MiVarTestCase.test_lldbmi_eval on gcc-4.9/i386

It times out on TestMyVar:113

self.expect(\^done,value=\0x[0-9a-f]+\)


On Fri, May 15, 2015 at 2:07 PM, Vince Harron vi...@nethacker.com wrote:

 Please let us know if you need help.

 On Fri, May 15, 2015 at 2:02 PM, Vince Harron vi...@nethacker.com wrote:

 Hi Illia,

 This appears to have broken Linux i386 gcc 4.9.2


 http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/2419

 Is it a quick fix?

 If not, can you roll back?

 Thanks,

 Vince


 On Fri, May 15, 2015 at 9:13 AM, Ilia K ki.s...@gmail.com wrote:

 Author: ki.stfu
 Date: Fri May 15 11:13:51 2015
 New Revision: 237454

 URL: http://llvm.org/viewvc/llvm-project?rev=237454view=rev
 Log:
 Improve the MiVarTestCase.test_lldbmi_var_list_children test (MI)

 Modified:
 lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py
 lldb/trunk/test/tools/lldb-mi/variable/main.cpp

 Modified: lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py?rev=237454r1=237453r2=237454view=diff

 ==
 --- lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py (original)
 +++ lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py Fri May 15
 11:13:51 2015
 @@ -239,8 +239,8 @@ class MiVarTestCase(lldbmi_testcase.MiTe
  self.runCmd(-file-exec-and-symbols %s % self.myexe)
  self.expect(\^done)

 -# Run to BP_var_list_children
 -line = line_number('main.cpp', '// BP_var_list_children')
 +# Run to BP_var_list_children_test
 +line = line_number('main.cpp', '// BP_var_list_children_test')
  self.runCmd(-break-insert main.cpp:%d % line)
  self.expect(\^done,bkpt={number=\1\)
  self.runCmd(-exec-run)
 @@ -252,6 +252,8 @@ class MiVarTestCase(lldbmi_testcase.MiTe

  
 self.expect(\^done,name=\var_complx\,numchild=\3\,value=\\{\.\.\.\}\,type=\complex_type\,thread-id=\1\,has_more=\0\)
  self.runCmd(-var-create var_complx_array * complx_array)

  
 self.expect(\^done,name=\var_complx_array\,numchild=\2\,value=\\[2\]\,type=\complex_type
 \[2\]\,thread-id=\1\,has_more=\0\)
 +self.runCmd(-var-create var_pcomplx * pcomplx)
 +
 self.expect(\^done,name=\var_pcomplx\,numchild=\2\,value=\\{\.\.\.\}\,type=\pcomplex_type\,thread-id=\1\,has_more=\0\)

  # Test that -var-list-children lists empty children if range is
 empty
  # (and that print-values is optional)
 @@ -268,24 +270,38 @@ class MiVarTestCase(lldbmi_testcase.MiTe

  
 self.expect(\^done,numchild=\3\,children=\[child=\{name=\var_complx\.i\,exp=\i\,numchild=\0\,type=\int\,thread-id=\1\,value=\3\,has_more=\0\\},child=\{name=\var_complx\.inner\,exp=\inner\,numchild=\1\,type=\complex_type::\(anonymous
 struct\)\,thread-id=\1\,value=\\{\.\.\.\}\,has_more=\0\\},child=\{name=\var_complx\.complex_ptr\,exp=\complex_ptr\,numchild=\3\,type=\complex_type
 \*\,thread-id=\1\,value=\0x[0-9a-f]+\,has_more=\0\\}\],has_more=\0\)
  self.runCmd(-var-list-children --simple-values
 var_complx_array)

  
 self.expect(\^done,numchild=\2\,children=\[child=\{name=\var_complx_array\.\[0\]\,exp=\\[0\]\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\},child=\{name=\var_complx_array\.\[1\]\,exp=\\[1\]\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\}\],has_more=\0\)
 +self.runCmd(-var-list-children 0 var_pcomplx)
 +
 self.expect(\^done,numchild=\2\,children=\[child=\{name=\var_pcomplx\.complex_type\,exp=\complex_type\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\},child={name=\var_pcomplx\.complx\,exp=\complx\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\}\],has_more=\0\)

  # Test that -var-list-children lists children without values
  self.runCmd(-var-list-children 0 var_complx 0 1)

  
 self.expect(\^done,numchild=\1\,children=\[child=\{name=\var_complx\.i\,exp=\i\,numchild=\0\,type=\int\,thread-id=\1\,has_more=\0\\}\],has_more=\1\)
  self.runCmd(-var-list-children --no-values var_complx 0 1)

  
 self.expect(\^done,numchild=\1\,children=\[child=\{name=\var_complx\.i\,exp=\i\,numchild=\0\,type=\int\,thread-id=\1\,has_more=\0\\}\],has_more=\1\)
 +self.runCmd(-var-list-children --no-values var_complx_array 0
 1)
 +
 self.expect(\^done,numchild=\1\,children=\[child=\{name=\var_complx_array\.\[0\]\,exp=\\[0\]\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\}\],has_more=\1\)
 +self.runCmd(-var-list-children --no-values var_pcomplx 0 1)
 +
 self.expect(\^done,numchild=\1\,children=\[child=\{name=\var_pcomplx\.complex_type\,exp=\complex_type\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\}\],has_more=\1\)

  # Test that -var-list-children lists children with all values
  self.runCmd(-var-list-children 1 var_complx 1 2)

  
 self.expect(\^done,numchild=\1\,children=\[child

[Lldb-commits] [lldb] r237479 - Reverting r237460 to fix test failures introduced on OSX Linux

2015-05-15 Thread Vince Harron
Author: vharron
Date: Fri May 15 16:43:26 2015
New Revision: 237479

URL: http://llvm.org/viewvc/llvm-project?rev=237479view=rev
Log:
Reverting r237460 to fix test failures introduced on OSX  Linux

TestExitDuringStep.py
TestNumThreads.py
TestThreadExit.py
TestThreadStates.py


Modified:
lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileLine.h
lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
lldb/trunk/include/lldb/Target/Target.h
lldb/trunk/source/API/SBTarget.cpp
lldb/trunk/source/Breakpoint/BreakpointResolverFileLine.cpp
lldb/trunk/source/Breakpoint/BreakpointResolverFileRegex.cpp
lldb/trunk/source/Commands/CommandObjectBreakpoint.cpp
lldb/trunk/source/Core/IOHandler.cpp
lldb/trunk/source/Target/Target.cpp

lldb/trunk/test/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py

lldb/trunk/test/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
lldb/trunk/test/functionalities/breakpoint/breakpoint_options/Makefile

lldb/trunk/test/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
lldb/trunk/test/functionalities/breakpoint/breakpoint_options/main.c

lldb/trunk/test/functionalities/breakpoint/dummy_target_breakpoints/TestBreakpointsWithNoTargets.py
lldb/trunk/test/lldbutil.py
lldb/trunk/test/settings/TestSettings.py
lldb/trunk/test/tools/lldb-mi/breakpoint/TestMiBreak.py
lldb/trunk/test/tools/lldb-mi/breakpoint/main.cpp

Modified: lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileLine.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileLine.h?rev=237479r1=237478r2=237479view=diff
==
--- lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileLine.h (original)
+++ lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileLine.h Fri May 15 
16:43:26 2015
@@ -32,8 +32,7 @@ public:
 const FileSpec resolver,
 uint32_t line_no,
 bool check_inlines,
-bool skip_prologue,
-bool exact_match);
+bool skip_prologue);
 
 virtual
 ~BreakpointResolverFileLine ();
@@ -68,7 +67,6 @@ protected:
 uint32_t m_line_number; // This is the line number that we are looking for.
 bool m_inlines; // This determines whether the resolver looks for inlined 
functions or not.
 bool m_skip_prologue;
-bool m_exact_match;
 
 private:
 DISALLOW_COPY_AND_ASSIGN(BreakpointResolverFileLine);

Modified: lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileRegex.h?rev=237479r1=237478r2=237479view=diff
==
--- lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileRegex.h (original)
+++ lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileRegex.h Fri May 15 
16:43:26 2015
@@ -29,8 +29,7 @@ class BreakpointResolverFileRegex :
 {
 public:
 BreakpointResolverFileRegex (Breakpoint *bkpt,
- RegularExpression regex,
- bool exact_match);
+RegularExpression regex);
 
 virtual
 ~BreakpointResolverFileRegex ();
@@ -62,7 +61,6 @@ public:
 protected:
 friend class Breakpoint;
 RegularExpression m_regex; // This is the line expression that we are 
looking for.
-bool m_exact_match;
 
 private:
 DISALLOW_COPY_AND_ASSIGN(BreakpointResolverFileRegex);

Modified: lldb/trunk/include/lldb/Target/Target.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Target.h?rev=237479r1=237478r2=237479view=diff
==
--- lldb/trunk/include/lldb/Target/Target.h (original)
+++ lldb/trunk/include/lldb/Target/Target.h Fri May 15 16:43:26 2015
@@ -64,9 +64,6 @@ public:
 void
 SetDefaultArchitecture (const ArchSpec arch);
 
-bool
-GetMoveToNearestCode () const;
-
 lldb::DynamicValueType
 GetPreferDynamicValue() const;
 
@@ -704,8 +701,7 @@ public:
   LazyBool check_inlines,
   LazyBool skip_prologue,
   bool internal,
-  bool request_hardware,
-  LazyBool move_to_nearest_code);
+  bool request_hardware);
 
 // Use this to create breakpoint that matches regex against the source 
lines in files given in source_file_list:
 lldb::BreakpointSP
@@ -713,8 +709,7 @@ public:
  const FileSpecList *source_file_list,
  RegularExpression source_regex,
 

Re: [Lldb-commits] [lldb] r237454 - Improve the MiVarTestCase.test_lldbmi_var_list_children test (MI)

2015-05-15 Thread Vince Harron
Please let us know if you need help.

On Fri, May 15, 2015 at 2:02 PM, Vince Harron vi...@nethacker.com wrote:

 Hi Illia,

 This appears to have broken Linux i386 gcc 4.9.2


 http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/2419

 Is it a quick fix?

 If not, can you roll back?

 Thanks,

 Vince


 On Fri, May 15, 2015 at 9:13 AM, Ilia K ki.s...@gmail.com wrote:

 Author: ki.stfu
 Date: Fri May 15 11:13:51 2015
 New Revision: 237454

 URL: http://llvm.org/viewvc/llvm-project?rev=237454view=rev
 Log:
 Improve the MiVarTestCase.test_lldbmi_var_list_children test (MI)

 Modified:
 lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py
 lldb/trunk/test/tools/lldb-mi/variable/main.cpp

 Modified: lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py?rev=237454r1=237453r2=237454view=diff

 ==
 --- lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py (original)
 +++ lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py Fri May 15
 11:13:51 2015
 @@ -239,8 +239,8 @@ class MiVarTestCase(lldbmi_testcase.MiTe
  self.runCmd(-file-exec-and-symbols %s % self.myexe)
  self.expect(\^done)

 -# Run to BP_var_list_children
 -line = line_number('main.cpp', '// BP_var_list_children')
 +# Run to BP_var_list_children_test
 +line = line_number('main.cpp', '// BP_var_list_children_test')
  self.runCmd(-break-insert main.cpp:%d % line)
  self.expect(\^done,bkpt={number=\1\)
  self.runCmd(-exec-run)
 @@ -252,6 +252,8 @@ class MiVarTestCase(lldbmi_testcase.MiTe

  
 self.expect(\^done,name=\var_complx\,numchild=\3\,value=\\{\.\.\.\}\,type=\complex_type\,thread-id=\1\,has_more=\0\)
  self.runCmd(-var-create var_complx_array * complx_array)

  
 self.expect(\^done,name=\var_complx_array\,numchild=\2\,value=\\[2\]\,type=\complex_type
 \[2\]\,thread-id=\1\,has_more=\0\)
 +self.runCmd(-var-create var_pcomplx * pcomplx)
 +
 self.expect(\^done,name=\var_pcomplx\,numchild=\2\,value=\\{\.\.\.\}\,type=\pcomplex_type\,thread-id=\1\,has_more=\0\)

  # Test that -var-list-children lists empty children if range is
 empty
  # (and that print-values is optional)
 @@ -268,24 +270,38 @@ class MiVarTestCase(lldbmi_testcase.MiTe

  
 self.expect(\^done,numchild=\3\,children=\[child=\{name=\var_complx\.i\,exp=\i\,numchild=\0\,type=\int\,thread-id=\1\,value=\3\,has_more=\0\\},child=\{name=\var_complx\.inner\,exp=\inner\,numchild=\1\,type=\complex_type::\(anonymous
 struct\)\,thread-id=\1\,value=\\{\.\.\.\}\,has_more=\0\\},child=\{name=\var_complx\.complex_ptr\,exp=\complex_ptr\,numchild=\3\,type=\complex_type
 \*\,thread-id=\1\,value=\0x[0-9a-f]+\,has_more=\0\\}\],has_more=\0\)
  self.runCmd(-var-list-children --simple-values
 var_complx_array)

  
 self.expect(\^done,numchild=\2\,children=\[child=\{name=\var_complx_array\.\[0\]\,exp=\\[0\]\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\},child=\{name=\var_complx_array\.\[1\]\,exp=\\[1\]\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\}\],has_more=\0\)
 +self.runCmd(-var-list-children 0 var_pcomplx)
 +
 self.expect(\^done,numchild=\2\,children=\[child=\{name=\var_pcomplx\.complex_type\,exp=\complex_type\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\},child={name=\var_pcomplx\.complx\,exp=\complx\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\}\],has_more=\0\)

  # Test that -var-list-children lists children without values
  self.runCmd(-var-list-children 0 var_complx 0 1)

  
 self.expect(\^done,numchild=\1\,children=\[child=\{name=\var_complx\.i\,exp=\i\,numchild=\0\,type=\int\,thread-id=\1\,has_more=\0\\}\],has_more=\1\)
  self.runCmd(-var-list-children --no-values var_complx 0 1)

  
 self.expect(\^done,numchild=\1\,children=\[child=\{name=\var_complx\.i\,exp=\i\,numchild=\0\,type=\int\,thread-id=\1\,has_more=\0\\}\],has_more=\1\)
 +self.runCmd(-var-list-children --no-values var_complx_array 0
 1)
 +
 self.expect(\^done,numchild=\1\,children=\[child=\{name=\var_complx_array\.\[0\]\,exp=\\[0\]\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\}\],has_more=\1\)
 +self.runCmd(-var-list-children --no-values var_pcomplx 0 1)
 +
 self.expect(\^done,numchild=\1\,children=\[child=\{name=\var_pcomplx\.complex_type\,exp=\complex_type\,numchild=\3\,type=\complex_type\,thread-id=\1\,has_more=\0\\}\],has_more=\1\)

  # Test that -var-list-children lists children with all values
  self.runCmd(-var-list-children 1 var_complx 1 2)

  
 self.expect(\^done,numchild=\1\,children=\[child=\{name=\var_complx\.inner\,exp=\inner\,numchild=\1\,type=\complex_type::\(anonymous
 struct\)\,thread-id=\1\,value=\\{\.\.\.\}\,has_more=\0\\}\],has_more=\1\)
  self.runCmd(-var-list-children --all

Re: [Lldb-commits] [lldb] r237460 - Add --move-to-nearest-code / target.move-to-nearest-code options

2015-05-15 Thread Vince Harron
Hi Illia,

This appears to have broken both OSX and Linux builders.

http://lab.llvm.org:8011/builders/lldb-x86_64-darwin-13.4/builds/2941
http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/2421

Is it a quick fix?

If not, can you roll back?

Thanks,

Vince

On Fri, May 15, 2015 at 11:16 AM, Ilia K ki.s...@gmail.com wrote:

 Author: ki.stfu
 Date: Fri May 15 13:16:15 2015
 New Revision: 237460

 URL: http://llvm.org/viewvc/llvm-project?rev=237460view=rev
 Log:
 Add --move-to-nearest-code / target.move-to-nearest-code options

 Summary:
 This option forces to only set a source line breakpoint when there is an
 exact-match

 This patch includes the following commits:
 # Add the -m/--exact-match option in breakpoint set command
 ## Add exact_match arg in BreakpointResolverFileLine ctor
 ## Add m_exact_match field in BreakpointResolverFileLine
 ## Add exact_match arg in BreakpointResolverFileRegex ctor
 ## Add m_exact_match field in BreakpointResolverFileRegex
 ## Add exact_match arg in Target::CreateSourceRegexBreakpoint
 ## Add exact_match arg in Target::CreateBreakpoint
 ## Add -m/--exact-match option in breakpoint set command
 # Add target.exact-match option to skip BP if source line doesn't match
 ## Add target.exact-match global option
 ## Add Target::GetExactMatch
 ## Refactor Target::CreateSourceRegexBreakpoint to accept LazyBool
 exact_match (was bool)
 ## Refactor Target::CreateBreakpoint to accept LazyBool exact_match (was
 bool)
 # Add target.exact-match test in SettingsCommandTestCase
 # Add BreakpointOptionsTestCase tests to test
 --skip-prologue/--exact-match options
 # Fix a few typos in lldbutil.check_breakpoint_result func
 # Rename --exact-match/m_exact_match/exact_match/GetExactMatch to
 --move-to-nearest-code/m_move_to_nearest_code/move_to_nearest_code/GetMoveToNearestCode
 # Add exact_match field in BreakpointResolverFileLine::GetDescription and
 BreakpointResolverFileRegex::GetDescription, for example:
 was:
 ```
 1: file =
 '/Users/IliaK/p/llvm/tools/lldb/test/functionalities/breakpoint/breakpoint_command/main.c',
 line = 12, locations = 1, resolved = 1, hit count = 2
   1.1: where = a.out`main + 20 at main.c:12, address = 0x00010eb4,
 resolved, hit count = 2
 ```
 now:
 ```
 1: file =
 '/Users/IliaK/p/llvm/tools/lldb/test/functionalities/breakpoint/breakpoint_command/main.c',
 line = 12, exact_match = 0, locations = 1, resolved = 1, hit count = 2
   1.1: where = a.out`main + 20 at main.c:12, address = 0x00010eb4,
 resolved, hit count = 2
 ```

 Test Plan:
 ./dotest.py -v --executable $BUILDDIR/bin/lldb functionalities/breakpoint/
 ./dotest.py -v --executable $BUILDDIR/bin/lldb settings/
 ./dotest.py -v --executable $BUILDDIR/bin/lldb tools/lldb-mi/breakpoint/

 Reviewers: jingham, clayborg

 Reviewed By: clayborg

 Subscribers: lldb-commits, clayborg, jingham

 Differential Revision: http://reviews.llvm.org/D9273

 Added:
 lldb/trunk/test/functionalities/breakpoint/breakpoint_options/
 lldb/trunk/test/functionalities/breakpoint/breakpoint_options/Makefile

 lldb/trunk/test/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
 lldb/trunk/test/functionalities/breakpoint/breakpoint_options/main.c
 Modified:
 lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileLine.h
 lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
 lldb/trunk/include/lldb/Target/Target.h
 lldb/trunk/source/API/SBTarget.cpp
 lldb/trunk/source/Breakpoint/BreakpointResolverFileLine.cpp
 lldb/trunk/source/Breakpoint/BreakpointResolverFileRegex.cpp
 lldb/trunk/source/Commands/CommandObjectBreakpoint.cpp
 lldb/trunk/source/Core/IOHandler.cpp
 lldb/trunk/source/Target/Target.cpp

 lldb/trunk/test/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py

 lldb/trunk/test/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py

 lldb/trunk/test/functionalities/breakpoint/dummy_target_breakpoints/TestBreakpointsWithNoTargets.py
 lldb/trunk/test/lldbutil.py
 lldb/trunk/test/settings/TestSettings.py
 lldb/trunk/test/tools/lldb-mi/breakpoint/TestMiBreak.py
 lldb/trunk/test/tools/lldb-mi/breakpoint/main.cpp

 Modified: lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileLine.h
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileLine.h?rev=237460r1=237459r2=237460view=diff

 ==
 --- lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileLine.h
 (original)
 +++ lldb/trunk/include/lldb/Breakpoint/BreakpointResolverFileLine.h Fri
 May 15 13:16:15 2015
 @@ -32,7 +32,8 @@ public:
  const FileSpec resolver,
  uint32_t line_no,
  bool check_inlines,
 -bool skip_prologue);
 +bool 

Re: [Lldb-commits] [lldb] r237392 - Enable multithreaded debugging on Windows.

2015-05-14 Thread Vince Harron
There is a new test failure in Linux after this change.  Can we revert to
green and help you figure it out?

==
FAIL: test_with_dwarf (TestNumThreads.NumberOfThreadsTestCase)
   Test number of threads.
--
Traceback (most recent call last):
  File
/usr/local/google/home/vharron/bisect/tmp/llvm/tools/lldb/test/lldbtest.py,
line 499, in wrapper
return func(self, *args, **kwargs)
  File
/usr/local/google/home/vharron/bisect/tmp/llvm/tools/lldb/test/functionalities/thread/TestNumThreads.py,
line 26, in test_with_dwarf
self.number_of_threads_test()
  File
/usr/local/google/home/vharron/bisect/tmp/llvm/tools/lldb/test/functionalities/thread/TestNumThreads.py,
line 51, in number_of_threads_test
substrs = [stop reason = breakpoint 1.])
  File
/usr/local/google/home/vharron/bisect/tmp/llvm/tools/lldb/test/lldbtest.py,
line 2344, in expect
msg if msg else EXP_MSG(str, exe))
AssertionError: False is not True : Process should be stopped due to
breakpoint
Config=i386-gcc
--




On Thu, May 14, 2015 at 2:07 PM, Adrian McCarthy amcca...@google.com
wrote:

 Author: amccarth
 Date: Thu May 14 16:07:59 2015
 New Revision: 237392

 URL: http://llvm.org/viewvc/llvm-project?rev=237392view=rev
 Log:
 Enable multithreaded debugging on Windows.

 Added:
 lldb/trunk/test/functionalities/thread/main.cpp
 Removed:
 lldb/trunk/test/functionalities/thread/main.c
 Modified:
 lldb/trunk/source/Plugins/Process/Windows/DebuggerThread.cpp
 lldb/trunk/source/Plugins/Process/Windows/ExceptionRecord.h
 lldb/trunk/source/Plugins/Process/Windows/IDebugDelegate.h
 lldb/trunk/source/Plugins/Process/Windows/LocalDebugDelegate.cpp
 lldb/trunk/source/Plugins/Process/Windows/LocalDebugDelegate.h
 lldb/trunk/source/Plugins/Process/Windows/ProcessWindows.cpp
 lldb/trunk/source/Plugins/Process/Windows/ProcessWindows.h
 lldb/trunk/source/Target/ThreadList.cpp
 lldb/trunk/test/functionalities/thread/Makefile
 lldb/trunk/test/functionalities/thread/TestNumThreads.py

 Modified: lldb/trunk/source/Plugins/Process/Windows/DebuggerThread.cpp
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Windows/DebuggerThread.cpp?rev=237392r1=237391r2=237392view=diff

 ==
 --- lldb/trunk/source/Plugins/Process/Windows/DebuggerThread.cpp (original)
 +++ lldb/trunk/source/Plugins/Process/Windows/DebuggerThread.cpp Thu May
 14 16:07:59 2015
 @@ -283,9 +283,9 @@ DebuggerThread::HandleExceptionEvent(con
  {
  bool first_chance = (info.dwFirstChance != 0);

 -m_active_exception.reset(new ExceptionRecord(info.ExceptionRecord));
 +m_active_exception.reset(new ExceptionRecord(info.ExceptionRecord,
 thread_id));
  WINLOG_IFANY(WINDOWS_LOG_EVENT | WINDOWS_LOG_EXCEPTION,
 - HandleExceptionEvent encountered %s chance exception
 0x%x on thread %u,
 + HandleExceptionEvent encountered %s chance exception
 0x%x on thread 0x%x,
   first_chance ? first : second,
 info.ExceptionRecord.ExceptionCode, thread_id);

  ExceptionResult result =
 m_debug_delegate-OnDebugException(first_chance,
 @@ -308,9 +308,11 @@ DWORD
  DebuggerThread::HandleCreateThreadEvent(const CREATE_THREAD_DEBUG_INFO
 info, DWORD thread_id)
  {
  WINLOG_IFANY(WINDOWS_LOG_EVENT|WINDOWS_LOG_THREAD,
 -HandleCreateThreadEvent Thread %u spawned in process %I64u,
 -m_process.GetProcessId(), thread_id);
 -
 +HandleCreateThreadEvent Thread 0x%x spawned in process %I64u,
 +thread_id, m_process.GetProcessId());
 +HostThread thread(info.hThread);
 +thread.GetNativeThread().SetOwnsHandle(false);
 +m_debug_delegate-OnCreateThread(thread);
  return DBG_CONTINUE;
  }

 @@ -347,7 +349,7 @@ DebuggerThread::HandleExitThreadEvent(co
  WINLOG_IFANY(WINDOWS_LOG_EVENT|WINDOWS_LOG_THREAD,
  HandleExitThreadEvent Thread %u exited with code %u in process
 %I64u,
  thread_id, info.dwExitCode, m_process.GetProcessId());
 -
 +m_debug_delegate-OnExitThread(thread_id, info.dwExitCode);
  return DBG_CONTINUE;
  }

 @@ -358,9 +360,9 @@ DebuggerThread::HandleExitProcessEvent(c
  HandleExitProcessEvent process %I64u exited with code %u,
  m_process.GetProcessId(), info.dwExitCode);

 -FreeProcessHandles();
 -
  m_debug_delegate-OnExitProcess(info.dwExitCode);
 +
 +FreeProcessHandles();
  return DBG_CONTINUE;
  }


 Modified: lldb/trunk/source/Plugins/Process/Windows/ExceptionRecord.h
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Windows/ExceptionRecord.h?rev=237392r1=237391r2=237392view=diff

 ==
 --- 

Re: [Lldb-commits] [lldb] r237411 - The StopInfo base class has an m_description std::string.

2015-05-14 Thread Vince Harron
Hi Jason,

Unfortunately, this broke watchpoints on Linux.  (I just confirmed by
building  testing both this revision and the previous.)

Do you have any guesses?  Would you like one of us to take a look?

How do you feel about reverting it to get the build green while it's being
investigated?

http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/2406

Vince


On Thu, May 14, 2015 at 5:19 PM, Jason Molenda jmole...@apple.com wrote:

 Author: jmolenda
 Date: Thu May 14 19:19:28 2015
 New Revision: 237411

 URL: http://llvm.org/viewvc/llvm-project?rev=237411view=rev
 Log:
 The StopInfo base class has an m_description std::string.
 Remove the m_description ivar from the StopInfoBreakpoint
 and StopInfoWatchpoint subclasses of StopInfo.  Also,
 initialize the m_description ivar in the StopInfo ctor.
 rdar://problem/20902950

 Modified:
 lldb/trunk/source/Target/StopInfo.cpp

 Modified: lldb/trunk/source/Target/StopInfo.cpp
 URL:
 http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/StopInfo.cpp?rev=237411r1=237410r2=237411view=diff

 ==
 --- lldb/trunk/source/Target/StopInfo.cpp (original)
 +++ lldb/trunk/source/Target/StopInfo.cpp Thu May 14 19:19:28 2015
 @@ -40,6 +40,7 @@ StopInfo::StopInfo (Thread thread, uint
  m_stop_id (thread.GetProcess()-GetStopID()),
  m_resume_id (thread.GetProcess()-GetResumeID()),
  m_value (value),
 +m_description (),
  m_override_should_notify (eLazyBoolCalculate),
  m_override_should_stop (eLazyBoolCalculate),
  m_extended_info()
 @@ -112,7 +113,6 @@ class StopInfoBreakpoint : public StopIn
  public:
  StopInfoBreakpoint (Thread thread, break_id_t break_id) :
  StopInfo (thread, break_id),
 -m_description(),
  m_should_stop (false),
  m_should_stop_is_valid (false),
  m_should_perform_action (true),
 @@ -125,7 +125,6 @@ public:

  StopInfoBreakpoint (Thread thread, break_id_t break_id, bool
 should_stop) :
  StopInfo (thread, break_id),
 -m_description(),
  m_should_stop (should_stop),
  m_should_stop_is_valid (true),
  m_should_perform_action (true),
 @@ -568,7 +567,6 @@ protected:
  }

  private:
 -std::string m_description;
  bool m_should_stop;
  bool m_should_stop_is_valid;
  bool m_should_perform_action; // Since we are trying to preserve the
 state of the system even if we run functions
 @@ -621,7 +619,6 @@ public:

  StopInfoWatchpoint (Thread thread, break_id_t watch_id) :
  StopInfo(thread, watch_id),
 -m_description(),
  m_should_stop(false),
  m_should_stop_is_valid(false)
  {
 @@ -860,7 +857,6 @@ protected:
  }

  private:
 -std::string m_description;
  bool m_should_stop;
  bool m_should_stop_is_valid;
  };


 ___
 lldb-commits mailing list
 lldb-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237319 - Added XTIMEOUT for TestAttachDenied.py

2015-05-13 Thread Vince Harron
Author: vharron
Date: Wed May 13 18:59:03 2015
New Revision: 237319

URL: http://llvm.org/viewvc/llvm-project?rev=237319view=rev
Log:
Added XTIMEOUT for TestAttachDenied.py


Modified:
lldb/trunk/test/dosep.py

Modified: lldb/trunk/test/dosep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=237319r1=237318r2=237319view=diff
==
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Wed May 13 18:59:03 2015
@@ -167,6 +167,7 @@ def getExpectedTimeouts(dotest_options):
 
 if target.startswith(linux):
 expected_timeout |= {
+TestAttachDenied.py,
 TestAttachResume.py,
 TestConnectRemote.py,
 TestCreateAfterAttach.py,


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237174 - Added minor comment

2015-05-12 Thread Vince Harron
Author: vharron
Date: Tue May 12 15:55:43 2015
New Revision: 237174

URL: http://llvm.org/viewvc/llvm-project?rev=237174view=rev
Log:
Added minor comment


Modified:

lldb/trunk/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py

Modified: 
lldb/trunk/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py?rev=237174r1=237173r2=237174view=diff
==
--- 
lldb/trunk/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py
 (original)
+++ 
lldb/trunk/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py
 Tue May 12 15:55:43 2015
@@ -110,6 +110,7 @@ class APIDefaultConstructorTestCase(Test
 sb_debugger.fuzz_obj(obj)
 
 @python_api_test
+# darwin: This test passes with swig 3.0.2, fails w/3.0.5 other tests fail 
with 2.0.12 http://llvm.org/pr23488
 def test_SBError(self):
 obj = lldb.SBError()
 if self.TraceOn():


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237182 - XFAIL'd TestPersistObjCPointeeType.py

2015-05-12 Thread Vince Harron
Author: vharron
Date: Tue May 12 16:16:51 2015
New Revision: 237182

URL: http://llvm.org/viewvc/llvm-project?rev=237182view=rev
Log:
XFAIL'd TestPersistObjCPointeeType.py


Modified:
lldb/trunk/lldb.xcodeproj/project.pbxproj

lldb/trunk/test/expression_command/persist_objc_pointeetype/TestPersistObjCPointeeType.py
lldb/trunk/test/expression_command/persist_objc_pointeetype/main.m

Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=237182r1=237181r2=237182view=diff
==
--- lldb/trunk/lldb.xcodeproj/project.pbxproj (original)
+++ lldb/trunk/lldb.xcodeproj/project.pbxproj Tue May 12 16:16:51 2015
@@ -7622,7 +7622,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INSTALL_PATH = $(LLDB_TOOLS_INSTALL_DIR);
-   MACOSX_DEPLOYMENT_TARGET = 10.10;
+   MACOSX_DEPLOYMENT_TARGET = 10.8;
MTL_ENABLE_DEBUG_INFO = YES;
OTHER_LDFLAGS = (
$(inherited),
@@ -7658,7 +7658,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INSTALL_PATH = $(LLDB_TOOLS_INSTALL_DIR);
-   MACOSX_DEPLOYMENT_TARGET = 10.10;
+   MACOSX_DEPLOYMENT_TARGET = 10.8;
MTL_ENABLE_DEBUG_INFO = YES;
OTHER_LDFLAGS = (
$(inherited),
@@ -7690,7 +7690,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INSTALL_PATH = $(LLDB_TOOLS_INSTALL_DIR);
-   MACOSX_DEPLOYMENT_TARGET = 10.10;
+   MACOSX_DEPLOYMENT_TARGET = 10.8;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS = (
$(inherited),
@@ -7723,7 +7723,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INSTALL_PATH = $(LLDB_TOOLS_INSTALL_DIR);
-   MACOSX_DEPLOYMENT_TARGET = 10.10;
+   MACOSX_DEPLOYMENT_TARGET = ;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS[sdk=iphoneos*] = (
$(inherited),

Modified: 
lldb/trunk/test/expression_command/persist_objc_pointeetype/TestPersistObjCPointeeType.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/expression_command/persist_objc_pointeetype/TestPersistObjCPointeeType.py?rev=237182r1=237181r2=237182view=diff
==
--- 
lldb/trunk/test/expression_command/persist_objc_pointeetype/TestPersistObjCPointeeType.py
 (original)
+++ 
lldb/trunk/test/expression_command/persist_objc_pointeetype/TestPersistObjCPointeeType.py
 Tue May 12 16:16:51 2015
@@ -19,6 +19,7 @@ class PersistObjCPointeeType(TestBase):
 
 @skipUnlessDarwin
 @dsym_test
+@expectedFailureDarwin('http://llvm.org/pr23504') # can't compile inferior 
with Xcode 6.1.1 or 6.2
 def test_with_dsym(self):
 Test that we can p *objcObject
 self.buildDsym()
@@ -26,6 +27,7 @@ class PersistObjCPointeeType(TestBase):
 
 @skipUnlessDarwin
 @dwarf_test
+@expectedFailureDarwin('http://llvm.org/pr23504') # can't compile inferior 
with Xcode 6.1.1 or 6.2
 def test_with_dwarf(self):
 Test that we can p *objcObject
 self.buildDwarf()

Modified: lldb/trunk/test/expression_command/persist_objc_pointeetype/main.m
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/expression_command/persist_objc_pointeetype/main.m?rev=237182r1=237181r2=237182view=diff
==
--- lldb/trunk/test/expression_command/persist_objc_pointeetype/main.m 
(original)
+++ lldb/trunk/test/expression_command/persist_objc_pointeetype/main.m Tue May 
12 16:16:51 2015
@@ -3,7 +3,7 @@ clang -g ExtendSuperclass.m -o ExtendSup
 */
 #include assert.h
 #import Foundation/Foundation.h
-#import CloudKit/CloudKit.h
+@class CKDatabase;
 
 #define SuperClass CKDatabase
 


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237218 - Fixed a ton of gcc compile warnings

2015-05-12 Thread Vince Harron
Author: vharron
Date: Tue May 12 19:25:54 2015
New Revision: 237218

URL: http://llvm.org/viewvc/llvm-project?rev=237218view=rev
Log:
Fixed a ton of gcc compile warnings

Removed some unused variables, added some consts, changed some casts
to const_cast. I don't think any of these changes are very
controversial.

Differential Revision: http://reviews.llvm.org/D9674


Modified:
lldb/trunk/include/lldb/Core/DataEncoder.h
lldb/trunk/include/lldb/Interpreter/CommandObject.h
lldb/trunk/source/Commands/CommandObjectMemory.cpp
lldb/trunk/source/Core/DataBufferHeap.cpp
lldb/trunk/source/Core/DataEncoder.cpp
lldb/trunk/source/Core/FormatEntity.cpp
lldb/trunk/source/DataFormatters/StringPrinter.cpp
lldb/trunk/source/Expression/IRExecutionUnit.cpp
lldb/trunk/source/Host/common/Editline.cpp
lldb/trunk/source/Host/common/Symbols.cpp
lldb/trunk/source/Interpreter/Args.cpp
lldb/trunk/source/Interpreter/CommandInterpreter.cpp
lldb/trunk/source/Interpreter/CommandObject.cpp
lldb/trunk/source/Interpreter/Options.cpp
lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp
lldb/trunk/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp

lldb/trunk/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
lldb/trunk/source/Plugins/Instruction/ARM/EmulationStateARM.cpp
lldb/trunk/source/Plugins/Platform/Android/AdbClient.cpp
lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
lldb/trunk/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
lldb/trunk/source/Plugins/Process/Linux/ProcessLinux.cpp
lldb/trunk/source/Plugins/Process/Linux/ProcessLinux.h
lldb/trunk/source/Plugins/Process/Linux/ProcessMonitor.cpp
lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
lldb/trunk/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
lldb/trunk/source/Symbol/CompactUnwindInfo.cpp
lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp
lldb/trunk/source/Symbol/Symtab.cpp
lldb/trunk/tools/driver/Driver.cpp

Modified: lldb/trunk/include/lldb/Core/DataEncoder.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/DataEncoder.h?rev=237218r1=237217r2=237218view=diff
==
--- lldb/trunk/include/lldb/Core/DataEncoder.h (original)
+++ lldb/trunk/include/lldb/Core/DataEncoder.h Tue May 12 19:25:54 2015
@@ -357,7 +357,7 @@ public:
 /// The number of bytes that this object now contains.
 //--
 uint32_t
-SetData (const void *bytes, uint32_t length, lldb::ByteOrder byte_order);
+SetData (void *bytes, uint32_t length, lldb::ByteOrder byte_order);
 
 //--
 /// Adopt a subset of shared data in \a data_sp.

Modified: lldb/trunk/include/lldb/Interpreter/CommandObject.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/CommandObject.h?rev=237218r1=237217r2=237218view=diff
==
--- lldb/trunk/include/lldb/Interpreter/CommandObject.h (original)
+++ lldb/trunk/include/lldb/Interpreter/CommandObject.h Tue May 12 19:25:54 2015
@@ -195,7 +195,7 @@ public:
 static lldb::CommandArgumentType
 LookupArgumentName (const char *arg_name);
 
-static ArgumentTableEntry *
+static const ArgumentTableEntry *
 FindArgumentDataByType (lldb::CommandArgumentType arg_type);
 
 int

Modified: lldb/trunk/source/Commands/CommandObjectMemory.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectMemory.cpp?rev=237218r1=237217r2=237218view=diff
==
--- lldb/trunk/source/Commands/CommandObjectMemory.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectMemory.cpp Tue May 12 19:25:54 2015
@@ -534,7 +534,7 @@ protected:
 clang::TypeDecl *tdecl = 
target-GetPersistentVariables().GetPersistentType(ConstString(lookup_type_name));
 if (tdecl)
 {
-
clang_ast_type.SetClangType(tdecl-getASTContext(),(lldb::clang_type_t)tdecl-getTypeForDecl());
+clang_ast_type.SetClangType(tdecl-getASTContext(),(const 
lldb::clang_type_t)tdecl-getTypeForDecl());
 }
 }
 

Modified: lldb/trunk/source/Core/DataBufferHeap.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/DataBufferHeap.cpp?rev=237218r1=237217r2=237218view=diff
==
--- 

[Lldb-commits] [lldb] r237206 - Added support for XTIMEOUT to dosep

2015-05-12 Thread Vince Harron
Author: vharron
Date: Tue May 12 18:10:36 2015
New Revision: 237206

URL: http://llvm.org/viewvc/llvm-project?rev=237206view=rev
Log:
Added support for XTIMEOUT to dosep

Ideally, this would be put in the individual test files.

Unfortunately, I'm not sure how to do that quickly/easily.
I'm open to suggestions.

In the meantime, I'll submit this to stabilze the build server.


Modified:
lldb/trunk/test/dosep.py

Modified: lldb/trunk/test/dosep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=237206r1=237205r2=237206view=diff
==
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Tue May 12 18:10:36 2015
@@ -24,6 +24,7 @@ orexport LLDB_TESTCONCURRENTEVENTS_T
 import multiprocessing
 import os
 import platform
+import re
 import shlex
 import subprocess
 import sys
@@ -147,6 +148,34 @@ def walk_and_invoke(test_root, dotest_op
 
 return (timed_out, failed, passed)
 
+def getExpectedTimeouts(dotest_options):
+# returns a set of test filenames that might timeout
+# are we running against a remote target?
+m = re.search('\sremote-(\w+)', dotest_options)
+if m:
+target = m.group(1)
+remote = True
+else:
+target = sys.platform
+remote = False
+
+expected_timeout = set()
+
+if target.startswith(linux):
+expected_timeout |= {
+TestAttachResume.py,
+TestConnectRemote.py,
+TestCreateAfterAttach.py,
+TestExitDuringStep.py,
+TestThreadStepOut.py,
+}
+elif target.startswith(android):
+expected_timeout |= {
+TestExitDuringStep.py,
+TestHelloWorld.py,
+}
+return expected_timeout
+
 def main():
 # We can't use sys.path[0] to determine the script directory
 # because it doesn't work under a debugger
@@ -202,6 +231,13 @@ Run lldb test suite using a separate pro
 timed_out = set(timed_out)
 num_tests = len(failed) + len(passed)
 
+# remove expected timeouts from failures
+expected_timeout = getExpectedTimeouts(dotest_options)
+for xtime in expected_timeout:
+if xtime in timed_out:
+timed_out.remove(xtime)
+failed.remove(xtime)
+
 print Ran %d tests. % num_tests
 if len(failed)  0:
 failed.sort()


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237207 - dosep can run tests in a specific subfolder

2015-05-12 Thread Vince Harron
Author: vharron
Date: Tue May 12 18:12:19 2015
New Revision: 237207

URL: http://llvm.org/viewvc/llvm-project?rev=237207view=rev
Log:
dosep can run tests in a specific subfolder

For example:

./dosep.py -o $DOTEST_OPTS lang/c/

Differential Revision: http://reviews.llvm.org/D9724


Modified:
lldb/trunk/test/dosep.py

Modified: lldb/trunk/test/dosep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=237207r1=237206r2=237207view=diff
==
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Tue May 12 18:12:19 2015
@@ -115,16 +115,20 @@ def process_dir_worker(arg_tuple):
 (root, files, test_root, dotest_options) = arg_tuple
 return process_dir(root, files, test_root, dotest_options)
 
-def walk_and_invoke(test_root, dotest_options, num_threads):
+def walk_and_invoke(test_directory, test_subdir, dotest_options, num_threads):
 Look for matched files and invoke test driver on each one.
 In single-threaded mode, each test driver is invoked directly.
 In multi-threaded mode, submit each test driver to a worker
-queue, and then wait for all to complete.
+queue, and then wait for all to complete.
+
+test_directory - lldb/test/ directory
+test_subdir - lldb/test/ or a subfolder with the tests we're interested in 
running
+
 
 # Collect the test files that we'll run.
 test_work_items = []
-for root, dirs, files in os.walk(test_root, topdown=False):
-test_work_items.append((root, files, test_root, dotest_options))
+for root, dirs, files in os.walk(test_subdir, topdown=False):
+test_work_items.append((root, files, test_directory, dotest_options))
 
 # Run the items, either in a pool (for multicore speedup) or
 # calling each individually.
@@ -179,8 +183,7 @@ def getExpectedTimeouts(dotest_options):
 def main():
 # We can't use sys.path[0] to determine the script directory
 # because it doesn't work under a debugger
-test_root = os.path.dirname(os.path.realpath(__file__))
-
+test_directory = os.path.dirname(os.path.realpath(__file__))
 parser = OptionParser(usage=\
 Run lldb test suite using a separate process for each test file.
 
@@ -214,6 +217,12 @@ Run lldb test suite using a separate pro
 opts, args = parser.parse_args()
 dotest_options = opts.dotest_options
 
+# The root directory was specified on the command line
+if len(args) == 0:
+test_subdir = test_directory
+else:
+test_subdir = os.path.join(test_directory, args[0])
+
 if opts.num_threads:
 num_threads = opts.num_threads
 else:
@@ -226,7 +235,7 @@ Run lldb test suite using a separate pro
 num_threads = 1
 
 system_info =  .join(platform.uname())
-(timed_out, failed, passed) = walk_and_invoke(test_root, dotest_options,
+(timed_out, failed, passed) = walk_and_invoke(test_directory, test_subdir, 
dotest_options,
   num_threads)
 timed_out = set(timed_out)
 num_tests = len(failed) + len(passed)


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237230 - Darwin - fix intermitent crashes in import crashinfo

2015-05-12 Thread Vince Harron
Author: vharron
Date: Wed May 13 00:00:23 2015
New Revision: 237230

URL: http://llvm.org/viewvc/llvm-project?rev=237230view=rev
Log:
Darwin - fix intermitent crashes in import crashinfo

Summary:
import crashinfo was probably failing because multiple dotest invocations
are all trying to compile crashinfo.so at the same time.

I've put a mutex around the compile step to prevent this.
   
Reviewers: clayborg, chying

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D9732


Added:
lldb/trunk/test/lock.py
Modified:
lldb/trunk/test/dotest.py

Modified: lldb/trunk/test/dotest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=237230r1=237229r2=237230view=diff
==
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Wed May 13 00:00:23 2015
@@ -23,6 +23,7 @@ for available options.
 import commands
 import os
 import errno
+import lock
 import platform
 import progress
 import signal
@@ -441,11 +442,23 @@ def setupCrashInfoHook():
 test_dir = os.environ['LLDB_TEST']
 if not test_dir or not os.path.exists(test_dir):
 return
+dylib_lock = os.path.join(test_dir,crashinfo.lock)
 dylib_src = os.path.join(test_dir,crashinfo.c)
 dylib_dst = os.path.join(test_dir,crashinfo.so)
-cmd = SDKROOT= xcrun clang %s -o %s -framework Python -Xlinker -dylib 
-iframework /System/Library/Frameworks/ -Xlinker -F 
/System/Library/Frameworks/ % (dylib_src,dylib_dst)
-if subprocess.call(cmd,shell=True) == 0 and os.path.exists(dylib_dst):
-setCrashInfoHook = setCrashInfoHook_Mac
+try:
+compile_lock = lock.Lock(dylib_lock)
+compile_lock.acquire()
+if not os.path.isfile(dylib_dst) or os.path.getmtime(dylib_dst)  
os.path.getmtime(dylib_src):
+# we need to compile
+cmd = SDKROOT= xcrun clang %s -o %s -framework Python 
-Xlinker -dylib -iframework /System/Library/Frameworks/ -Xlinker -F 
/System/Library/Frameworks/ % (dylib_src,dylib_dst)
+if subprocess.call(cmd,shell=True) != 0 or not 
os.path.isfile(dylib_dst):
+raise Exception('command failed: {}'.format(cmd))
+finally:
+compile_lock.release()
+del compile_lock
+
+setCrashInfoHook = setCrashInfoHook_Mac
+
 else:
 pass
 

Added: lldb/trunk/test/lock.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lock.py?rev=237230view=auto
==
--- lldb/trunk/test/lock.py (added)
+++ lldb/trunk/test/lock.py Wed May 13 00:00:23 2015
@@ -0,0 +1,23 @@
+
+Interprocess mutex based on file locks
+
+
+import fcntl
+import os
+
+class Lock:
+
+def __init__(self, filename):
+self.filename = filename
+# This will create it if it does not exist already
+self.handle = open(filename, 'w')
+
+# Bitwise OR fcntl.LOCK_NB if you need a non-blocking lock
+def acquire(self):
+fcntl.flock(self.handle, fcntl.LOCK_EX)
+
+def release(self):
+fcntl.flock(self.handle, fcntl.LOCK_UN)
+
+def __del__(self):
+self.handle.close()


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237076 - Change session log filename pattern: test before arch

2015-05-11 Thread Vince Harron
Author: vharron
Date: Mon May 11 19:50:54 2015
New Revision: 237076

URL: http://llvm.org/viewvc/llvm-project?rev=237076view=rev
Log:
Change session log filename pattern: test before arch

This is a very minor change.

Just reshuffle the elements of the log filename so that the test name
comes before the arch/compiler

Before:
Failure-x86_64-clang-TestCModules.CModulesTestCase.test_expr_with_dwarf.log

After:
Failure-TestCModules.CModulesTestCase.test_expr_with_dwarf-x86_64-clang.log

This way, results are grouped by test name, not by arch. I think this
is much more useful.

Differential Revision: http://reviews.llvm.org/D9648


Modified:
lldb/trunk/test/lldbtest.py

Modified: lldb/trunk/test/lldbtest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=237076r1=237075r2=237076view=diff
==
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Mon May 11 19:50:54 2015
@@ -1431,9 +1431,9 @@ class Base(unittest2.TestCase):
 if compiler[1] == ':':
 compiler = compiler[2:]
 
-fname = {}-{}-{}.format(self.getArchitecture(), 
_.join(compiler.split(os.path.sep)), self.id())
+fname = {}-{}-{}.format(self.id(), self.getArchitecture(), 
_.join(compiler.split(os.path.sep)))
 if len(fname)  200:
-fname = {}-{}-{}.format(self.getArchitecture(), 
compiler.split(os.path.sep)[-1], self.id())
+fname = {}-{}-{}.format(self.id(), self.getArchitecture(), 
compiler.split(os.path.sep)[-1])
 
 if prefix is not None:
 fname = {}-{}.format(prefix, fname)


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237078 - Get lldb-server building on android-9

2015-05-11 Thread Vince Harron
Author: vharron
Date: Mon May 11 20:10:56 2015
New Revision: 237078

URL: http://llvm.org/viewvc/llvm-project?rev=237078view=rev
Log:
Get lldb-server building on android-9

Build lldb-server with an android-9 sysroot.


Added:
lldb/trunk/include/lldb/Host/Time.h
lldb/trunk/include/lldb/Host/linux/Personality.h
lldb/trunk/include/lldb/Host/linux/Ptrace.h
lldb/trunk/include/lldb/Host/linux/Signalfd.h
lldb/trunk/include/lldb/Host/posix/Fcntl.h
lldb/trunk/source/Host/android/LibcGlue.cpp
Modified:
lldb/trunk/cmake/platforms/Android.cmake
lldb/trunk/include/lldb/Host/android/Android.h
lldb/trunk/source/DataFormatters/CXXFormatterFunctions.cpp
lldb/trunk/source/Host/CMakeLists.txt
lldb/trunk/source/Host/posix/HostInfoPosix.cpp
lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp
lldb/trunk/source/Plugins/Process/Linux/ProcessMonitor.cpp
lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.cpp
lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp

lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp

lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
lldb/trunk/source/Utility/PseudoTerminal.cpp

Modified: lldb/trunk/cmake/platforms/Android.cmake
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/platforms/Android.cmake?rev=237078r1=237077r2=237078view=diff
==
--- lldb/trunk/cmake/platforms/Android.cmake (original)
+++ lldb/trunk/cmake/platforms/Android.cmake Mon May 11 20:10:56 2015
@@ -85,12 +85,21 @@ if( NOT CMAKE_C_COMPILER )
  set( CMAKE_RANLIB   
${ANDROID_TOOLCHAIN_DIR}/bin/${ANDROID_TOOLCHAIN_NAME}-ranlib${EXECUTABLE_SUFFIX}
  CACHE PATH ranlib )
 endif()
 
-set( ANDROID_CXX_FLAGS --sysroot=${ANDROID_SYSROOT} -pie -fPIE 
-funwind-tables -fsigned-char -no-canonical-prefixes )
+set( ANDROID_CXX_FLAGS --sysroot=${ANDROID_SYSROOT} -funwind-tables 
-fsigned-char -no-canonical-prefixes )
 # TODO: different ARM abi have different flags such as neon, vfpv etc
 if( X86 )
  set( ANDROID_CXX_FLAGS ${ANDROID_CXX_FLAGS} -funswitch-loops 
-finline-limit=300 )
+elseif( ANDROID_ABI STREQUAL armeabi )
+ # 64 bit atomic operations used in c++ libraries require armv7-a instructions
+ # armv5te and armv6 were tried but do not work.
+ set( ANDROID_CXX_FLAGS ${ANDROID_CXX_FLAGS} -march=armv7-a )
 endif()
 
+# PIE is required for API 21+ so we enable it
+# unfortunately, it is not supported before API 14 so we need to do something 
else there
+# see http://llvm.org/pr23457
+set( ANDROID_CXX_FLAGS ${ANDROID_CXX_FLAGS} -pie -fPIE )
+
 # linker flags
 set( ANDROID_CXX_FLAGS${ANDROID_CXX_FLAGS} -fdata-sections 
-ffunction-sections )
 set( ANDROID_LINKER_FLAGS ${ANDROID_LINKER_FLAGS} -Wl,--gc-sections )

Added: lldb/trunk/include/lldb/Host/Time.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/Time.h?rev=237078view=auto
==
--- lldb/trunk/include/lldb/Host/Time.h (added)
+++ lldb/trunk/include/lldb/Host/Time.h Mon May 11 20:10:56 2015
@@ -0,0 +1,26 @@
+//===-- Time.h --*- C++ 
-*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===--===//
+
+// Include system time headers, adding missing functions as necessary
+
+#ifndef liblldb_Host_Time_h_
+#define liblldb_Host_Time_h_
+
+#ifdef __ANDROID_NDK__
+#include android/api-level.h
+#endif
+
+#if defined(__ANDROID_API__)  __ANDROID_API__  21
+#include time64.h
+static time_t timegm(struct tm* t);
+#else
+#include time.h
+#endif
+
+#endif // liblldb_Host_Time_h_

Modified: lldb/trunk/include/lldb/Host/android/Android.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/android/Android.h?rev=237078r1=237077r2=237078view=diff
==
--- lldb/trunk/include/lldb/Host/android/Android.h (original)
+++ lldb/trunk/include/lldb/Host/android/Android.h Mon May 11 20:10:56 2015
@@ -16,9 +16,6 @@
 
 #define _isattyisatty
 #define SYS_tgkill __NR_tgkill
-#define PT_DETACH  PTRACE_DETACH
-
-typedef int__ptrace_request;
 
 namespace std
 {

Added: lldb/trunk/include/lldb/Host/linux/Personality.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/linux/Personality.h?rev=237078view=auto
==
--- lldb/trunk/include/lldb/Host/linux/Personality.h (added)
+++ lldb/trunk/include/lldb/Host/linux/Personality.h Mon May 11 20:10:56 2015
@@ -0,0 +1,25 @@

[Lldb-commits] [lldb] r237089 - TestPublicAPIHeaders.py - Changed expectedFailureDarwin to skipIfDarwin

2015-05-11 Thread Vince Harron
Author: vharron
Date: Tue May 12 00:18:06 2015
New Revision: 237089

URL: http://llvm.org/viewvc/llvm-project?rev=237089view=rev
Log:
TestPublicAPIHeaders.py - Changed expectedFailureDarwin to skipIfDarwin

expectedFailure doesn't work if the failure is in a teardown step.


Modified:
lldb/trunk/test/api/check_public_api_headers/TestPublicAPIHeaders.py

Modified: lldb/trunk/test/api/check_public_api_headers/TestPublicAPIHeaders.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/api/check_public_api_headers/TestPublicAPIHeaders.py?rev=237089r1=237088r2=237089view=diff
==
--- lldb/trunk/test/api/check_public_api_headers/TestPublicAPIHeaders.py 
(original)
+++ lldb/trunk/test/api/check_public_api_headers/TestPublicAPIHeaders.py Tue 
May 12 00:18:06 2015
@@ -21,7 +21,8 @@ class SBDirCheckerCase(TestBase):
 self.exe_name = 'a.out'
 
 @skipIfNoSBHeaders
-@expectedFailureDarwin # test passes but teardown command 'settings remove 
target.env-vars DYLD_LIBRARY_PATH' fails
+@skipIfDarwin # test passes but teardown command 'settings remove 
target.env-vars DYLD_LIBRARY_PATH' fails
+# (expectedFailureDarwin doesn't work for teardown failures)
 def test_sb_api_directory(self):
 Test the SB API directory and make sure there's no unwanted 
stuff.
 


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r237085 - Working on getting the OSX build green

2015-05-11 Thread Vince Harron
Author: vharron
Date: Mon May 11 21:20:27 2015
New Revision: 237085

URL: http://llvm.org/viewvc/llvm-project?rev=237085view=rev
Log:
Working on getting the OSX build green

Added missing SBLanguageRuntime.h to lldb.xcodeproj, set to Public (fixed 
compile error in TestPublicAPIHeaders)
Removed reference to (temporarily) missing gtest.xcodeproj
Fixed TestDeadStrip compile error
XFAIL TestPublicAPIHeaders - test passes but teardown command 'settings remove 
target.env-vars DYLD_LIBRARY_PATH' fails
XFAIL TestCModules - use of undeclared identifier 'MIN'
XFAIL TestModulesAutoImport - clang: error: unknown argument: '-gmodules'
XFAIL TestObjCNewSyntax - expr -- @((char*)Hello world + 6) cannot box a 
string value because NSString has not been declared

http://reviews.llvm.org/D9643


Modified:
lldb/trunk/lldb.xcodeproj/project.pbxproj
lldb/trunk/lldb.xcworkspace/contents.xcworkspacedata
lldb/trunk/test/api/check_public_api_headers/TestPublicAPIHeaders.py
lldb/trunk/test/functionalities/dead-strip/Makefile
lldb/trunk/test/lang/c/modules/TestCModules.py
lldb/trunk/test/lang/objc/modules-auto-import/TestModulesAutoImport.py
lldb/trunk/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py

Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=237085r1=237084r2=237085view=diff
==
--- lldb/trunk/lldb.xcodeproj/project.pbxproj (original)
+++ lldb/trunk/lldb.xcodeproj/project.pbxproj Mon May 11 21:20:27 2015
@@ -696,6 +696,7 @@
26FFC19D14FC072100087D58 /* DynamicLoaderPOSIXDYLD.cpp in 
Sources */ = {isa = PBXBuildFile; fileRef = 26FFC19714FC072100087D58 /* 
DynamicLoaderPOSIXDYLD.cpp */; };
26FFC19E14FC072100087D58 /* DynamicLoaderPOSIXDYLD.h in Headers 
*/ = {isa = PBXBuildFile; fileRef = 26FFC19814FC072100087D58 /* 
DynamicLoaderPOSIXDYLD.h */; };
33064C9C1A5C7A490033D415 /* UriParser.h in CopyFiles */ = {isa 
= PBXBuildFile; fileRef = 33064C9B1A5C7A490033D415 /* UriParser.h */; };
+   332CCB181AFF41620034D4C4 /* SBLanguageRuntime.h in Headers */ = 
{isa = PBXBuildFile; fileRef = 3392EBB71AFF402200858B9F /* SBLanguageRuntime.h 
*/; settings = {ATTRIBUTES = (Public, ); }; };
33E5E8421A672A240024ED68 /* StringConvert.cpp in CopyFiles */ = 
{isa = PBXBuildFile; fileRef = 33E5E8411A672A240024ED68 /* StringConvert.cpp 
*/; };
33E5E8461A6736D30024ED68 /* StringConvert.h in CopyFiles */ = 
{isa = PBXBuildFile; fileRef = 33E5E8451A6736D30024ED68 /* StringConvert.h */; 
};
33E5E8471A674FB60024ED68 /* StringConvert.cpp in Sources */ = 
{isa = PBXBuildFile; fileRef = 33E5E8411A672A240024ED68 /* StringConvert.cpp 
*/; };
@@ -2209,6 +2210,7 @@
26FFC19814FC072100087D58 /* DynamicLoaderPOSIXDYLD.h */ = {isa 
= PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path 
= DynamicLoaderPOSIXDYLD.h; sourceTree = group; };
33064C991A5C7A330033D415 /* UriParser.cpp */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; 
name = UriParser.cpp; path = source/Utility/UriParser.cpp; sourceTree = 
group; };
33064C9B1A5C7A490033D415 /* UriParser.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = 
UriParser.h; path = source/Utility/UriParser.h; sourceTree = group; };
+   3392EBB71AFF402200858B9F /* SBLanguageRuntime.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = 
SBLanguageRuntime.h; path = include/lldb/API/SBLanguageRuntime.h; sourceTree = 
group; };
33E5E8411A672A240024ED68 /* StringConvert.cpp */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; 
path = StringConvert.cpp; sourceTree = group; };
33E5E8451A6736D30024ED68 /* StringConvert.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = 
StringConvert.h; path = include/lldb/Host/StringConvert.h; sourceTree = 
SOURCE_ROOT; };
3F5E8AF31A40D4A500A73232 /* PipeBase.h */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PipeBase.h; path = 
include/lldb/Host/PipeBase.h; sourceTree = group; };
@@ -3326,6 +3328,7 @@
9AC703AE117675410086C050 /* SBInstruction.cpp 
*/,
9AC7038F117675270086C050 /* SBInstructionList.h 
*/,
9AC703B0117675490086C050 /* 
SBInstructionList.cpp */,
+   3392EBB71AFF402200858B9F /* SBLanguageRuntime.h 
*/,
AF20F76C1AF18FC700751A6E /* 
SBLanguageRuntime.cpp */,
254FBB961A81B03100BD6378 /* SBLaunchInfo.h */,

[Lldb-commits] [lldb] r236963 - Fixed lldb-mi test failures introduced by r236956

2015-05-10 Thread Vince Harron
Author: vharron
Date: Sun May 10 17:01:59 2015
New Revision: 236963

URL: http://llvm.org/viewvc/llvm-project?rev=236963view=rev
Log:
Fixed lldb-mi test failures introduced by r236956

Move enable/disableLogForCurrentTest from lldbtest.TestBase to
lldbtest.Base so they're accessible to Mi tests


Modified:
lldb/trunk/test/lldbtest.py

Modified: lldb/trunk/test/lldbtest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=236963r1=236962r2=236963view=diff
==
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Sun May 10 17:01:59 2015
@@ -965,6 +965,55 @@ class Base(unittest2.TestCase):
 else:
 return True
 
+def enableLogChannelsForCurrentTest(self):
+if len(lldbtest_config.channels) == 0:
+return
+
+# if debug channels are specified in lldbtest_config.channels,
+# create a new set of log files for every test
+log_basename = self.getLogBasenameForCurrentTest()
+
+# confirm that the file is writeable
+host_log_path = {}-host.log.format(log_basename)
+open(host_log_path, 'w').close()
+
+log_enable = log enable -Tpn -f {} .format(host_log_path)
+for channel_with_categories in lldbtest_config.channels:
+channel_then_categories = channel_with_categories.split(' ', 1)
+channel = channel_then_categories[0]
+if len(channel_then_categories)  1:
+categories = channel_then_categories[1]
+else:
+categories = default
+
+if channel == gdb-remote:
+# communicate gdb-remote categories to debugserver
+os.environ[LLDB_DEBUGSERVER_LOG_FLAGS] = categories
+
+self.ci.HandleCommand(log_enable + channel_with_categories, 
self.res)
+if not self.res.Succeeded():
+raise Exception('log enable failed (check LLDB_LOG_OPTION env 
variable)')
+
+# Communicate log path name to debugserver  lldb-server
+server_log_path = {}-server.log.format(log_basename)
+open(server_log_path, 'w').close()
+os.environ[LLDB_DEBUGSERVER_LOG_FILE] = server_log_path
+
+# Communicate channels to lldb-server
+os.environ[LLDB_SERVER_LOG_CHANNELS] = 
:.join(lldbtest_config.channels)
+
+if len(lldbtest_config.channels) == 0:
+return
+
+def disableLogChannelsForCurrentTest(self):
+# close all log files that we opened
+for channel_and_categories in lldbtest_config.channels:
+# channel format - channel-name [category0 [category1 ...]]
+channel = channel_and_categories.split(' ', 1)[0]
+self.ci.HandleCommand(log disable  + channel, self.res)
+if not self.res.Succeeded():
+raise Exception('log disable failed (check LLDB_LOG_OPTION env 
variable)')
+
 def setUp(self):
 Fixture for unittest test case setup.
 
@@ -1095,6 +1144,25 @@ class Base(unittest2.TestCase):
 # set environment variable names for finding shared libraries
 self.dylibPath = self.platformContext.shlib_environment_var
 
+# Create the debugger instance if necessary.
+try:
+self.dbg = lldb.DBG
+except AttributeError:
+self.dbg = lldb.SBDebugger.Create()
+
+if not self.dbg:
+raise Exception('Invalid debugger instance')
+
+# Retrieve the associated command interpreter instance.
+self.ci = self.dbg.GetCommandInterpreter()
+if not self.ci:
+raise Exception('Could not get the command interpreter')
+
+# And the result object.
+self.res = lldb.SBCommandReturnObject()
+
+self.enableLogChannelsForCurrentTest()
+
 def runHooks(self, child=None, child_prompt=None, use_cmd_api=False):
 Perform the run hooks to bring lldb debugger to the desired state.
 
@@ -1867,55 +1935,6 @@ class TestBase(Base):
 folder = os.path.dirname(folder)
 continue
 
-def enableLogChannelsForCurrentTest(self):
-if len(lldbtest_config.channels) == 0:
-return
-
-# if debug channels are specified in lldbtest_config.channels,
-# create a new set of log files for every test
-log_basename = self.getLogBasenameForCurrentTest()
-
-# confirm that the file is writeable
-host_log_path = {}-host.log.format(log_basename)
-open(host_log_path, 'w').close()
-
-log_enable = log enable -Tpn -f {} .format(host_log_path)
-for channel_with_categories in lldbtest_config.channels:
-channel_then_categories = channel_with_categories.split(' ', 1)
-channel = channel_then_categories[0]
-if len(channel_then_categories)  1:
-categories = channel_then_categories[1]
-

[Lldb-commits] [lldb] r236945 - Fixed minor compile warnings

2015-05-10 Thread Vince Harron
Author: vharron
Date: Sun May 10 03:33:58 2015
New Revision: 236945

URL: http://llvm.org/viewvc/llvm-project?rev=236945view=rev
Log:
Fixed minor compile warnings


Modified:
lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp?rev=236945r1=236944r2=236945view=diff
==
--- lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp Sun May 
10 03:33:58 2015
@@ -4052,7 +4052,6 @@ ProcessGDBRemote::GetLoadedModuleList (G
 initGenericErrorDefaultFunc (func);
 
 GDBRemoteCommunicationClient  comm = m_gdb_comm;
-GDBRemoteDynamicRegisterInfo  regInfo = m_register_info;
 
 // check that we have extended feature read support
 if (!comm.GetQXferLibrariesSVR4ReadSupported ())
@@ -4228,7 +4227,7 @@ ProcessGDBRemote::LoadModules ()
 continue;
 
 // hack (cleaner way to get file name only?) (win/unix compat?)
-int marker = mod_name.rfind ('/');
+size_t marker = mod_name.rfind ('/');
 if (marker == std::string::npos)
 marker = 0;
 else


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r236958 - Remove unsupported lldb-server parameters from test

2015-05-10 Thread Vince Harron
Author: vharron
Date: Sun May 10 13:02:53 2015
New Revision: 236958

URL: http://llvm.org/viewvc/llvm-project?rev=236958view=rev
Log:
Remove unsupported lldb-server parameters from test


Modified:
lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py

Modified: lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py?rev=236958r1=236957r2=236958view=diff
==
--- lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py (original)
+++ lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py Sun May 10 13:02:53 
2015
@@ -162,14 +162,12 @@ class GdbRemoteTestCaseBase(TestBase):
 # If the binary has been deleted, the link name has  (deleted) 
appended.
 # Remove if it's there.
 self.debug_monitor_exe = re.sub(r' \(deleted\)$', '', 
shell_command.GetOutput().strip())
-dname = self.dbg.GetSelectedPlatform().GetWorkingDirectory()
 else:
 self.debug_monitor_exe = get_lldb_server_exe()
 if not self.debug_monitor_exe:
 self.skipTest(lldb-server exe not found)
-dname = os.path.join(os.environ[LLDB_TEST], 
os.environ[LLDB_SESSION_DIRNAME])
 
-self.debug_monitor_extra_args = [gdbserver, -c, log enable -T -f 
{}/process-{}.log lldb break process thread.format(dname, self.id()), -c, 
log enable -T -f {}/packets-{}.log gdb-remote packets.format(dname, 
self.id())]
+self.debug_monitor_extra_args = [gdbserver]
 if use_named_pipe:
 (self.named_pipe_path, self.named_pipe, self.named_pipe_fd) = 
self.create_named_pipe()
 


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r236957 - We can't use sys.path[0] to determine the script directory because it doesn't work under a debugger

2015-05-10 Thread Vince Harron
Author: vharron
Date: Sun May 10 10:24:12 2015
New Revision: 236957

URL: http://llvm.org/viewvc/llvm-project?rev=236957view=rev
Log:
We can't use sys.path[0] to determine the script directory because it doesn't 
work under a debugger

Test Plan: run tests with/without python debugger
Tested on OSX  Linux with PyCharm

Reviewers: chying, clayborg

Differential Revision: http://reviews.llvm.org/D9593


Modified:
lldb/trunk/test/dosep.py
lldb/trunk/test/dotest.py

Modified: lldb/trunk/test/dosep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=236957r1=236956r2=236957view=diff
==
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Sun May 10 10:24:12 2015
@@ -148,7 +148,9 @@ def walk_and_invoke(test_root, dotest_op
 return (timed_out, failed, passed)
 
 def main():
-test_root = sys.path[0]
+# We can't use sys.path[0] to determine the script directory
+# because it doesn't work under a debugger
+test_root = os.path.dirname(os.path.realpath(__file__))
 
 parser = OptionParser(usage=\
 Run lldb test suite using a separate process for each test file.

Modified: lldb/trunk/test/dotest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=236957r1=236956r2=236957view=diff
==
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Sun May 10 10:24:12 2015
@@ -253,7 +253,9 @@ verbose = 1
 progress_bar = False
 
 # By default, search from the script directory.
-testdirs = [ sys.path[0] ]
+# We can't use sys.path[0] to determine the script directory
+# because it doesn't work under a debugger
+testdirs = [ os.path.dirname(os.path.realpath(__file__)) ]
 
 # Separator string.
 separator = '-' * 70
@@ -375,6 +377,7 @@ o LLDB_LOG: if defined, specifies the lo
 o GDB_REMOTE_LOG: if defined, specifies the log file pathname for the
   'process.gdb-remote' subsystem with a default option of 'packets' if
   GDB_REMOTE_LOG_OPTION is not defined.
+
 
 sys.exit(0)
 
@@ -933,10 +936,10 @@ def setupSysPath():
 global lldbExecutablePath
 
 # Get the directory containing the current script.
-if (DOTEST_PROFILE in os.environ or DOTEST_PDB in os.environ) and 
DOTEST_SCRIPT_DIR in os.environ:
+if DOTEST_PROFILE in os.environ and DOTEST_SCRIPT_DIR in os.environ:
 scriptPath = os.environ[DOTEST_SCRIPT_DIR]
 else:
-scriptPath = sys.path[0]
+scriptPath = os.path.dirname(os.path.realpath(__file__))
 if not scriptPath.endswith('test'):
 print This script expects to reside in lldb's test directory.
 sys.exit(-1)
@@ -955,7 +958,7 @@ def setupSysPath():
 
 # Set up the LLDB_SRC environment variable, so that the tests can locate
 # the LLDB source code.
-os.environ[LLDB_SRC] = os.path.join(sys.path[0], os.pardir)
+os.environ[LLDB_SRC] = os.path.join(scriptPath, os.pardir)
 
 pluginPath = os.path.join(scriptPath, 'plugins')
 pexpectPath = os.path.join(scriptPath, 'pexpect-2.4')


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r236956 - Add support for ./dotest.py --channel and --log-success

2015-05-10 Thread Vince Harron
Author: vharron
Date: Sun May 10 10:22:09 2015
New Revision: 236956

URL: http://llvm.org/viewvc/llvm-project?rev=236956view=rev
Log:
Add support for ./dotest.py --channel and --log-success

Summary:
New dotest options that allow arbitrary log channels and
categories to be enabled.  Also enables logging for locally run
debug servers.

Log messages are separated into separate files per test case.
(this makes it possible to log in dosep runs)

These new log files are stored side-by-side with trace files in the
session directory.

These files are deleted by default if the test run is successful.

If --log-success is specified, even successful logs are retained.

--log-success is useful for creating reference log files.

Test Plan:
add '--channel lldb all --channel gdb-remote packets --log-success'
to your dotest options

Tested on OSX and Linux

Differential Revision: http://reviews.llvm.org/D9594


Added:
lldb/trunk/test/lldbtest_config.py
Modified:
lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
lldb/trunk/test/dotest.py
lldb/trunk/test/lldbtest.py
lldb/trunk/tools/lldb-server/CMakeLists.txt
lldb/trunk/tools/lldb-server/lldb-gdbserver.cpp

Modified: 
lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp?rev=236956r1=236955r2=236956view=diff
==
--- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp 
(original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp Sun 
May 10 10:22:09 2015
@@ -850,12 +850,21 @@ GDBRemoteCommunication::StartDebugserver
 debugserver_args.AppendArgument(arg_cstr);
 }
 
+#if defined(__APPLE__)
 const char *env_debugserver_log_flags = 
getenv(LLDB_DEBUGSERVER_LOG_FLAGS);
 if (env_debugserver_log_flags)
 {
 ::snprintf (arg_cstr, sizeof(arg_cstr), --log-flags=%s, 
env_debugserver_log_flags);
 debugserver_args.AppendArgument(arg_cstr);
 }
+#else
+const char *env_debugserver_log_channels = 
getenv(LLDB_SERVER_LOG_CHANNELS);
+if (env_debugserver_log_channels)
+{
+::snprintf (arg_cstr, sizeof(arg_cstr), --log-channels=%s, 
env_debugserver_log_channels);
+debugserver_args.AppendArgument(arg_cstr);
+}
+#endif
 
 // Add additional args, starting with LLDB_DEBUGSERVER_EXTRA_ARG_1 
until an env var doesn't come back.
 uint32_t env_var_index = 1;

Modified: lldb/trunk/test/dotest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=236956r1=236955r2=236956view=diff
==
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Sun May 10 10:22:09 2015
@@ -32,6 +32,7 @@ import textwrap
 import time
 import inspect
 import unittest2
+import lldbtest_config
 
 if sys.version_info = (2, 7):
 argparse = __import__('argparse')
@@ -337,7 +338,36 @@ notify the directory containing the sess
 In case there is any test failure/error, a similar message is appended at the
 end of the stderr output for your convenience.
 
-Environment variables related to loggings:
+ENABLING LOGS FROM TESTS
+
+Option 1:
+
+Writing logs into different files per test case::
+
+This option is particularly useful when multiple dotest instances are created
+by dosep.py
+
+$ ./dotest.py --channel lldb all
+
+$ ./dotest.py --channel lldb all --channel gdb-remote packets
+
+These log files are written to:
+
+session-dir/test-id.log (logs from lldb host process)
+session-dir/test-id-server.log (logs from debugserver/lldb-server)
+session-dir/test-id-trace-test-result.log (console logs)
+
+By default, logs from successful runs are deleted.  Use the --log-success flag
+to create reference logs for debugging.
+
+$ ./dotest.py --log-success
+
+Option 2: (DEPRECATED)
+
+The following options can only enable logs from the host lldb process.
+Only categories from the lldb or gdb-remote channels can be enabled
+They also do not automatically enable logs in locally running debug servers.
+Also, logs from all test case are written into each log file
 
 o LLDB_LOG: if defined, specifies the log file pathname for the 'lldb' 
subsystem
   with a default option of 'event process' if LLDB_LOG_OPTION is not defined.
@@ -522,6 +552,8 @@ def parseOptionsAndInitTestdirs():
 group.add_argument('-x', metavar='breakpoint-spec', help='Specify the 
breakpoint specification for the benchmark executable')
 group.add_argument('-y', type=int, metavar='count', help=Specify the 
iteration count used to collect our benchmarks. An example is the number of 
times to do 'thread step-over' to measure stepping speed.)
 group.add_argument('-#', type=int, metavar='sharp', 

[Lldb-commits] [lldb] r236914 - TestCModules was effectively skipped on Linux

2015-05-08 Thread Vince Harron
Author: vharron
Date: Fri May  8 18:17:46 2015
New Revision: 236914

URL: http://llvm.org/viewvc/llvm-project?rev=236914view=rev
Log:
TestCModules was effectively skipped on Linux

Summary: I've removed the secret skip and added expectedFailureLinux

Test Plan: run tests

Reviewers: flackr

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D9615


Modified:
lldb/trunk/test/lang/c/modules/TestCModules.py

Modified: lldb/trunk/test/lang/c/modules/TestCModules.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/c/modules/TestCModules.py?rev=236914r1=236913r2=236914view=diff
==
--- lldb/trunk/test/lang/c/modules/TestCModules.py (original)
+++ lldb/trunk/test/lang/c/modules/TestCModules.py Fri May  8 18:17:46 2015
@@ -22,6 +22,7 @@ class CModulesTestCase(TestBase):
 
 @dwarf_test
 @skipIfFreeBSD
+@expectedFailureLinux('http://llvm.org/pr23456') # 'fopen' has unknown 
return type
 def test_expr_with_dwarf(self):
 self.buildDwarf()
 self.expr()
@@ -33,9 +34,7 @@ class CModulesTestCase(TestBase):
 self.line = line_number('main.c', '// Set breakpoint 0 here.')
 
 def applies(self):
-if platform.system() != Darwin:
-return False
-if StrictVersion('12.0.0')  platform.release():
+if platform.system() == Darwin and platform.release()  
StrictVersion('12.0.0'):
 return False
 
 return True


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r236410 - TestCModules - fixed for gcc

2015-05-04 Thread Vince Harron
Author: vharron
Date: Mon May  4 01:26:13 2015
New Revision: 236410

URL: http://llvm.org/viewvc/llvm-project?rev=236410view=rev
Log:
TestCModules - fixed for gcc

Changed restrict keyword to something understood by gcc


Modified:
lldb/trunk/test/lang/c/modules/main.c
lldb/trunk/test/lldbinline.py

Modified: lldb/trunk/test/lang/c/modules/main.c
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/c/modules/main.c?rev=236410r1=236409r2=236410view=diff
==
--- lldb/trunk/test/lang/c/modules/main.c (original)
+++ lldb/trunk/test/lang/c/modules/main.c Mon May  4 01:26:13 2015
@@ -1,6 +1,6 @@
 #include stdlib.h
 
-int printf(const char * restrict format, ...);
+int printf(const char * __restrict format, ...);
 
 typedef struct {
 int a;

Modified: lldb/trunk/test/lldbinline.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbinline.py?rev=236410r1=236409r2=236410view=diff
==
--- lldb/trunk/test/lldbinline.py (original)
+++ lldb/trunk/test/lldbinline.py Mon May  4 01:26:13 2015
@@ -121,7 +121,6 @@ class InlineTest(TestBase):
 self.buildDsym()
 self.do_test()
 
-@expectedFailureGcc #xfail to get buildbot green, test failed with gcc4.8.2
 def __test_with_dwarf(self):
 self.using_dsym = False
 self.BuildMakefile()


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r236396 - TestMultithreaded improvements

2015-05-03 Thread Vince Harron
Author: vharron
Date: Sun May  3 19:17:53 2015
New Revision: 236396

URL: http://llvm.org/viewvc/llvm-project?rev=236396view=rev
Log:
TestMultithreaded improvements

These tests link against host lldb API. Compiler's target triple
must match liblldb triple. Instead of naively skipping i386, I added
a check of the liblldb arch against the compiler target arch.

This is useful for 32 bit API builds (planned for Windows)

Since remote is disabled, we can assume the os is the same.

Also, removed skipIfLinuxClang because it's passing


Modified:
lldb/trunk/test/api/multithreaded/TestMultithreaded.py
lldb/trunk/test/lldbtest.py

Modified: lldb/trunk/test/api/multithreaded/TestMultithreaded.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/api/multithreaded/TestMultithreaded.py?rev=236396r1=236395r2=236396view=diff
==
--- lldb/trunk/test/api/multithreaded/TestMultithreaded.py (original)
+++ lldb/trunk/test/api/multithreaded/TestMultithreaded.py Sun May  3 19:17:53 
2015
@@ -15,23 +15,18 @@ class SBBreakpointCallbackCase(TestBase)
 self.lib_dir = os.environ[LLDB_LIB_DIR]
 self.implib_dir = os.environ[LLDB_IMPLIB_DIR]
 self.inferior = 'inferior_program'
-if self.getArchitecture() != i386:
-  self.buildProgram('inferior.cpp', self.inferior)
-  self.addTearDownHook(lambda: os.remove(self.inferior))
+if self.getLldbArchitecture() == self.getArchitecture():
+self.buildProgram('inferior.cpp', self.inferior)
+self.addTearDownHook(lambda: os.remove(self.inferior))
 
-@unittest2.expectedFailure(llvm.org/pr16000: SBBreakpoint.SetCallback() 
does nothing)
-@skipIfi386
 @skipIfRemote
-@skipIfLinuxClang # buildbot clang version unable to use libstdc++ with 
c++11
 @skipIfNoSBHeaders
 def test_breakpoint_callback(self):
 Test the that SBBreakpoint callback is invoked when a breakpoint is 
hit. 
 self.build_and_test('driver.cpp test_breakpoint_callback.cpp',
 'test_breakpoint_callback')
 
-@skipIfi386
 @skipIfRemote
-@skipIfLinuxClang # buildbot clang version unable to use libstdc++ with 
c++11
 @skipIfNoSBHeaders
 @expectedFailureAll(llvm.org/pr23139, oslist=[linux], compiler=gcc, 
compiler_version=[=,4.9], archs=[x86_64])
 def test_sb_api_listener_event_description(self):
@@ -40,9 +35,7 @@ class SBBreakpointCallbackCase(TestBase)
 'test_listener_event_description')
 pass
 
-@skipIfi386
 @skipIfRemote
-@skipIfLinuxClang # buildbot clang version unable to use libstdc++ with 
c++11
 @skipIfNoSBHeaders
 @expectedFailureAll(llvm.org/pr23139, oslist=[linux], compiler=gcc, 
compiler_version=[=,4.9], archs=[x86_64])
 def test_sb_api_listener_event_process_state(self):
@@ -54,9 +47,7 @@ class SBBreakpointCallbackCase(TestBase)
 pass
 
 
-@skipIfi386
 @skipIfRemote
-@skipIfLinuxClang # buildbot clang version unable to use libstdc++ with 
c++11
 @skipIfNoSBHeaders
 @expectedFailureAll(llvm.org/pr23139, oslist=[linux], compiler=gcc, 
compiler_version=[=,4.9], archs=[x86_64])
 def test_sb_api_listener_resume(self):
@@ -67,6 +58,14 @@ class SBBreakpointCallbackCase(TestBase)
 
 def build_and_test(self, sources, test_name, args = None):
  Build LLDB test from sources, and run expecting 0 exit code 
+
+# These tests link against host lldb API.
+# Compiler's target triple must match liblldb triple
+# because remote is disabled, we can assume that the os is the same
+# still need to check architecture
+if self.getLldbArchitecture() != self.getArchitecture():
+self.skipTest(This test is only run if the target arch is the 
same as the lldb binary arch)
+
 self.buildDriver(sources, test_name)
 self.addTearDownHook(lambda: os.remove(test_name))
 

Modified: lldb/trunk/test/lldbtest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=236396r1=236395r2=236396view=diff
==
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Sun May  3 19:17:53 2015
@@ -1425,6 +1425,30 @@ class Base(unittest2.TestCase):
 arch = 'x86_64'
 return arch
 
+def getLldbArchitecture(self):
+Returns the architecture of the lldb binary.
+if not hasattr(self, 'lldbArchitecture'):
+
+# spawn local process
+command = [
+self.lldbHere,
+-o,
+file  + self.lldbHere,
+-o,
+quit
+]
+
+output = check_output(command)
+str = output.decode(utf-8);
+
+for line in str.splitlines():
+m = re.search(Current executable set to '.*' 

[Lldb-commits] [lldb] r236407 - XFAILing a test that fails with gcc 4.9 x86_64

2015-05-03 Thread Vince Harron
Author: vharron
Date: Sun May  3 22:53:22 2015
New Revision: 236407

URL: http://llvm.org/viewvc/llvm-project?rev=236407view=rev
Log:
XFAILing a test that fails with gcc 4.9 x86_64

Modified:
lldb/trunk/test/api/multithreaded/TestMultithreaded.py

Modified: lldb/trunk/test/api/multithreaded/TestMultithreaded.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/api/multithreaded/TestMultithreaded.py?rev=236407r1=236406r2=236407view=diff
==
--- lldb/trunk/test/api/multithreaded/TestMultithreaded.py (original)
+++ lldb/trunk/test/api/multithreaded/TestMultithreaded.py Sun May  3 22:53:22 
2015
@@ -21,6 +21,7 @@ class SBBreakpointCallbackCase(TestBase)
 
 @skipIfRemote
 @skipIfNoSBHeaders
+@expectedFailureAll(llvm.org/pr23139, oslist=[linux], compiler=gcc, 
compiler_version=[=,4.9], archs=[x86_64])
 def test_breakpoint_callback(self):
 Test the that SBBreakpoint callback is invoked when a breakpoint is 
hit. 
 self.build_and_test('driver.cpp test_breakpoint_callback.cpp',


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r236403 - un-skipped a bunch of tests on Linux

2015-05-03 Thread Vince Harron
Author: vharron
Date: Sun May  3 22:06:04 2015
New Revision: 236403

URL: http://llvm.org/viewvc/llvm-project?rev=236403view=rev
Log:
un-skipped a bunch of tests on Linux

Some have been marked as skipIfLinux for years.
The seem to be passing so I've enabled them.

Differential Revision: http://reviews.llvm.org/D9428


Modified:
lldb/trunk/test/benchmarks/continue/TestBenchmarkContinue.py
lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py
lldb/trunk/test/functionalities/dead-strip/Makefile
lldb/trunk/test/functionalities/dead-strip/TestDeadStrip.py
lldb/trunk/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py

lldb/trunk/test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
lldb/trunk/test/lang/c/modules/TestCModules.py
lldb/trunk/test/python_api/event/TestEvents.py

Modified: lldb/trunk/test/benchmarks/continue/TestBenchmarkContinue.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/benchmarks/continue/TestBenchmarkContinue.py?rev=236403r1=236402r2=236403view=diff
==
--- lldb/trunk/test/benchmarks/continue/TestBenchmarkContinue.py (original)
+++ lldb/trunk/test/benchmarks/continue/TestBenchmarkContinue.py Sun May  3 
22:06:04 2015
@@ -21,7 +21,6 @@ class TestBenchmarkContinue(BenchBase):
 self.data_formatter_commands()
 
 @benchmarks_test
-@skipIfLinux # No standard locations for libc++ on Linux, so skip for now 
 @dwarf_test
 def test_with_dwarf_and_run_command(self):
 Benchmark different ways to continue a process

Modified: 
lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py?rev=236403r1=236402r2=236403view=diff
==
--- lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py 
(original)
+++ lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py 
Sun May  3 22:06:04 2015
@@ -29,7 +29,7 @@ class ExprCommandThatRestartsTestCase(Te
 
 @dwarf_test
 @skipIfFreeBSD # llvm.org/pr19246: intermittent failure
-@skipIfLinux # llvm.org/pr19246: intermittent failure
+@expectedFailureLinux(llvm.org/pr19246) # intermittent failure
 @skipIfDarwin # llvm.org/pr19246: intermittent failure
 @skipIfWindows # Test relies on signals, unsupported on Windows
 def test_with_dwarf(self):

Modified: lldb/trunk/test/functionalities/dead-strip/Makefile
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/dead-strip/Makefile?rev=236403r1=236402r2=236403view=diff
==
--- lldb/trunk/test/functionalities/dead-strip/Makefile (original)
+++ lldb/trunk/test/functionalities/dead-strip/Makefile Sun May  3 22:06:04 2015
@@ -1,7 +1,14 @@
 LEVEL = ../../make
 
 C_SOURCES := main.c
-LDFLAGS = $(CFLAGS) -Xlinker -dead_strip
+
+ifeq $(OS) Darwin
+LDFLAGS = $(CFLAGS) -Xlinker -dead_strip
+else
+CFLAGS += -fdata-sections -ffunction-sections
+LDFLAGS = $(CFLAGS) -Wl,--gc-sections
+endif
+
 MAKE_DSYM := NO
 
 include $(LEVEL)/Makefile.rules

Modified: lldb/trunk/test/functionalities/dead-strip/TestDeadStrip.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/dead-strip/TestDeadStrip.py?rev=236403r1=236402r2=236403view=diff
==
--- lldb/trunk/test/functionalities/dead-strip/TestDeadStrip.py (original)
+++ lldb/trunk/test/functionalities/dead-strip/TestDeadStrip.py Sun May  3 
22:06:04 2015
@@ -20,7 +20,6 @@ class DeadStripTestCase(TestBase):
 self.dead_strip()
 
 @skipIfFreeBSD # The -dead_strip linker option isn't supported on FreeBSD 
versions of ld.
-@skipIfLinux # The -dead_strip linker option isn't supported on Linux 
versions of ld.
 @dwarf_test
 def test_with_dwarf(self):
 Test breakpoint works correctly with dead-code stripping.

Modified: 
lldb/trunk/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py?rev=236403r1=236402r2=236403view=diff
==
--- lldb/trunk/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py 
(original)
+++ lldb/trunk/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py Sun 
May  3 22:06:04 2015
@@ -41,7 +41,7 @@ class ReturnValueTestCase(TestBase):
 
 @python_api_test
 @dwarf_test
-@skipIfLinux # intermittent failure - llvm.org/pr19247
+@expectedFailureGcc(llvm.org/pr19247)
 def test_step_over_with_dwarf_python(self):
 Test stepping over using avoid-no-debug with dwarf.
 

[Lldb-commits] [lldb] r236401 - Enabled libc++ formatter tests on Linux

2015-05-03 Thread Vince Harron
Author: vharron
Date: Sun May  3 21:56:32 2015
New Revision: 236401

URL: http://llvm.org/viewvc/llvm-project?rev=236401view=rev
Log:
Enabled libc++ formatter tests on Linux

Refactored TestInitializerList to not be an inline test.
Refactored Makefiles to use USE_LIBCPP instead of adding FLAGS directly
Fixed copy/paste error in TestDataFormatterUnordered class name

Differenttial Revision: http://reviews.llvm.org/D9426


Modified:

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/main.cpp

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/Makefile

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/Makefile

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/Makefile

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/Makefile

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/Makefile

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/Makefile

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/Makefile

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/Makefile

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/Makefile

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/Makefile

lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
lldb/trunk/test/lldbtest.py
lldb/trunk/test/make/Makefile.rules

Modified: 
lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py?rev=236401r1=236400r2=236401view=diff
==
--- 
lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
 (original)
+++ 
lldb/trunk/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
 Sun May  3 21:56:32 2015
@@ -1,6 +1,57 @@
-import lldbinline
+
+Test lldb data formatter subsystem.
+
+
+import os, time
+import unittest2
+import lldb
 from lldbtest import *
+import lldbutil
+
+class InitializerListTestCase(TestBase):
+
+mydir = TestBase.compute_mydir(__file__)
+
+@skipUnlessDarwin
+@dsym_test
+def test_with_dsym(self):
+Test data formatter commands.
+self.buildDsym()
+self.data_formatter_commands()
+
+@skipIfWindows # libc++ not ported to Windows yet
+@skipIfGcc
+@expectedFailureLinux # fails on clang 3.5 and tot
+@dwarf_test
+def test_with_dwarf(self):
+Test data formatter commands.
+self.buildDwarf()
+self.data_formatter_commands()
+
+def setUp(self):
+# Call super's setUp().
+TestBase.setUp(self)
+
+def data_formatter_commands(self):
+Test that that file and class static variables display correctly.
+self.runCmd(file a.out, CURRENT_EXECUTABLE_SET)
+
+bkpt = 
self.target().FindBreakpointByID(lldbutil.run_break_set_by_source_regexp (self, 
Set break point at this line.))
+
+self.runCmd(run, RUN_SUCCEEDED)
+
+# The stop reason of the thread should be breakpoint.
+self.expect(thread list, STOPPED_DUE_TO_BREAKPOINT,
+substrs = ['stopped',
+   'stop reason = breakpoint'])
+
+self.expect(frame variable ili, substrs = ['[1] = 2','[4] = 5'])
+self.expect(frame variable ils, 

[Lldb-commits] [lldb] r236402 - Fixed skipIfLinuxClang to check the target architecture

2015-05-03 Thread Vince Harron
Author: vharron
Date: Sun May  3 21:59:19 2015
New Revision: 236402

URL: http://llvm.org/viewvc/llvm-project?rev=236402view=rev
Log:
Fixed skipIfLinuxClang to check the target architecture

Instead of the host architecture

This decorator isn't in use anywhere currently.
Add it to a test and run


Modified:
lldb/trunk/test/lldbtest.py

Modified: lldb/trunk/test/lldbtest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=236402r1=236401r2=236402view=diff
==
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Sun May  3 21:59:19 2015
@@ -747,8 +747,8 @@ def skipIfLinuxClang(func):
 from unittest2 import case
 self = args[0]
 compiler = self.getCompiler()
-platform = sys.platform
-if clang in compiler and linux in platform:
+platform = self.getPlatform()
+if clang in compiler and platform == linux:
 self.skipTest(skipping because Clang is used on Linux)
 else:
 func(*args, **kwargs)


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [Diffusion] rL234993: TestConvenienceVariables - fixed a Linux problem

2015-04-15 Thread Vince Harron
Thanks for the fix.

On Wed, Apr 15, 2015 at 3:15 PM, Ilia K ki.s...@gmail.com wrote:

 $ svn ci
 Sending
 test/functionalities/embedded_interpreter/TestConvenienceVariables.py
 Transmitting file data .
 Committed revision 235010.


 USERS
   vharron (Author)
   ki.stfu (Auditor)

 http://reviews.llvm.org/rL234993

 EMAIL PREFERENCES
   http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r234992 - Exception registers aren't supported outside of Darwin

2015-04-15 Thread Vince Harron
Author: vharron
Date: Wed Apr 15 05:31:42 2015
New Revision: 234992

URL: http://llvm.org/viewvc/llvm-project?rev=234992view=rev
Log:
Exception registers aren't supported outside of Darwin

Updated test to match

Differential Revision: http://reviews.llvm.org/D8812


Modified:
lldb/trunk/test/python_api/lldbutil/iter/TestRegistersIterator.py

Modified: lldb/trunk/test/python_api/lldbutil/iter/TestRegistersIterator.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/python_api/lldbutil/iter/TestRegistersIterator.py?rev=234992r1=234991r2=234992view=diff
==
--- lldb/trunk/test/python_api/lldbutil/iter/TestRegistersIterator.py (original)
+++ lldb/trunk/test/python_api/lldbutil/iter/TestRegistersIterator.py Wed Apr 
15 05:31:42 2015
@@ -19,7 +19,6 @@ class RegistersIteratorTestCase(TestBase
 self.line1 = line_number('main.cpp', '// Set break point at this 
line.')
 
 @expectedFailureFreeBSD # llvm.org/pr14600 - Exception state registers not 
supported on FreeBSD
-@expectedFailureLinux # llvm.org/pr14600 - Exception state registers not 
supported on Linux
 @python_api_test
 def test_iter_registers(self):
 Test iterator works correctly for lldbutil.iter_registers().
@@ -68,21 +67,29 @@ class RegistersIteratorTestCase(TestBase
 print %s = %s % (reg.GetName(), reg.GetValue())
 
 REGs = lldbutil.get_ESRs(frame)
-num = len(REGs)
-if self.TraceOn():
-print \nNumber of exception state registers: %d % num
-for reg in REGs:
-self.assertTrue(reg)
+if self.platformIsDarwin():
+num = len(REGs)
 if self.TraceOn():
-print %s = %s % (reg.GetName(), reg.GetValue())
+print \nNumber of exception state registers: %d 
% num
+for reg in REGs:
+self.assertTrue(reg)
+if self.TraceOn():
+print %s = %s % (reg.GetName(), 
reg.GetValue())
+else:
+self.assertIsNone(REGs)
 
 # And these should also work.
 for kind in [General Purpose Registers,
- Floating Point Registers,
- Exception State Registers]:
+ Floating Point Registers]:
 REGs = lldbutil.get_registers(frame, kind)
 self.assertTrue(REGs)
 
+REGs = lldbutil.get_registers(frame, Exception State 
Registers)
+if self.platformIsDarwin():
+self.assertIsNotNone(REGs)
+else:
+self.assertIsNone(REGs)
+
 # We've finished dumping the registers for frame #0.
 break
 


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r234993 - TestConvenienceVariables - fixed a Linux problem

2015-04-15 Thread Vince Harron
Author: vharron
Date: Wed Apr 15 05:36:39 2015
New Revision: 234993

URL: http://llvm.org/viewvc/llvm-project?rev=234993view=rev
Log:
TestConvenienceVariables - fixed a Linux problem

Test was waiting for wrong string on Linux.
It is still marked as XFAIL because of an intermittent failure.

Differential Revision: http://reviews.llvm.org/D8679


Modified:

lldb/trunk/test/functionalities/embedded_interpreter/TestConvenienceVariables.py

Modified: 
lldb/trunk/test/functionalities/embedded_interpreter/TestConvenienceVariables.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/embedded_interpreter/TestConvenienceVariables.py?rev=234993r1=234992r2=234993view=diff
==
--- 
lldb/trunk/test/functionalities/embedded_interpreter/TestConvenienceVariables.py
 (original)
+++ 
lldb/trunk/test/functionalities/embedded_interpreter/TestConvenienceVariables.py
 Wed Apr 15 05:36:39 2015
@@ -79,8 +79,12 @@ class ConvenienceVariablesCase(TestBase)
 
 child.sendline('print lldb.thread')
 child.expect_exact(python_prompt)
+# Linux outputs decimal tid and 'name' instead of 'queue'
 self.expect(child.before, exe=False,
-patterns = ['thread #1: tid = 0x[0-9a-f]+, 0x[0-9a-f]+ 
a\.out`main\(argc=1, argv=0x[0-9a-f]+\) \+ \d+ at main\.c:%d, queue = \'.+\', 
stop reason = breakpoint 1\.1' % self.line])
+patterns = ['thread #1: tid = (0x[0-9a-f]+|[0-9]+), 0x[0-9a-f]+ ' +
+'a\.out`main\(argc=1, argv=0x[0-9a-f]+\) \+ \d+ ' +
+'at main\.c:%d, (name|queue) = \'.+\', stop reason =' 
+ 
+' breakpoint 1\.1' % self.line])
 
 child.sendline('print lldb.frame')
 child.expect_exact(python_prompt)


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r234994 - Skip reverse connect test when running remotely

2015-04-15 Thread Vince Harron
Author: vharron
Date: Wed Apr 15 05:39:17 2015
New Revision: 234994

URL: http://llvm.org/viewvc/llvm-project?rev=234994view=rev
Log:
Skip reverse connect test when running remotely

This use case is not supported and may be removed in the future if not
needed


Modified:
lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py

Modified: 
lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py?rev=234994r1=234993r2=234994view=diff
==
--- lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py 
(original)
+++ lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py Wed 
Apr 15 05:39:17 2015
@@ -75,6 +75,7 @@ class TestStubReverseConnect(gdbremote_t
 self.reverse_connect_works()
 
 @llgs_test
+@skipIfRemote # reverse connect is not a supported use case for now
 def test_reverse_connect_works_llgs(self):
 self.init_llgs_test(use_named_pipe=False)
 self.set_inferior_startup_launch()


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r234995 - Fixed remote failures in TestCPP11EnumTypes, probably others

2015-04-15 Thread Vince Harron
Author: vharron
Date: Wed Apr 15 05:40:51 2015
New Revision: 234995

URL: http://llvm.org/viewvc/llvm-project?rev=234995view=rev
Log:
Fixed remote failures in TestCPP11EnumTypes, probably others

Typically, LLGS only sends stdout/stderr notifications when the inferior
process is running.

Because LLGS reads stdout from the process in a separate thread, sometimes
these stdout notifications can be received after the server has sent a thread
stop message. The host isn't expecting stdout to be generated by the target
after a stop message and these messages interfere with the host's request/
response paradigm.

Differential Revision: http://reviews.llvm.org/D9024


Modified:

lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp

Modified: 
lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp?rev=234995r1=234994r2=234995view=diff
==
--- 
lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
 (original)
+++ 
lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
 Wed Apr 15 05:40:51 2015
@@ -747,6 +747,11 @@ GDBRemoteCommunicationServerLLGS::Proces
 StateAsCString (state));
 }
 
+// Make sure we get all of the pending stdout/stderr from the inferior
+// and send it to the lldb host before we send the state change
+// notification
+m_stdio_communication.SynchronizeWithReadThread();
+
 switch (state)
 {
 case StateType::eStateExited:


___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Change Linux Platform to support non-host Linux architectures

2015-04-05 Thread Vince Harron
Thanks for adding MIPS!  LGTM


http://reviews.llvm.org/D8709

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] TestRecursiveInferior fixed on Linux

2015-04-02 Thread Vince Harron
Hi Greg, Friendly ping


http://reviews.llvm.org/D8678

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] Exception registers aren't supported outside of Darwin

2015-04-02 Thread Vince Harron
Hi clayborg,

Updated test for that

http://reviews.llvm.org/D8812

Files:
  test/python_api/lldbutil/iter/TestRegistersIterator.py

Index: test/python_api/lldbutil/iter/TestRegistersIterator.py
===
--- test/python_api/lldbutil/iter/TestRegistersIterator.py
+++ test/python_api/lldbutil/iter/TestRegistersIterator.py
@@ -19,7 +19,6 @@
 self.line1 = line_number('main.cpp', '// Set break point at this 
line.')
 
 @expectedFailureFreeBSD # llvm.org/pr14600 - Exception state registers not 
supported on FreeBSD
-@expectedFailureLinux # llvm.org/pr14600 - Exception state registers not 
supported on Linux
 @python_api_test
 def test_iter_registers(self):
 Test iterator works correctly for lldbutil.iter_registers().
@@ -68,21 +67,29 @@
 print %s = %s % (reg.GetName(), reg.GetValue())
 
 REGs = lldbutil.get_ESRs(frame)
-num = len(REGs)
-if self.TraceOn():
-print \nNumber of exception state registers: %d % num
-for reg in REGs:
-self.assertTrue(reg)
+if darwin in sys.platform:
+num = len(REGs)
 if self.TraceOn():
-print %s = %s % (reg.GetName(), reg.GetValue())
+print \nNumber of exception state registers: %d 
% num
+for reg in REGs:
+self.assertTrue(reg)
+if self.TraceOn():
+print %s = %s % (reg.GetName(), 
reg.GetValue())
+else:
+self.assertIsNone(REGs)
 
 # And these should also work.
 for kind in [General Purpose Registers,
- Floating Point Registers,
- Exception State Registers]:
+ Floating Point Registers]:
 REGs = lldbutil.get_registers(frame, kind)
 self.assertTrue(REGs)
 
+REGs = lldbutil.get_registers(frame, Exception State 
Registers)
+if darwin in sys.platform:
+self.assertIsNotNone(REGs)
+else:
+self.assertIsNone(REGs)
+
 # We've finished dumping the registers for frame #0.
 break

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
Index: test/python_api/lldbutil/iter/TestRegistersIterator.py
===
--- test/python_api/lldbutil/iter/TestRegistersIterator.py
+++ test/python_api/lldbutil/iter/TestRegistersIterator.py
@@ -19,7 +19,6 @@
 self.line1 = line_number('main.cpp', '// Set break point at this line.')
 
 @expectedFailureFreeBSD # llvm.org/pr14600 - Exception state registers not supported on FreeBSD
-@expectedFailureLinux # llvm.org/pr14600 - Exception state registers not supported on Linux
 @python_api_test
 def test_iter_registers(self):
 Test iterator works correctly for lldbutil.iter_registers().
@@ -68,21 +67,29 @@
 print %s = %s % (reg.GetName(), reg.GetValue())
 
 REGs = lldbutil.get_ESRs(frame)
-num = len(REGs)
-if self.TraceOn():
-print \nNumber of exception state registers: %d % num
-for reg in REGs:
-self.assertTrue(reg)
+if darwin in sys.platform:
+num = len(REGs)
 if self.TraceOn():
-print %s = %s % (reg.GetName(), reg.GetValue())
+print \nNumber of exception state registers: %d % num
+for reg in REGs:
+self.assertTrue(reg)
+if self.TraceOn():
+print %s = %s % (reg.GetName(), reg.GetValue())
+else:
+self.assertIsNone(REGs)
 
 # And these should also work.
 for kind in [General Purpose Registers,
- Floating Point Registers,
- Exception State Registers]:
+ Floating Point Registers]:
 REGs = lldbutil.get_registers(frame, kind)
 self.assertTrue(REGs)
 
+REGs = lldbutil.get_registers(frame, Exception State Registers)
+if darwin in sys.platform:
+self.assertIsNotNone(REGs)
+else:
+self.assertIsNone(REGs)
+
   

Re: [Lldb-commits] [PATCH] Exception registers aren't supported outside of Darwin

2015-04-02 Thread Vince Harron
sys.platform in ['darwin'] with self.platformIsDarwin()


http://reviews.llvm.org/D8812

Files:
  test/python_api/lldbutil/iter/TestRegistersIterator.py

Index: test/python_api/lldbutil/iter/TestRegistersIterator.py
===
--- test/python_api/lldbutil/iter/TestRegistersIterator.py
+++ test/python_api/lldbutil/iter/TestRegistersIterator.py
@@ -19,7 +19,6 @@
 self.line1 = line_number('main.cpp', '// Set break point at this 
line.')
 
 @expectedFailureFreeBSD # llvm.org/pr14600 - Exception state registers not 
supported on FreeBSD
-@expectedFailureLinux # llvm.org/pr14600 - Exception state registers not 
supported on Linux
 @python_api_test
 def test_iter_registers(self):
 Test iterator works correctly for lldbutil.iter_registers().
@@ -68,21 +67,29 @@
 print %s = %s % (reg.GetName(), reg.GetValue())
 
 REGs = lldbutil.get_ESRs(frame)
-num = len(REGs)
-if self.TraceOn():
-print \nNumber of exception state registers: %d % num
-for reg in REGs:
-self.assertTrue(reg)
+if self.platformIsDarwin():
+num = len(REGs)
 if self.TraceOn():
-print %s = %s % (reg.GetName(), reg.GetValue())
+print \nNumber of exception state registers: %d 
% num
+for reg in REGs:
+self.assertTrue(reg)
+if self.TraceOn():
+print %s = %s % (reg.GetName(), 
reg.GetValue())
+else:
+self.assertIsNone(REGs)
 
 # And these should also work.
 for kind in [General Purpose Registers,
- Floating Point Registers,
- Exception State Registers]:
+ Floating Point Registers]:
 REGs = lldbutil.get_registers(frame, kind)
 self.assertTrue(REGs)
 
+REGs = lldbutil.get_registers(frame, Exception State 
Registers)
+if self.platformIsDarwin():
+self.assertIsNotNone(REGs)
+else:
+self.assertIsNone(REGs)
+
 # We've finished dumping the registers for frame #0.
 break

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
Index: test/python_api/lldbutil/iter/TestRegistersIterator.py
===
--- test/python_api/lldbutil/iter/TestRegistersIterator.py
+++ test/python_api/lldbutil/iter/TestRegistersIterator.py
@@ -19,7 +19,6 @@
 self.line1 = line_number('main.cpp', '// Set break point at this line.')
 
 @expectedFailureFreeBSD # llvm.org/pr14600 - Exception state registers not supported on FreeBSD
-@expectedFailureLinux # llvm.org/pr14600 - Exception state registers not supported on Linux
 @python_api_test
 def test_iter_registers(self):
 Test iterator works correctly for lldbutil.iter_registers().
@@ -68,21 +67,29 @@
 print %s = %s % (reg.GetName(), reg.GetValue())
 
 REGs = lldbutil.get_ESRs(frame)
-num = len(REGs)
-if self.TraceOn():
-print \nNumber of exception state registers: %d % num
-for reg in REGs:
-self.assertTrue(reg)
+if self.platformIsDarwin():
+num = len(REGs)
 if self.TraceOn():
-print %s = %s % (reg.GetName(), reg.GetValue())
+print \nNumber of exception state registers: %d % num
+for reg in REGs:
+self.assertTrue(reg)
+if self.TraceOn():
+print %s = %s % (reg.GetName(), reg.GetValue())
+else:
+self.assertIsNone(REGs)
 
 # And these should also work.
 for kind in [General Purpose Registers,
- Floating Point Registers,
- Exception State Registers]:
+ Floating Point Registers]:
 REGs = lldbutil.get_registers(frame, kind)
 self.assertTrue(REGs)
 
+REGs = lldbutil.get_registers(frame, Exception State Registers)
+if self.platformIsDarwin():
+self.assertIsNotNone(REGs)
+else:
+

Re: [Lldb-commits] [PATCH] TestPrintStackTraces - made XFAIL more precise

2015-03-31 Thread Vince Harron
Hi Greg,

Do you want us to wait for review from you on changes that are fairly Linux 
specific?



Comment at: test/python_api/lldbutil/process/TestPrintStackTraces.py:34
@@ +33,3 @@
+if self.getArchitecture() in ['i386'] and linux in sys.platform:
+self.skipTest(Skipping because this test is known to fail on i386 
Linux)
+

sivachandra wrote:
 The test is already marked xfail for i386 and linux. Why have this?
It was marked as expectedFailureLinux but seems to be passing on x86_64.

http://reviews.llvm.org/D8677

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits


  1   2   >