Base fixes and test harness

This commit is contained in:
alexandrev-tibco
2026-02-01 11:12:57 +01:00
parent f5b13ec924
commit e328767c4a
39 changed files with 3575 additions and 142 deletions
+252 -2
View File
@@ -24,6 +24,20 @@
remoteGlobalIDString = 0E241ECB2F0DAA3C00283E2F;
remoteInfo = PortfolioJournalWidgetExtension;
};
0E481F2C2F2E958100CF94C5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 0E241E312F0DA93A00283E2F /* Project object */;
proxyType = 1;
remoteGlobalIDString = 0ETEST0012F31000000000001;
remoteInfo = PortfolioJournalTests;
};
0E481F2D2F2E958100CF94C5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 0E241E312F0DA93A00283E2F /* Project object */;
proxyType = 1;
remoteGlobalIDString = 0EUITEST012F31000000001;
remoteInfo = PortfolioJournalUITests;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -47,6 +61,8 @@
0E241ED02F0DAA3C00283E2F /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; };
0E241EED2F0DAC7D00283E2F /* PortfolioJournalWidgetExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = PortfolioJournalWidgetExtension.entitlements; sourceTree = "<group>"; };
0E53752E2F0FD09F00F31390 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
0ETEST0002F31000000000001 /* PortfolioJournalTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PortfolioJournalTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0EUITEST002F31000000001 /* PortfolioJournalUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PortfolioJournalUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
@@ -91,6 +107,16 @@
path = PortfolioJournalWidget;
sourceTree = "<group>";
};
0ETEST0032F31000000000001 /* PortfolioJournalTests */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = PortfolioJournalTests;
sourceTree = "<group>";
};
0EUITEST032F31000000001 /* PortfolioJournalUITests */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = PortfolioJournalUITests;
sourceTree = "<group>";
};
/* End PBXFileSystemSynchronizedRootGroup section */
/* Begin PBXFrameworksBuildPhase section */
@@ -114,6 +140,20 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
0ETEST0042F31000000000001 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
0EUITEST042F31000000001 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -123,6 +163,8 @@
0E241EED2F0DAC7D00283E2F /* PortfolioJournalWidgetExtension.entitlements */,
0E241E3B2F0DA93A00283E2F /* PortfolioJournal */,
0E241ED22F0DAA3C00283E2F /* PortfolioJournalWidget */,
0ETEST0032F31000000000001 /* PortfolioJournalTests */,
0EUITEST032F31000000001 /* PortfolioJournalUITests */,
0E241ECD2F0DAA3C00283E2F /* Frameworks */,
0E241E3A2F0DA93A00283E2F /* Products */,
);
@@ -133,6 +175,8 @@
children = (
0E241E392F0DA93A00283E2F /* PortfolioJournal.app */,
0E241ECC2F0DAA3C00283E2F /* PortfolioJournalWidgetExtension.appex */,
0ETEST0002F31000000000001 /* PortfolioJournalTests.xctest */,
0EUITEST002F31000000001 /* PortfolioJournalUITests.xctest */,
);
name = Products;
sourceTree = "<group>";
@@ -199,6 +243,52 @@
productReference = 0E241ECC2F0DAA3C00283E2F /* PortfolioJournalWidgetExtension.appex */;
productType = "com.apple.product-type.app-extension";
};
0ETEST0012F31000000000001 /* PortfolioJournalTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 0ETEST0072F31000000000001 /* Build configuration list for PBXNativeTarget "PortfolioJournalTests" */;
buildPhases = (
0ETEST0052F31000000000001 /* Sources */,
0ETEST0042F31000000000001 /* Frameworks */,
0ETEST0062F31000000000001 /* Resources */,
);
buildRules = (
);
dependencies = (
0ETEST0022F31000000000001 /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
0ETEST0032F31000000000001 /* PortfolioJournalTests */,
);
name = PortfolioJournalTests;
packageProductDependencies = (
);
productName = PortfolioJournalTests;
productReference = 0ETEST0002F31000000000001 /* PortfolioJournalTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
0EUITEST012F31000000001 /* PortfolioJournalUITests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 0EUITEST072F31000000001 /* Build configuration list for PBXNativeTarget "PortfolioJournalUITests" */;
buildPhases = (
0EUITEST052F31000000001 /* Sources */,
0EUITEST042F31000000001 /* Frameworks */,
0EUITEST062F31000000001 /* Resources */,
);
buildRules = (
);
dependencies = (
0EUITEST022F31000000001 /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
0EUITEST032F31000000001 /* PortfolioJournalUITests */,
);
name = PortfolioJournalUITests;
packageProductDependencies = (
);
productName = PortfolioJournalUITests;
productReference = 0EUITEST002F31000000001 /* PortfolioJournalUITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -215,6 +305,14 @@
0E241ECB2F0DAA3C00283E2F = {
CreatedOnToolsVersion = 26.2;
};
0ETEST0012F31000000000001 = {
CreatedOnToolsVersion = 26.2;
TestTargetID = 0E241E382F0DA93A00283E2F;
};
0EUITEST012F31000000001 = {
CreatedOnToolsVersion = 26.2;
TestTargetID = 0E241E382F0DA93A00283E2F;
};
};
};
buildConfigurationList = 0E241E342F0DA93A00283E2F /* Build configuration list for PBXProject "PortfolioJournal" */;
@@ -239,6 +337,8 @@
targets = (
0E241E382F0DA93A00283E2F /* PortfolioJournal */,
0E241ECB2F0DAA3C00283E2F /* PortfolioJournalWidgetExtension */,
0ETEST0012F31000000000001 /* PortfolioJournalTests */,
0EUITEST012F31000000001 /* PortfolioJournalUITests */,
);
};
/* End PBXProject section */
@@ -258,6 +358,20 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
0ETEST0062F31000000000001 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
0EUITEST062F31000000001 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -275,6 +389,20 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
0ETEST0052F31000000000001 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
0EUITEST052F31000000001 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
@@ -283,6 +411,16 @@
target = 0E241ECB2F0DAA3C00283E2F /* PortfolioJournalWidgetExtension */;
targetProxy = 0E241EE02F0DAA3E00283E2F /* PBXContainerItemProxy */;
};
0ETEST0022F31000000000001 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 0ETEST0012F31000000000001 /* PortfolioJournalTests */;
targetProxy = 0E481F2C2F2E958100CF94C5 /* PBXContainerItemProxy */;
};
0EUITEST022F31000000001 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 0EUITEST012F31000000001 /* PortfolioJournalUITests */;
targetProxy = 0E481F2D2F2E958100CF94C5 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
@@ -488,7 +626,7 @@
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
CODE_SIGN_ENTITLEMENTS = PortfolioJournalWidgetExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_ASSET_PATHS = PortfolioJournalWidget/Assets.xcassets;
DEVELOPMENT_TEAM = 2825Q76T7H;
GENERATE_INFOPLIST_FILE = NO;
@@ -521,7 +659,7 @@
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
CODE_SIGN_ENTITLEMENTS = PortfolioJournalWidgetExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_ASSET_PATHS = PortfolioJournalWidget/Assets.xcassets;
DEVELOPMENT_TEAM = 2825Q76T7H;
GENERATE_INFOPLIST_FILE = NO;
@@ -547,6 +685,100 @@
};
name = Release;
};
0ETEST0082F31000000000001 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 2825Q76T7H;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MARKETING_VERSION = 1.0.1;
PRODUCT_BUNDLE_IDENTIFIER = com.alexandrevazquez.PortfolioJournalTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PortfolioJournal.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/PortfolioJournal";
};
name = Debug;
};
0ETEST0092F31000000000001 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 2825Q76T7H;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MARKETING_VERSION = 1.0.1;
PRODUCT_BUNDLE_IDENTIFIER = com.alexandrevazquez.PortfolioJournalTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PortfolioJournal.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/PortfolioJournal";
};
name = Release;
};
0EUITEST082F31000000001 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 2825Q76T7H;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MARKETING_VERSION = 1.0.1;
PRODUCT_BUNDLE_IDENTIFIER = com.alexandrevazquez.PortfolioJournalUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = PortfolioJournal;
};
name = Debug;
};
0EUITEST092F31000000001 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 2825Q76T7H;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MARKETING_VERSION = 1.0.1;
PRODUCT_BUNDLE_IDENTIFIER = com.alexandrevazquez.PortfolioJournalUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = PortfolioJournal;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -577,6 +809,24 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
0ETEST0072F31000000000001 /* Build configuration list for PBXNativeTarget "PortfolioJournalTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0ETEST0082F31000000000001 /* Debug */,
0ETEST0092F31000000000001 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
0EUITEST072F31000000001 /* Build configuration list for PBXNativeTarget "PortfolioJournalUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0EUITEST082F31000000001 /* Debug */,
0EUITEST092F31000000001 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
@@ -27,8 +27,31 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0ETEST001000000000000000"
BuildableName = "PortfolioJournalTests.xctest"
BlueprintName = "PortfolioJournalTests"
ReferencedContainer = "container:PortfolioJournal.xcodeproj">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0EUITEST012F31000000001"
BuildableName = "PortfolioJournalUITests.xctest"
BlueprintName = "PortfolioJournalUITests"
ReferencedContainer = "container:PortfolioJournal.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"