Skip to content

Commit

Permalink
XFAIL watchpoint tests on Android arm/aarch64
Browse files Browse the repository at this point in the history
Differential revision: http://reviews.llvm.org/D11409

llvm-svn: 242887
  • Loading branch information
Tamas Berghammer committed Jul 22, 2015
1 parent 23d952b commit 050d1e8
Show file tree
Hide file tree
Showing 17 changed files with 33 additions and 7 deletions.
Expand Up @@ -23,6 +23,7 @@ def test_hello_watchlocation_with_dsym(self):

@expectedFailureFreeBSD("llvm.org/pr18832")
@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_hello_watchlocation_with_dwarf(self):
"""Test watching a location with '-s size' option."""
self.buildDwarf(dictionary=self.d)
Expand Down
Expand Up @@ -23,6 +23,7 @@ def test_hello_watchpoint_with_dsym_using_watchpoint_set(self):
self.hello_watchpoint()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_hello_watchpoint_with_dwarf_using_watchpoint_set(self):
"""Test a simple sequence of watchpoint creation and watchpoint hit."""
self.buildDwarf(dictionary=self.d)
Expand Down
Expand Up @@ -22,6 +22,7 @@ def test_watchpoint_multiple_threads_with_dsym(self):
self.hello_multiple_threads()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watchpoint_multiple_threads_with_dwarf(self):
"""Test that lldb watchpoint works for multiple threads."""
self.buildDwarf()
Expand All @@ -37,6 +38,7 @@ def test_watchpoint_multiple_threads_wp_set_and_then_delete_with_dsym(self):
self.hello_multiple_threads_wp_set_and_then_delete()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watchpoint_multiple_threads_wp_set_and_then_delete_with_dwarf(self):
"""Test that lldb watchpoint works for multiple threads, and after the watchpoint is deleted, the watchpoint event should no longer fires."""
self.buildDwarf()
Expand Down
Expand Up @@ -21,6 +21,7 @@ def test_with_dsym(self):
self.step_over_watchpoint()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_with_dwarf(self):
"""Test stepping over watchpoints."""
self.buildDwarf()
Expand Down
Expand Up @@ -35,6 +35,7 @@ def test_rw_watchpoint_with_dsym(self):
self.normal_read_write_watchpoint()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_rw_watchpoint_with_dwarf(self):
"""Test read_write watchpoint and expect to stop two times."""
self.buildDwarf(dictionary=self.d)
Expand All @@ -50,6 +51,7 @@ def test_rw_watchpoint_delete_with_dsym(self):
self.delete_read_write_watchpoint()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_rw_watchpoint_delete_with_dwarf(self):
"""Test delete watchpoint and expect not to stop for watchpoint."""
self.buildDwarf(dictionary=self.d)
Expand All @@ -65,6 +67,7 @@ def test_rw_watchpoint_set_ignore_count_with_dsym(self):
self.ignore_read_write_watchpoint()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_rw_watchpoint_set_ignore_count_with_dwarf(self):
"""Test watchpoint ignore count and expect to not to stop at all."""
self.buildDwarf(dictionary=self.d)
Expand All @@ -80,6 +83,7 @@ def test_rw_disable_after_first_stop_with_dsym(self):
self.read_write_watchpoint_disable_after_first_stop()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_rw_disable_after_first_stop__with_dwarf(self):
"""Test read_write watchpoint but disable it after the first stop."""
self.buildDwarf(dictionary=self.d)
Expand All @@ -95,6 +99,7 @@ def test_rw_disable_then_enable_with_dsym(self):
self.read_write_watchpoint_disable_then_enable()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_rw_disable_then_enable_with_dwarf(self):
"""Test read_write watchpoint, disable initially, then enable it."""
self.buildDwarf(dictionary=self.d)
Expand Down
Expand Up @@ -34,6 +34,7 @@ def test_watchpoint_command_with_dsym(self):
self.watchpoint_command()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watchpoint_command_with_dwarf(self):
"""Test 'watchpoint command'."""
self.buildDwarf(dictionary=self.d)
Expand All @@ -49,6 +50,7 @@ def test_watchpoint_command_can_disable_a_watchpoint_with_dsym(self):
self.watchpoint_command_can_disable_a_watchpoint()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watchpoint_command_can_disable_a_watchpoint_with_dwarf(self):
"""Test that 'watchpoint command' action can disable a watchpoint after it is triggered."""
self.buildDwarf(dictionary=self.d)
Expand Down
Expand Up @@ -35,6 +35,7 @@ def test_watchpoint_command_with_dsym(self):

@dwarf_test
@skipIfFreeBSD # timing out on buildbot
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watchpoint_command_with_dwarf(self):
"""Test 'watchpoint command'."""
self.buildDwarf(dictionary=self.d)
Expand Down
Expand Up @@ -34,6 +34,7 @@ def test_watchpoint_cond_with_dsym(self):
self.watchpoint_condition()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watchpoint_cond_with_dwarf(self):
"""Test watchpoint condition."""
self.buildDwarf(dictionary=self.d)
Expand Down
Expand Up @@ -20,6 +20,7 @@ def test_with_dsym_and_python_api(self):

@python_api_test
@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_with_dwarf_and_python_api(self):
"""Test that adding, deleting and modifying watchpoints sends the appropriate events."""
self.buildDwarf()
Expand Down
Expand Up @@ -20,8 +20,9 @@ def test_watchlocation_with_dsym_using_watchpoint_set(self):
self.setTearDownCleanup()
self.watchlocation_using_watchpoint_set()

@expectedFailureFreeBSD('llvm.org/pr18832')
@dwarf_test
@expectedFailureFreeBSD('llvm.org/pr18832')
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watchlocation_with_dwarf_using_watchpoint_set(self):
"""Test watching a location with 'watchpoint set expression -w write -s size' option."""
self.buildDwarf()
Expand Down
15 changes: 9 additions & 6 deletions lldb/test/lldbtest.py
Expand Up @@ -698,20 +698,23 @@ def expectedFailureWindows(bugnumber=None, compilers=None):
def expectedFailureHostWindows(bugnumber=None, compilers=None):
return expectedFailureHostOS(['windows'], bugnumber, compilers)

def expectedFailureAndroid(bugnumber=None, api_levels=None):
def expectedFailureAndroid(bugnumber=None, api_levels=None, archs=None):
""" Mark a test as xfail for Android.
Arguments:
bugnumber - The LLVM pr associated with the problem.
api_levels - A sequence of numbers specifying the Android API levels
for which a test is expected to fail.
for which a test is expected to fail. None means all API level.
arch - A sequence of architecture names specifying the architectures
for which a test is expected to fail. None means all architectures.
"""
def fn(self):
if target_is_android():
if not api_levels:
return True
device_api = android_device_api()
return device_api and (device_api in api_levels)
if archs is not None and self.getArchitecture() not in archs:
return False
if api_levels is not None and android_device_api() not in api_levels:
return False
return True

return expectedFailure(fn, bugnumber)

Expand Down
1 change: 1 addition & 0 deletions lldb/test/python_api/watchpoint/TestSetWatchpoint.py
Expand Up @@ -30,6 +30,7 @@ def test_watch_val_with_dsym(self):

@python_api_test
@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watch_val_with_dwarf(self):
"""Exercise SBValue.Watch() API to set a watchpoint."""
self.buildDwarf()
Expand Down
Expand Up @@ -30,6 +30,7 @@ def test_set_watch_ignore_count_with_dsym(self):

@python_api_test
@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_set_watch_ignore_count_with_dwarf(self):
"""Test SBWatchpoint.SetIgnoreCount() API."""
self.buildDwarf()
Expand Down
1 change: 1 addition & 0 deletions lldb/test/python_api/watchpoint/TestWatchpointIter.py
Expand Up @@ -30,6 +30,7 @@ def test_watch_iter_with_dsym(self):

@python_api_test
@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watch_iter_with_dwarf(self):
"""Exercise SBTarget.watchpoint_iter() API to iterate on the available watchpoints."""
self.buildDwarf()
Expand Down
Expand Up @@ -34,6 +34,7 @@ def test_watchpoint_cond_api_with_dsym(self):
self.watchpoint_condition_api()

@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watchpoint_cond_api_with_dwarf(self):
"""Test watchpoint condition API."""
self.buildDwarf(dictionary=self.d)
Expand Down
Expand Up @@ -32,6 +32,7 @@ def test_watch_location_with_dsym(self):

@python_api_test
@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watch_location_with_dwarf(self):
"""Exercise SBValue.WatchPointee() API to set a watchpoint."""
self.buildDwarf()
Expand Down
Expand Up @@ -32,6 +32,7 @@ def test_watch_address_with_dsym(self):

@python_api_test
@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watch_address_with_dwarf(self):
"""Exercise SBTarget.WatchAddress() API to set a watchpoint."""
self.buildDwarf()
Expand All @@ -47,6 +48,7 @@ def test_watch_address_with_invalid_watch_size_with_dsym(self):

@python_api_test
@dwarf_test
@expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported
def test_watch_address_with_invalid_watch_size_with_dwarf(self):
"""Exercise SBTarget.WatchAddress() API but pass an invalid watch_size."""
self.buildDwarf()
Expand Down

0 comments on commit 050d1e8

Please sign in to comment.