| """ |
| Test that variable expressions of floating point types are evaluated correctly. |
| """ |
| |
| import AbstractBase |
| import unittest2 |
| import lldb |
| import sys |
| from lldbtest import dsym_test, dwarf_test |
| |
| class FloatTypesExprTestCase(AbstractBase.GenericTester): |
| |
| mydir = "types" |
| |
| # rdar://problem/8493023 |
| # test/types failures for Test*TypesExpr.py: element offset computed wrong and sign error? |
| |
| def setUp(self): |
| # Call super's setUp(). |
| AbstractBase.GenericTester.setUp(self) |
| # disable "There is a running process, kill it and restart?" prompt |
| self.runCmd("settings set auto-confirm true") |
| |
| @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin") |
| @dsym_test |
| def test_float_type_with_dsym(self): |
| """Test that float-type variable expressions are evaluated correctly.""" |
| self.build_and_run_expr('float.cpp', set(['float'])) |
| |
| @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin") |
| @dsym_test |
| def test_float_type_from_block_with_dsym(self): |
| """Test that float-type variables are displayed correctly from a block.""" |
| self.build_and_run_expr('float.cpp', set(['float']), bc=True) |
| |
| @dwarf_test |
| def test_float_type_with_dwarf(self): |
| """Test that float-type variable expressions are evaluated correctly.""" |
| self.build_and_run_expr('float.cpp', set(['float']), dsym=False) |
| |
| @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin") |
| @dsym_test |
| def test_double_type_with_dsym(self): |
| """Test that double-type variable expressions are evaluated correctly.""" |
| self.build_and_run_expr('double.cpp', set(['double'])) |
| |
| @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin") |
| @dsym_test |
| def test_double_type_from_block_with_dsym(self): |
| """Test that double-type variables are displayed correctly from a block.""" |
| self.build_and_run_expr('double.cpp', set(['double']), bc=True) |
| |
| @dwarf_test |
| def test_double_type_with_dwarf(self): |
| """Test that double-type variable expressions are evaluated correctly.""" |
| self.build_and_run_expr('double.cpp', set(['double']), dsym=False) |
| |
| |
| if __name__ == '__main__': |
| import atexit |
| lldb.SBDebugger.Initialize() |
| atexit.register(lambda: lldb.SBDebugger.Terminate()) |
| unittest2.main() |