Skip to content

Commit 249d08b

Browse files
[Threading][unittest] skip try_lock checks under none threading
1 parent 687dca9 commit 249d08b

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

lib/SIL/Verifier/SILVerifier.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5901,6 +5901,11 @@ static bool verificationEnabled(const SILModule &M) {
59015901
if (M.getOptions().VerifyAll)
59025902
return true;
59035903

5904+
// If we are emitting for Was, we always skip verification due to keypath issues.
5905+
if (M.getASTContext().LangOpts.Target.isWasm()) {
5906+
return false;
5907+
}
5908+
59045909
#ifndef NDEBUG
59055910
// Otherwise if we do have asserts enabled, always verify...
59065911
return true;

unittests/Threading/LockingHelpers.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,12 @@ void tryLockable(M &mutex) {
3636

3737
// We cannot lock a locked lock
3838
ret = mutex.try_lock();
39+
#if SWIFT_THREADING_NONE
40+
// Noop since none threading mode always succeeds getting lock
41+
(void)ret;
42+
#else
3943
ASSERT_FALSE(ret);
44+
#endif
4045

4146
mutex.unlock();
4247
}
@@ -61,6 +66,12 @@ void basicLockableThreaded(M &mutex) {
6166
ASSERT_EQ(count2, 500);
6267
}
6368

69+
#if SWIFT_THREADING_NONE
70+
template <typename M>
71+
void lockableThreaded(M &mutex) {
72+
// Noop since none threading mode always succeeds getting lock
73+
}
74+
#else
6475
// More extensive tests
6576
template <typename M>
6677
void lockableThreaded(M &mutex) {
@@ -90,6 +101,7 @@ void lockableThreaded(M &mutex) {
90101
ASSERT_EQ(count1, 500);
91102
ASSERT_EQ(count2, 500);
92103
}
104+
#endif
93105

94106
// Test a scoped lock implementation
95107
template <typename SL, typename M>

0 commit comments

Comments
 (0)