Run tests on PR (#241)
This commit is contained in:
parent
22c28de641
commit
aca431aac5
|
@ -1,7 +1,6 @@
|
||||||
MATCH_TYPE="appstore"
|
MATCH_TYPE="appstore"
|
||||||
GYM_EXPORT_METHOD="app-store"
|
GYM_EXPORT_METHOD="app-store"
|
||||||
GYM_SKIP_PACKAGE_PKG="false"
|
GYM_SKIP_PACKAGE_PKG="false"
|
||||||
SCAN_PACKAGE_PATH="PassepartoutLibrary"
|
|
||||||
DEMO_ACCOUNT_REQUIRED="true"
|
DEMO_ACCOUNT_REQUIRED="true"
|
||||||
PILOT_DISTRIBUTE_EXTERNAL="true"
|
PILOT_DISTRIBUTE_EXTERNAL="true"
|
||||||
PILOT_BETA_APP_DESCRIPTION="Passepartout is a user-friendly VPN client."
|
PILOT_BETA_APP_DESCRIPTION="Passepartout is a user-friendly VPN client."
|
||||||
|
|
1
.env.ios
1
.env.ios
|
@ -1,7 +1,6 @@
|
||||||
INFO_PLIST_ROOT="Passepartout/App"
|
INFO_PLIST_ROOT="Passepartout/App"
|
||||||
MATCH_PLATFORM="ios"
|
MATCH_PLATFORM="ios"
|
||||||
GYM_SCHEME="Passepartout"
|
GYM_SCHEME="Passepartout"
|
||||||
SCAN_DEVICE="iPhone 12"
|
|
||||||
DELIVER_PLATFORM="ios"
|
DELIVER_PLATFORM="ios"
|
||||||
DELIVER_METADATA_PATH="Passepartout/App/fastlane/ios/metadata"
|
DELIVER_METADATA_PATH="Passepartout/App/fastlane/ios/metadata"
|
||||||
DELIVER_SCREENSHOTS_PATH="Passepartout/App/fastlane/ios/screenshots"
|
DELIVER_SCREENSHOTS_PATH="Passepartout/App/fastlane/ios/screenshots"
|
||||||
|
|
3
.env.mac
3
.env.mac
|
@ -3,9 +3,6 @@ MATCH_PLATFORM="catalyst"
|
||||||
MATCH_ADDITIONAL_CERT_TYPES="mac_installer_distribution"
|
MATCH_ADDITIONAL_CERT_TYPES="mac_installer_distribution"
|
||||||
GYM_SCHEME="Passepartout"
|
GYM_SCHEME="Passepartout"
|
||||||
GYM_CATALYST_PLATFORM="macos"
|
GYM_CATALYST_PLATFORM="macos"
|
||||||
|
|
||||||
# not sure about these
|
|
||||||
SCAN_DESTINATION="platform=iOS"
|
|
||||||
DELIVER_PLATFORM="osx"
|
DELIVER_PLATFORM="osx"
|
||||||
DELIVER_METADATA_PATH="Passepartout/App/fastlane/mac/metadata"
|
DELIVER_METADATA_PATH="Passepartout/App/fastlane/mac/metadata"
|
||||||
DELIVER_SCREENSHOTS_PATH="Passepartout/App/fastlane/mac/screenshots"
|
DELIVER_SCREENSHOTS_PATH="Passepartout/App/fastlane/mac/screenshots"
|
||||||
|
|
|
@ -1,22 +1,18 @@
|
||||||
name: Unit Tests
|
name: Unit Tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
pull_request:
|
||||||
branches-ignore:
|
types: [ opened, synchronize ]
|
||||||
- 'master' # temporary
|
|
||||||
- 'test/*'
|
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '.beta-*'
|
- '.beta-*'
|
||||||
- 'Passepartout.xcodeproj/project.pbxproj'
|
- '**/*.md'
|
||||||
- '**/Info.plist'
|
- 'Passepartout/App/fastlane/**'
|
||||||
- '**/CHANGELOG.md'
|
|
||||||
- '**/release_notes.txt'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run_tests:
|
run_tests:
|
||||||
name: Run tests
|
name: Run tests
|
||||||
runs-on: macos-12
|
runs-on: macos-12
|
||||||
timeout-minutes: 20
|
timeout-minutes: 15
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
|
@ -24,7 +20,12 @@ jobs:
|
||||||
- uses: maxim-lobanov/setup-xcode@v1
|
- uses: maxim-lobanov/setup-xcode@v1
|
||||||
with:
|
with:
|
||||||
xcode-version: latest-stable
|
xcode-version: latest-stable
|
||||||
|
- uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
bundler-cache: true
|
||||||
|
- uses: actions/setup-go@v3
|
||||||
|
with:
|
||||||
|
go-version: "^1.17"
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: |
|
run: |
|
||||||
cd PassepartoutLibrary
|
bundle exec fastlane --env beta,ios scan
|
||||||
swift test
|
|
||||||
|
|
|
@ -133,6 +133,8 @@
|
||||||
0EA1D84728805EAE00F3CA48 /* Flags.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0EA1D84628805EAE00F3CA48 /* Flags.xcassets */; };
|
0EA1D84728805EAE00F3CA48 /* Flags.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0EA1D84628805EAE00F3CA48 /* Flags.xcassets */; };
|
||||||
0EA591162733DDDA0096F796 /* Intents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 0EA591142733DDDA0096F796 /* Intents.intentdefinition */; };
|
0EA591162733DDDA0096F796 /* Intents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 0EA591142733DDDA0096F796 /* Intents.intentdefinition */; };
|
||||||
0EA9030B287045F70087BC73 /* SystemMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EA9030A287045F70087BC73 /* SystemMenu.swift */; };
|
0EA9030B287045F70087BC73 /* SystemMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EA9030A287045F70087BC73 /* SystemMenu.swift */; };
|
||||||
|
0EB13BBE290E835A003CB654 /* PassepartoutLibrary in Frameworks */ = {isa = PBXBuildFile; productRef = 0EB13BBD290E835A003CB654 /* PassepartoutLibrary */; };
|
||||||
|
0EB13BC0290E8C8D003CB654 /* PassepartoutTestsApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB13BBF290E8C8D003CB654 /* PassepartoutTestsApp.swift */; };
|
||||||
0EB17EA727D226B400D473B5 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA127D2263700D473B5 /* Constants.swift */; };
|
0EB17EA727D226B400D473B5 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA127D2263700D473B5 /* Constants.swift */; };
|
||||||
0EB17EA927D226C900D473B5 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA127D2263700D473B5 /* Constants.swift */; };
|
0EB17EA927D226C900D473B5 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA127D2263700D473B5 /* Constants.swift */; };
|
||||||
0EB17EAA27D226C900D473B5 /* Constants+App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA527D2263700D473B5 /* Constants+App.swift */; };
|
0EB17EAA27D226C900D473B5 /* Constants+App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA527D2263700D473B5 /* Constants+App.swift */; };
|
||||||
|
@ -201,6 +203,13 @@
|
||||||
remoteGlobalIDString = 0E41BD96286711C3006346B4;
|
remoteGlobalIDString = 0E41BD96286711C3006346B4;
|
||||||
remoteInfo = PassepartoutLauncher;
|
remoteInfo = PassepartoutLauncher;
|
||||||
};
|
};
|
||||||
|
0EB13BBB290E82F1003CB654 /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = 0E57F63020C83FC5008323CF /* Project object */;
|
||||||
|
proxyType = 1;
|
||||||
|
remoteGlobalIDString = 0ECF71F327B6D9CD00CDB528;
|
||||||
|
remoteInfo = WireGuardGo;
|
||||||
|
};
|
||||||
0EB2B1492733FB6F007705AB /* PBXContainerItemProxy */ = {
|
0EB2B1492733FB6F007705AB /* PBXContainerItemProxy */ = {
|
||||||
isa = PBXContainerItemProxy;
|
isa = PBXContainerItemProxy;
|
||||||
containerPortal = 0E57F63020C83FC5008323CF /* Project object */;
|
containerPortal = 0E57F63020C83FC5008323CF /* Project object */;
|
||||||
|
@ -425,6 +434,8 @@
|
||||||
0EA5912C2733DDFC0096F796 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Intents.strings; sourceTree = "<group>"; };
|
0EA5912C2733DDFC0096F796 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Intents.strings; sourceTree = "<group>"; };
|
||||||
0EA5912E2733DDFD0096F796 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Intents.strings; sourceTree = "<group>"; };
|
0EA5912E2733DDFD0096F796 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Intents.strings; sourceTree = "<group>"; };
|
||||||
0EA9030A287045F70087BC73 /* SystemMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SystemMenu.swift; sourceTree = "<group>"; };
|
0EA9030A287045F70087BC73 /* SystemMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SystemMenu.swift; sourceTree = "<group>"; };
|
||||||
|
0EB13BAC290E825E003CB654 /* PassepartoutTests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PassepartoutTests.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
0EB13BBF290E8C8D003CB654 /* PassepartoutTestsApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PassepartoutTestsApp.swift; sourceTree = "<group>"; };
|
||||||
0EB17EA127D2263700D473B5 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = "<group>"; };
|
0EB17EA127D2263700D473B5 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = "<group>"; };
|
||||||
0EB17EA327D2263700D473B5 /* LocalProduct.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalProduct.swift; sourceTree = "<group>"; };
|
0EB17EA327D2263700D473B5 /* LocalProduct.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalProduct.swift; sourceTree = "<group>"; };
|
||||||
0EB17EA527D2263700D473B5 /* Constants+App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+App.swift"; sourceTree = "<group>"; };
|
0EB17EA527D2263700D473B5 /* Constants+App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+App.swift"; sourceTree = "<group>"; };
|
||||||
|
@ -510,6 +521,14 @@
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
0EB13BA9290E825E003CB654 /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
0EB13BBE290E835A003CB654 /* PassepartoutLibrary in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
0ECB78D7285F52F700B0E460 /* Frameworks */ = {
|
0ECB78D7285F52F700B0E460 /* Frameworks */ = {
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
|
@ -755,6 +774,7 @@
|
||||||
0EE315DB2733104700F5D461 /* Packages */,
|
0EE315DB2733104700F5D461 /* Packages */,
|
||||||
0E23B4A12298559800304C30 /* Config.xcconfig */,
|
0E23B4A12298559800304C30 /* Config.xcconfig */,
|
||||||
0E9AA982259F7674003FAFF1 /* Passepartout */,
|
0E9AA982259F7674003FAFF1 /* Passepartout */,
|
||||||
|
0EB13BAD290E825E003CB654 /* PassepartoutTests */,
|
||||||
0E57F63920C83FC5008323CF /* Products */,
|
0E57F63920C83FC5008323CF /* Products */,
|
||||||
374B9F085E1148C37CF9117A /* Frameworks */,
|
374B9F085E1148C37CF9117A /* Frameworks */,
|
||||||
);
|
);
|
||||||
|
@ -768,6 +788,7 @@
|
||||||
0ED2B34A27D3C77800FD8EA9 /* PassepartoutWireGuardTunnel.appex */,
|
0ED2B34A27D3C77800FD8EA9 /* PassepartoutWireGuardTunnel.appex */,
|
||||||
0E41BD97286711C3006346B4 /* PassepartoutLauncher.app */,
|
0E41BD97286711C3006346B4 /* PassepartoutLauncher.app */,
|
||||||
0ECB78DA285F52F700B0E460 /* PassepartoutMac.bundle */,
|
0ECB78DA285F52F700B0E460 /* PassepartoutMac.bundle */,
|
||||||
|
0EB13BAC290E825E003CB654 /* PassepartoutTests.app */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -863,6 +884,14 @@
|
||||||
path = Intents;
|
path = Intents;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
0EB13BAD290E825E003CB654 /* PassepartoutTests */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
0EB13BBF290E8C8D003CB654 /* PassepartoutTestsApp.swift */,
|
||||||
|
);
|
||||||
|
path = PassepartoutTests;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
0ECB78D1285F4F4000B0E460 /* AppShared */ = {
|
0ECB78D1285F4F4000B0E460 /* AppShared */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
@ -1031,6 +1060,27 @@
|
||||||
productReference = 0E57F63820C83FC5008323CF /* Passepartout.app */;
|
productReference = 0E57F63820C83FC5008323CF /* Passepartout.app */;
|
||||||
productType = "com.apple.product-type.application";
|
productType = "com.apple.product-type.application";
|
||||||
};
|
};
|
||||||
|
0EB13BAB290E825E003CB654 /* PassepartoutTests */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 0EB13BBA290E8260003CB654 /* Build configuration list for PBXNativeTarget "PassepartoutTests" */;
|
||||||
|
buildPhases = (
|
||||||
|
0EB13BA8290E825E003CB654 /* Sources */,
|
||||||
|
0EB13BA9290E825E003CB654 /* Frameworks */,
|
||||||
|
0EB13BAA290E825E003CB654 /* Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
0EB13BBC290E82F1003CB654 /* PBXTargetDependency */,
|
||||||
|
);
|
||||||
|
name = PassepartoutTests;
|
||||||
|
packageProductDependencies = (
|
||||||
|
0EB13BBD290E835A003CB654 /* PassepartoutLibrary */,
|
||||||
|
);
|
||||||
|
productName = PassepartoutTests;
|
||||||
|
productReference = 0EB13BAC290E825E003CB654 /* PassepartoutTests.app */;
|
||||||
|
productType = "com.apple.product-type.application";
|
||||||
|
};
|
||||||
0ECB78D9285F52F700B0E460 /* PassepartoutMac */ = {
|
0ECB78D9285F52F700B0E460 /* PassepartoutMac */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 0ECB78DD285F52F700B0E460 /* Build configuration list for PBXNativeTarget "PassepartoutMac" */;
|
buildConfigurationList = 0ECB78DD285F52F700B0E460 /* Build configuration list for PBXNativeTarget "PassepartoutMac" */;
|
||||||
|
@ -1097,7 +1147,7 @@
|
||||||
0E57F63020C83FC5008323CF /* Project object */ = {
|
0E57F63020C83FC5008323CF /* Project object */ = {
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastSwiftUpdateCheck = 1340;
|
LastSwiftUpdateCheck = 1400;
|
||||||
LastUpgradeCheck = 1400;
|
LastUpgradeCheck = 1400;
|
||||||
ORGANIZATIONNAME = "Davide De Rosa";
|
ORGANIZATIONNAME = "Davide De Rosa";
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
|
@ -1122,6 +1172,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
0EB13BAB290E825E003CB654 = {
|
||||||
|
CreatedOnToolsVersion = 14.0.1;
|
||||||
|
LastSwiftMigration = 1400;
|
||||||
|
};
|
||||||
0ECB78D9285F52F700B0E460 = {
|
0ECB78D9285F52F700B0E460 = {
|
||||||
CreatedOnToolsVersion = 13.4;
|
CreatedOnToolsVersion = 13.4;
|
||||||
LastSwiftMigration = 1340;
|
LastSwiftMigration = 1340;
|
||||||
|
@ -1173,6 +1227,7 @@
|
||||||
0E57F63720C83FC5008323CF /* Passepartout */,
|
0E57F63720C83FC5008323CF /* Passepartout */,
|
||||||
0ECB78D9285F52F700B0E460 /* PassepartoutMac */,
|
0ECB78D9285F52F700B0E460 /* PassepartoutMac */,
|
||||||
0E41BD96286711C3006346B4 /* PassepartoutLauncher */,
|
0E41BD96286711C3006346B4 /* PassepartoutLauncher */,
|
||||||
|
0EB13BAB290E825E003CB654 /* PassepartoutTests */,
|
||||||
0EDE8DBE20C86910004C739C /* OpenVPNTunnel */,
|
0EDE8DBE20C86910004C739C /* OpenVPNTunnel */,
|
||||||
0ECF71F327B6D9CD00CDB528 /* WireGuardGo */,
|
0ECF71F327B6D9CD00CDB528 /* WireGuardGo */,
|
||||||
0ED2B33E27D3C77800FD8EA9 /* WireGuardTunnel */,
|
0ED2B33E27D3C77800FD8EA9 /* WireGuardTunnel */,
|
||||||
|
@ -1203,6 +1258,13 @@
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
0EB13BAA290E825E003CB654 /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
0ECB78D8285F52F700B0E460 /* Resources */ = {
|
0ECB78D8285F52F700B0E460 /* Resources */ = {
|
||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
|
@ -1431,6 +1493,14 @@
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
0EB13BA8290E825E003CB654 /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
0EB13BC0290E8C8D003CB654 /* PassepartoutTestsApp.swift in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
0ED2B34027D3C77800FD8EA9 /* Sources */ = {
|
0ED2B34027D3C77800FD8EA9 /* Sources */ = {
|
||||||
isa = PBXSourcesBuildPhase;
|
isa = PBXSourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
|
@ -1459,6 +1529,11 @@
|
||||||
target = 0E41BD96286711C3006346B4 /* PassepartoutLauncher */;
|
target = 0E41BD96286711C3006346B4 /* PassepartoutLauncher */;
|
||||||
targetProxy = 0E41BDAA286713F6006346B4 /* PBXContainerItemProxy */;
|
targetProxy = 0E41BDAA286713F6006346B4 /* PBXContainerItemProxy */;
|
||||||
};
|
};
|
||||||
|
0EB13BBC290E82F1003CB654 /* PBXTargetDependency */ = {
|
||||||
|
isa = PBXTargetDependency;
|
||||||
|
target = 0ECF71F327B6D9CD00CDB528 /* WireGuardGo */;
|
||||||
|
targetProxy = 0EB13BBB290E82F1003CB654 /* PBXContainerItemProxy */;
|
||||||
|
};
|
||||||
0EB2B14A2733FB6F007705AB /* PBXTargetDependency */ = {
|
0EB2B14A2733FB6F007705AB /* PBXTargetDependency */ = {
|
||||||
isa = PBXTargetDependency;
|
isa = PBXTargetDependency;
|
||||||
target = 0EDE8DBE20C86910004C739C /* OpenVPNTunnel */;
|
target = 0EDE8DBE20C86910004C739C /* OpenVPNTunnel */;
|
||||||
|
@ -1780,6 +1855,73 @@
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
0EB13BB8290E8260003CB654 /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CODE_SIGN_STYLE = Manual;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
|
ENABLE_PREVIEWS = YES;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault;
|
||||||
|
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
|
||||||
|
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
|
||||||
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = com.algoritmico.ios.PassepartoutTests;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
SDKROOT = auto;
|
||||||
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx";
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
0EB13BB9290E8260003CB654 /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CODE_SIGN_STYLE = Manual;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
|
ENABLE_PREVIEWS = YES;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES;
|
||||||
|
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault;
|
||||||
|
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
|
||||||
|
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
|
||||||
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = com.algoritmico.ios.PassepartoutTests;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
SDKROOT = auto;
|
||||||
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx";
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
0ECB78DB285F52F700B0E460 /* Debug */ = {
|
0ECB78DB285F52F700B0E460 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
@ -1996,6 +2138,15 @@
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
|
0EB13BBA290E8260003CB654 /* Build configuration list for PBXNativeTarget "PassepartoutTests" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
0EB13BB8290E8260003CB654 /* Debug */,
|
||||||
|
0EB13BB9290E8260003CB654 /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
0ECB78DD285F52F700B0E460 /* Build configuration list for PBXNativeTarget "PassepartoutMac" */ = {
|
0ECB78DD285F52F700B0E460 /* Build configuration list for PBXNativeTarget "PassepartoutMac" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
|
@ -2051,6 +2202,10 @@
|
||||||
package = 0E53249B27D28FC7002565C3 /* XCRemoteSwiftPackageReference "Kvitto" */;
|
package = 0E53249B27D28FC7002565C3 /* XCRemoteSwiftPackageReference "Kvitto" */;
|
||||||
productName = Kvitto;
|
productName = Kvitto;
|
||||||
};
|
};
|
||||||
|
0EB13BBD290E835A003CB654 /* PassepartoutLibrary */ = {
|
||||||
|
isa = XCSwiftPackageProductDependency;
|
||||||
|
productName = PassepartoutLibrary;
|
||||||
|
};
|
||||||
0ECB78EB2863A21600B0E460 /* PassepartoutLibrary */ = {
|
0ECB78EB2863A21600B0E460 /* PassepartoutLibrary */ = {
|
||||||
isa = XCSwiftPackageProductDependency;
|
isa = XCSwiftPackageProductDependency;
|
||||||
productName = PassepartoutLibrary;
|
productName = PassepartoutLibrary;
|
||||||
|
|
|
@ -0,0 +1,148 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1400"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "0EB13BAB290E825E003CB654"
|
||||||
|
BuildableName = "PassepartoutTests.app"
|
||||||
|
BlueprintName = "PassepartoutTests"
|
||||||
|
ReferencedContainer = "container:Passepartout.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "PassepartoutCoreTests"
|
||||||
|
BuildableName = "PassepartoutCoreTests"
|
||||||
|
BlueprintName = "PassepartoutCoreTests"
|
||||||
|
ReferencedContainer = "container:PassepartoutLibrary">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "PassepartoutLibraryTests"
|
||||||
|
BuildableName = "PassepartoutLibraryTests"
|
||||||
|
BlueprintName = "PassepartoutLibraryTests"
|
||||||
|
ReferencedContainer = "container:PassepartoutLibrary">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "PassepartoutProfilesTests"
|
||||||
|
BuildableName = "PassepartoutProfilesTests"
|
||||||
|
BlueprintName = "PassepartoutProfilesTests"
|
||||||
|
ReferencedContainer = "container:PassepartoutLibrary">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "PassepartoutProvidersTests"
|
||||||
|
BuildableName = "PassepartoutProvidersTests"
|
||||||
|
BlueprintName = "PassepartoutProvidersTests"
|
||||||
|
ReferencedContainer = "container:PassepartoutLibrary">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "PassepartoutServicesTests"
|
||||||
|
BuildableName = "PassepartoutServicesTests"
|
||||||
|
BlueprintName = "PassepartoutServicesTests"
|
||||||
|
ReferencedContainer = "container:PassepartoutLibrary">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "PassepartoutUtilsTests"
|
||||||
|
BuildableName = "PassepartoutUtilsTests"
|
||||||
|
BlueprintName = "PassepartoutUtilsTests"
|
||||||
|
ReferencedContainer = "container:PassepartoutLibrary">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "PassepartoutVPNTests"
|
||||||
|
BuildableName = "PassepartoutVPNTests"
|
||||||
|
BlueprintName = "PassepartoutVPNTests"
|
||||||
|
ReferencedContainer = "container:PassepartoutLibrary">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
</Testables>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "0EB13BAB290E825E003CB654"
|
||||||
|
BuildableName = "PassepartoutTests.app"
|
||||||
|
BlueprintName = "PassepartoutTests"
|
||||||
|
ReferencedContainer = "container:Passepartout.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "0EB13BAB290E825E003CB654"
|
||||||
|
BuildableName = "PassepartoutTests.app"
|
||||||
|
BlueprintName = "PassepartoutTests"
|
||||||
|
ReferencedContainer = "container:Passepartout.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,67 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1400"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "PassepartoutLibrary"
|
||||||
|
BuildableName = "PassepartoutLibrary"
|
||||||
|
BlueprintName = "PassepartoutLibrary"
|
||||||
|
ReferencedContainer = "container:">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "PassepartoutLibrary"
|
||||||
|
BuildableName = "PassepartoutLibrary"
|
||||||
|
BlueprintName = "PassepartoutLibrary"
|
||||||
|
ReferencedContainer = "container:">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -89,15 +89,21 @@ let package = Package(
|
||||||
dependencies: [
|
dependencies: [
|
||||||
.product(name: "TunnelKitWireGuardAppExtension", package: "TunnelKit")
|
.product(name: "TunnelKitWireGuardAppExtension", package: "TunnelKit")
|
||||||
]),
|
]),
|
||||||
// .testTarget(
|
.testTarget(
|
||||||
// name: "PassepartoutLibraryTests",
|
name: "PassepartoutLibraryTests",
|
||||||
// dependencies: ["PassepartoutLibrary"]),
|
dependencies: ["PassepartoutLibrary"]),
|
||||||
// .testTarget(
|
.testTarget(
|
||||||
// name: "PassepartoutProfilesTests",
|
name: "PassepartoutVPNTests",
|
||||||
// dependencies: ["PassepartoutProfiles"]),
|
dependencies: ["PassepartoutVPN"]),
|
||||||
|
.testTarget(
|
||||||
|
name: "PassepartoutProfilesTests",
|
||||||
|
dependencies: ["PassepartoutProfiles"]),
|
||||||
.testTarget(
|
.testTarget(
|
||||||
name: "PassepartoutProvidersTests",
|
name: "PassepartoutProvidersTests",
|
||||||
dependencies: ["PassepartoutProviders"]),
|
dependencies: ["PassepartoutProviders"]),
|
||||||
|
.testTarget(
|
||||||
|
name: "PassepartoutCoreTests",
|
||||||
|
dependencies: ["PassepartoutCore"]),
|
||||||
.testTarget(
|
.testTarget(
|
||||||
name: "PassepartoutServicesTests",
|
name: "PassepartoutServicesTests",
|
||||||
dependencies: ["PassepartoutServices"]),
|
dependencies: ["PassepartoutServices"]),
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
// Passepartout
|
// Passepartout
|
||||||
//
|
//
|
||||||
// Created by Davide De Rosa on 3/30/19.
|
// Created by Davide De Rosa on 3/30/19.
|
||||||
// Copyright (c) 2020 Davide De Rosa. All rights reserved.
|
// Copyright (c) 2022 Davide De Rosa. All rights reserved.
|
||||||
//
|
//
|
||||||
// https://github.com/passepartoutvpn
|
// https://github.com/passepartoutvpn
|
||||||
//
|
//
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
import PassepartoutLibrary
|
@testable import PassepartoutCore
|
||||||
|
|
||||||
class CoreTests: XCTestCase {
|
class CoreTests: XCTestCase {
|
||||||
override func setUp() {
|
override func setUp() {
|
||||||
|
@ -33,4 +33,4 @@ class CoreTests: XCTestCase {
|
||||||
override func tearDown() {
|
override func tearDown() {
|
||||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
//
|
||||||
|
// LibraryTests.swift
|
||||||
|
// Passepartout
|
||||||
|
//
|
||||||
|
// Created by Davide De Rosa on 10/29/22.
|
||||||
|
// Copyright (c) 2022 Davide De Rosa. All rights reserved.
|
||||||
|
//
|
||||||
|
// https://github.com/passepartoutvpn
|
||||||
|
//
|
||||||
|
// This file is part of Passepartout.
|
||||||
|
//
|
||||||
|
// Passepartout is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// Passepartout is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with Passepartout. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
//
|
||||||
|
|
||||||
|
import XCTest
|
||||||
|
@testable import PassepartoutLibrary
|
||||||
|
|
||||||
|
class LibraryTests: XCTestCase {
|
||||||
|
override func setUp() {
|
||||||
|
}
|
||||||
|
|
||||||
|
override func tearDown() {
|
||||||
|
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||||
|
}
|
||||||
|
}
|
|
@ -35,7 +35,7 @@ import SwiftyBeaver
|
||||||
class ProvidersTests: XCTestCase {
|
class ProvidersTests: XCTestCase {
|
||||||
private static let persistence: Persistence = {
|
private static let persistence: Persistence = {
|
||||||
let model = NSManagedObjectModel.mergedModel(from: [.module])!
|
let model = NSManagedObjectModel.mergedModel(from: [.module])!
|
||||||
return Persistence(withLocalName: "Providers", model: model, author: nil)
|
return Persistence(withLocalName: "ProvidersTests", model: model, author: nil)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
private var manager: ProviderManager!
|
private var manager: ProviderManager!
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
// Passepartout
|
// Passepartout
|
||||||
//
|
//
|
||||||
// Created by Davide De Rosa on 6/11/18.
|
// Created by Davide De Rosa on 6/11/18.
|
||||||
// Copyright (c) 2020 Davide De Rosa. All rights reserved.
|
// Copyright (c) 2022 Davide De Rosa. All rights reserved.
|
||||||
//
|
//
|
||||||
// https://github.com/passepartoutvpn
|
// https://github.com/passepartoutvpn
|
||||||
//
|
//
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
// Passepartout
|
// Passepartout
|
||||||
//
|
//
|
||||||
// Created by Davide De Rosa on 3/30/19.
|
// Created by Davide De Rosa on 3/30/19.
|
||||||
// Copyright (c) 2020 Davide De Rosa. All rights reserved.
|
// Copyright (c) 2022 Davide De Rosa. All rights reserved.
|
||||||
//
|
//
|
||||||
// https://github.com/passepartoutvpn
|
// https://github.com/passepartoutvpn
|
||||||
//
|
//
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
import PassepartoutUtils
|
@testable import PassepartoutUtils
|
||||||
import SwiftyBeaver
|
import SwiftyBeaver
|
||||||
|
|
||||||
class UtilsTests: XCTestCase {
|
class UtilsTests: XCTestCase {
|
||||||
|
@ -44,7 +44,10 @@ class UtilsTests: XCTestCase {
|
||||||
let languagesEN = privateSortedLanguages(languages, with: english)
|
let languagesEN = privateSortedLanguages(languages, with: english)
|
||||||
let languagesIT = privateSortedLanguages(languages, with: italian)
|
let languagesIT = privateSortedLanguages(languages, with: italian)
|
||||||
|
|
||||||
|
// English, German, Italian, Portuguese, Russian
|
||||||
XCTAssertEqual(languagesEN, ["en", "de", "it", "pt-BR", "ru"])
|
XCTAssertEqual(languagesEN, ["en", "de", "it", "pt-BR", "ru"])
|
||||||
|
|
||||||
|
// Inglese, Italiano, Portoghese, Russo, Tedesco
|
||||||
XCTAssertEqual(languagesIT, ["en", "it", "pt-BR", "ru", "de"])
|
XCTAssertEqual(languagesIT, ["en", "it", "pt-BR", "ru", "de"])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
//
|
||||||
|
// VPNTests.swift
|
||||||
|
// Passepartout
|
||||||
|
//
|
||||||
|
// Created by Davide De Rosa on 10/29/22.
|
||||||
|
// Copyright (c) 2022 Davide De Rosa. All rights reserved.
|
||||||
|
//
|
||||||
|
// https://github.com/passepartoutvpn
|
||||||
|
//
|
||||||
|
// This file is part of Passepartout.
|
||||||
|
//
|
||||||
|
// Passepartout is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// Passepartout is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with Passepartout. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
//
|
||||||
|
|
||||||
|
import XCTest
|
||||||
|
@testable import PassepartoutVPN
|
||||||
|
|
||||||
|
class VPNTests: XCTestCase {
|
||||||
|
override func setUp() {
|
||||||
|
}
|
||||||
|
|
||||||
|
override func tearDown() {
|
||||||
|
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
//
|
||||||
|
// PassepartoutTestsApp.swift
|
||||||
|
// Passepartout
|
||||||
|
//
|
||||||
|
// Created by Davide De Rosa on 10/30/22.
|
||||||
|
// Copyright (c) 2022 Davide De Rosa. All rights reserved.
|
||||||
|
//
|
||||||
|
// https://github.com/passepartoutvpn
|
||||||
|
//
|
||||||
|
// This file is part of Passepartout.
|
||||||
|
//
|
||||||
|
// Passepartout is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// Passepartout is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with Passepartout. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
//
|
||||||
|
|
||||||
|
import SwiftUI
|
||||||
|
|
||||||
|
@main
|
||||||
|
struct PassepartoutTestsApp: App {
|
||||||
|
var body: some Scene {
|
||||||
|
WindowGroup {
|
||||||
|
EmptyView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,6 +2,7 @@
|
||||||
# For more information, check out the docs
|
# For more information, check out the docs
|
||||||
# https://docs.fastlane.tools/actions/deliver/
|
# https://docs.fastlane.tools/actions/deliver/
|
||||||
|
|
||||||
|
automatic_release false
|
||||||
skip_binary_upload true
|
skip_binary_upload true
|
||||||
skip_metadata false
|
skip_metadata false
|
||||||
skip_screenshots false
|
skip_screenshots false
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
scheme "PassepartoutTests"
|
||||||
|
device "iPhone 14"
|
Loading…
Reference in New Issue