mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-21 20:45:53 -04:00

Stale global module caches cause problems for the bots. The modules become invalid when clang headers are updated by version control, and tests which use these modules fail to compile, e.g: fatal error: file '.../__stddef_max_align_t.h' has been modified since the module file '/var/.../Darwin.pcm' was built note: please rebuild precompiled header '/var/.../Darwin.pcm' Eventually we should transition to having just a single module cache to speed tests up. This patch should be just enough to fix the spurious bot failures due to stale caches. rdar://36479805, also related to llvm.org/PR36048 Differential Revision: https://reviews.llvm.org/D42277 llvm-svn: 323450
61 lines
1.9 KiB
Python
61 lines
1.9 KiB
Python
"""Test that inline functions from modules are imported correctly"""
|
|
|
|
from __future__ import print_function
|
|
|
|
|
|
from distutils.version import StrictVersion
|
|
|
|
import unittest2
|
|
import os
|
|
import time
|
|
import platform
|
|
|
|
import lldb
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test import lldbutil
|
|
|
|
|
|
class ModulesInlineFunctionsTestCase(TestBase):
|
|
|
|
mydir = TestBase.compute_mydir(__file__)
|
|
|
|
def setUp(self):
|
|
# Call super's setUp().
|
|
TestBase.setUp(self)
|
|
# Find the line number to break inside main().
|
|
self.line = line_number('main.m', '// Set breakpoint here.')
|
|
|
|
@skipUnlessDarwin
|
|
@skipIf(macos_version=["<", "10.12"], debug_info=no_match(["gmodules"]))
|
|
def test_expr(self):
|
|
self.build()
|
|
exe = self.getBuildArtifact("a.out")
|
|
self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
|
|
|
|
# Break inside the foo function which takes a bar_ptr argument.
|
|
lldbutil.run_break_set_by_file_and_line(
|
|
self, "main.m", self.line, num_expected_locations=1, loc_exact=True)
|
|
|
|
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'])
|
|
|
|
# The breakpoint should have a hit count of 1.
|
|
self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
|
|
substrs=[' resolved, hit count = 1'])
|
|
|
|
self.runCmd(
|
|
"settings set target.clang-module-search-paths \"" +
|
|
os.getcwd() +
|
|
"\"")
|
|
|
|
self.expect("expr @import myModule; 3", VARIABLES_DISPLAYED_CORRECTLY,
|
|
substrs=["int", "3"])
|
|
|
|
self.expect("expr isInline(2)", VARIABLES_DISPLAYED_CORRECTLY,
|
|
substrs=["4"])
|