libs-base/Tests/base/NSLock/unbalancedUnlock.m

26 lines
724 B
Mathematica
Raw Permalink Normal View History

#import <Foundation/Foundation.h>
#import "Testing.h"
#import "ObjectTesting.h"
int main()
{
START_SET("Unbalanced unlocking")
2024-11-16 13:34:56 +00:00
NSLock *lock = AUTORELEASE([NSLock new]);
2023-09-11 17:41:04 +01:00
NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
BOOL mode = [defs boolForKey: @"GSMacOSXCompatible"];
2023-09-11 17:41:04 +01:00
[defs setBool: NO forKey: @"GSMacOSXCompatible"];
PASS_EXCEPTION([lock unlock], @"NSLockException",
"unlocking an unlocked lock raises NSLockException")
2023-09-11 17:41:04 +01:00
[defs setBool: YES forKey: @"GSMacOSXCompatible"];
PASS_RUNS([lock unlock],
"unlocking an unlocked lock does not raise in MacOSX compatibility mode")
2023-09-11 17:41:04 +01:00
[defs setBool: mode forKey: @"GSMacOSXCompatible"];
END_SET("Unbalanced unlocking")
return 0;
}