Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run all tests #2979

Merged
merged 45 commits into from
Nov 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
256d698
Really run tests
n8henrie Sep 19, 2023
5aa3d54
Objects can't be equal if they have differing names, now can they?
n8henrie Sep 19, 2023
33c69e6
Compare objects with `is[Not]EqualTo:`, not `[=!]=`
n8henrie Sep 19, 2023
1f2a7e2
Don't automatically index private directories when testing
n8henrie Sep 20, 2023
33b45c7
Remove unused build phase
n8henrie Sep 20, 2023
55501ba
Resolve build / test time race condition
n8henrie Sep 20, 2023
7e04846
What applications are available?
n8henrie Sep 20, 2023
a58f414
Remove debug print
n8henrie Sep 20, 2023
154ca03
Test on QS itself
n8henrie Sep 20, 2023
75bd6de
Revert "Test on QS itself"
n8henrie Sep 20, 2023
97ee9fb
Cleanup
n8henrie Sep 27, 2023
ad85532
Refactor, test configuration Testing
n8henrie Sep 27, 2023
071fbc4
Remove extra `\n`
n8henrie Sep 27, 2023
a475c09
Use implicit dependency order everywhere
n8henrie Sep 27, 2023
c4ad8d7
Use the `Testing` configuration for all tests
n8henrie Sep 27, 2023
2e70506
Debug test path
n8henrie Sep 27, 2023
5d9cda6
Force path
n8henrie Sep 28, 2023
e3d8246
Update GA runner
n8henrie Sep 28, 2023
26bb7dc
keyEventWithType:10 -> keyEventWithType:NSEventTypeKeyDown
n8henrie Sep 29, 2023
5c72f41
Give better name
n8henrie Sep 29, 2023
8af4b8b
Rename test plan
n8henrie Sep 30, 2023
cab1ce4
Disable loading external plugins when testing
n8henrie Oct 5, 2023
af2a115
Remove `Quicksilver` dependendy from `Core Support`
n8henrie Oct 10, 2023
b4e5779
Unset `BUNDLE_LOADER`, which otherwise gives a linker error if `QS` is
n8henrie Oct 10, 2023
18e8c67
Test for nil interface controller
n8henrie Oct 10, 2023
0d41a2d
Avoid cyclic dependencies between QS and plugins
n8henrie Oct 10, 2023
354762d
Don't build external plugins during testing
n8henrie Oct 10, 2023
9ec913a
Randomize execution order
n8henrie Oct 13, 2023
a515ce1
Don't show accessibility prompt during testing
n8henrie Oct 13, 2023
d2b1d62
Skip tests if running with `QS_BUILD_ONLY`
n8henrie Oct 13, 2023
eecceca
Run signing steps in CI
n8henrie Oct 13, 2023
83bb28a
Try MacOS 13
n8henrie Oct 13, 2023
4024e64
Specify and show xcode version
n8henrie Oct 13, 2023
9c5db13
Select command line tools
n8henrie Oct 14, 2023
9cf6d34
Switch command line tools
n8henrie Oct 14, 2023
088a066
Revert back to MacOS 12?
n8henrie Oct 14, 2023
703af8a
Revert setting xcode version
n8henrie Oct 14, 2023
930419d
Default interface is primer, not bezel
n8henrie Oct 14, 2023
04999aa
Don't show setup assistant if testing
n8henrie Oct 14, 2023
9d47932
Fallback / default is bezel
n8henrie Oct 15, 2023
564df39
Remove activate:nil to fix test
n8henrie Oct 15, 2023
409cea2
Test on bezel, not primer
n8henrie Oct 16, 2023
93a90f0
Add a separate envvar for signing vs build_only
n8henrie Oct 18, 2023
617bd4a
Add build status badge
n8henrie Oct 18, 2023
3e67fc7
Don't scan HOME when `Testing`
n8henrie Oct 19, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ on:

jobs:
build:
runs-on: macos-11
runs-on: macos-12
env:
QS_BUILD_ONLY: 1
QS_DONT_SIGN: 1
steps:
- uses: actions/checkout@v3
with:
Expand Down
9 changes: 9 additions & 0 deletions Quicksilver/Code-App/QSController.m
Original file line number Diff line number Diff line change
Expand Up @@ -708,8 +708,13 @@ - (void)checkForFirstRun {
default: // QSApplicationNormalLaunch:
break;
}

// Don't block the interface with the setup assistant if running a test build
#ifndef TESTING
if (![defaults boolForKey:kSetupAssistantCompleted] || lastVersion <= [@"3694" hexIntValue] || ![defaults boolForKey:@"QSAgreementAccepted"])
runningSetupAssistant = YES;
#endif

#ifndef DEBUG
[NSApp updateLaunchStatusInfo];
#endif
Expand Down Expand Up @@ -804,6 +809,10 @@ - (void)relaunchQuicksilver
# pragma mark - Accessibility Permissions

-(BOOL)checkForAccessibilityPermission {
#ifdef TESTING
return YES;
#endif

// Prompt for accessibility permissions on macOS Mojave and later.
if (!accessibilityChecker) {
accessibilityChecker = [NSTimer scheduledTimerWithTimeInterval:1 repeats:YES block:^(NSTimer * _Nonnull timer) {
Expand Down
4 changes: 2 additions & 2 deletions Quicksilver/Code-QuickStepCore/QSInterfaceMediator.m
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
@implementation QSRegistry (QSCommandInterface)
- (NSString *)preferredCommandInterfaceID {
NSString *key = [[NSUserDefaults standardUserDefaults] stringForKey:kQSCommandInterfaceControllers];
if (![[self tableNamed:kQSCommandInterfaceControllers] objectForKey:key]) key = @"QSPrimerInterfaceController";
if (![[self tableNamed:kQSCommandInterfaceControllers] objectForKey:key]) key = @"QSBezelInterfaceController";
return key;
}

Expand All @@ -23,7 +23,7 @@ - (QSInterfaceController*)preferredCommandInterface {
[prefInstances setObject:mediator forKey:kQSCommandInterfaceControllers];
} else {
QSShowNotifierWithAttributes([NSDictionary dictionaryWithObjectsAndKeys:@"QSNotification", QSNotifierType, [QSResourceManager imageNamed:kQSBundleID], QSNotifierIcon, NSLocalizedString(@"Interface Changed", nil), QSNotifierTitle, NSLocalizedString(@"Interface could not be loaded. Switching to Bezel",nil), QSNotifierText, nil]);
mediator = [self instanceForKey:@"QSPrimerInterfaceController" inTable:kQSCommandInterfaceControllers];
mediator = [self instanceForKey:@"QSBezelnterfaceController" inTable:kQSCommandInterfaceControllers];
[prefInstances setObject:mediator forKey:kQSCommandInterfaceControllers];
}
}
Expand Down
4 changes: 2 additions & 2 deletions Quicksilver/Code-QuickStepCore/QSObject.m
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,8 @@ - (BOOL)isEqual:(QSObject *)anObject {
}
}
// test the meta dictionary for QSObjectName, QSObjectLabel - if they're not equal then return no
if ([meta objectForKey:kQSObjectAlternateName] != [anObject->meta objectForKey:kQSObjectAlternateName] ||
[meta objectForKey:kQSObjectPrimaryName] != [anObject->meta objectForKey:kQSObjectPrimaryName] ) {
if ([[meta objectForKey:kQSObjectAlternateName] isNotEqualTo:[anObject->meta objectForKey:kQSObjectAlternateName]] ||
[[meta objectForKey:kQSObjectPrimaryName] isNotEqualTo:[anObject->meta objectForKey:kQSObjectPrimaryName]] ) {
return NO;
}
return YES;
Expand Down
Loading