Skip to content

Commit 1b477a2

Browse files
authored
chore: fix coverage report to coveralls (#416)
1 parent c9b996a commit 1b477a2

16 files changed

+328
-84
lines changed

.coveralls.yml

Lines changed: 0 additions & 2 deletions
This file was deleted.

.slather.yml

Lines changed: 0 additions & 5 deletions
This file was deleted.

.travis.yml

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ jobs:
3333
- BUILD_NUMBER=${TRAVIS_JOB_NUMBER/.}
3434
- TESTAPP_TAG=master
3535
- SDK_BRANCH=$TRAVIS_PULL_REQUEST_BRANCH
36+
3637
cache: false
3738
install:
3839
- mkdir $HOME/travisci-tools && pushd $HOME/travisci-tools && git init && git pull https://$CI_USER_TOKEN@github.com/optimizely/travisci-tools.git && popd
@@ -42,7 +43,7 @@ jobs:
4243
- stage: 'Lint'
4344
language: swift
4445
os: osx
45-
osx_image: xcode11.6
46+
osx_image: xcode12.4
4647
install:
4748
- gem install cocoapods -v '1.9.3'
4849
script:
@@ -64,14 +65,16 @@ jobs:
6465
stage: 'Unit Tests'
6566
language: swift
6667
os: osx
67-
osx_image: xcode11.6
68+
osx_image: xcode12.4
6869
branches:
6970
only:
7071
- master
71-
env: SCHEME=OptimizelySwiftSDK-iOS TEST_SDK=iphonesimulator PLATFORM='iOS Simulator' OS=13.3 NAME='iPhone 11'
72-
name: PLATFORM='iOS Simulator' OS=13.3 NAME='iPhone 11'
72+
env: COVERAGE_DIR=./COVERAGE SCHEME=OptimizelySwiftSDK-iOS TEST_SDK=iphonesimulator PLATFORM='iOS Simulator' OS=14.4 NAME='iPhone 11'
73+
name: PLATFORM='iOS Simulator' OS=14.4 NAME='iPhone 11'
7374
install:
74-
- gem install slather --no-document --quiet
75+
#- gem install slather --no-document --quiet
76+
- gem install coveralls-lcov
77+
#
7578
- gem install cocoapods -v '1.9.3'
7679
- pod repo update
7780
- pod install
@@ -80,31 +83,30 @@ jobs:
8083
# preload simulator
8184
- Scripts/start_simulator.sh
8285
script:
83-
- if [[ "$TRAVIS_BRANCH" == "master" ]]; then xcodebuild test -workspace OptimizelySwiftSDK.xcworkspace -scheme $SCHEME -configuration Release CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -sdk $TEST_SDK -destination "platform=$PLATFORM,OS=$OS,name=$NAME" ONLY_ACTIVE_ARCH=YES | tee buildoutput | xcpretty && test ${PIPESTATUS[0]} -eq 0; fi
86+
- Scripts/run_unit_tests.sh
8487
after_success:
85-
# coverage collect for iOS only (.slather.yml)
86-
- if [[ "$PLATFORM" == "iOS Simulator" ]]; then slather; fi
88+
- Scripts/upload_coveralls.sh
8789
- sleep 5 # https://github.com/travis-ci/travis-ci/issues/4725
8890
after_failure:
8991
# install travis artifacts uploader
9092
- sudo curl -sL https://raw.githubusercontent.com/travis-ci/artifacts/master/install | bash
9193
- artifacts upload --target-paths "/${TRAVIS_REPO_SLUG}/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}/xcodebuild_logs" $(find /Users/travis/Library/Developer/Xcode/ -name *.xcresult -o -name *.log)
9294
- artifacts upload --target-paths "/${TRAVIS_REPO_SLUG}/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}/buildoutput" "$TRAVIS_BUILD_DIR/buildoutput"
9395
- <<: *unittests
94-
env: SCHEME=OptimizelySwiftSDK-iOS TEST_SDK=iphonesimulator PLATFORM='iOS Simulator' OS=11.4 NAME='iPhone 7 Plus'
95-
name: PLATFORM='iOS Simulator' OS=11.4 NAME='iPhone 7 Plus'
96+
env: COVERAGE_DIR=./COVERAGE SCHEME=OptimizelySwiftSDK-iOS TEST_SDK=iphonesimulator PLATFORM='iOS Simulator' OS=13.3 NAME='iPhone 8'
97+
name: PLATFORM='iOS Simulator' OS=13.3 NAME='iPhone 8'
9698
- <<: *unittests
97-
env: SCHEME=OptimizelySwiftSDK-iOS TEST_SDK=iphonesimulator PLATFORM='iOS Simulator' OS=11.1 NAME='iPad Air'
98-
name: PLATFORM='iOS Simulator' OS=11.1 NAME='iPad Air'
99+
env: COVERAGE_DIR=./COVERAGE SCHEME=OptimizelySwiftSDK-iOS TEST_SDK=iphonesimulator PLATFORM='iOS Simulator' OS=11.4 NAME='iPad Air'
100+
name: PLATFORM='iOS Simulator' OS=11.4 NAME='iPad Air'
99101
- <<: *unittests
100-
env: SCHEME=OptimizelySwiftSDK-tvOS TEST_SDK=appletvsimulator PLATFORM='tvOS Simulator' OS=12.1 NAME='Apple TV 4K'
102+
env: COVERAGE_DIR=./COVERAGE SCHEME=OptimizelySwiftSDK-tvOS TEST_SDK=appletvsimulator PLATFORM='tvOS Simulator' OS=12.1 NAME='Apple TV 4K'
101103
name: PLATFORM='tvOS Simulator' OS=12.1 NAME='Apple TV 4K'
102104

103105
- stage: 'Prepare for release'
104106
name: Prepare for release
105107
language: swift
106108
os: osx
107-
osx_image: xcode11.6
109+
osx_image: xcode12.4
108110
env:
109111
- VERSION=3.8.0
110112
install:
@@ -121,7 +123,7 @@ jobs:
121123
name: Push to cocoapods.org
122124
language: minimal
123125
os: osx
124-
osx_image: xcode11.6
126+
osx_image: xcode12.4
125127
env:
126128
- VERSION=3.8.0
127129
install:

OptimizelySwiftSDK.xcodeproj/project.pbxproj

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,9 @@
389389
6E14CDC82423FA0800010234 /* bot_filtering_enabled.json in Resources */ = {isa = PBXBuildFile; fileRef = 6E75197B22C5211100B2B157 /* bot_filtering_enabled.json */; };
390390
6E14CDC92423FA0800010234 /* simple_datafile.json in Resources */ = {isa = PBXBuildFile; fileRef = 6E75197C22C5211100B2B157 /* simple_datafile.json */; };
391391
6E14CDCA2423FA0800010234 /* unsupported_version.json in Resources */ = {isa = PBXBuildFile; fileRef = 6E75197D22C5211100B2B157 /* unsupported_version.json */; };
392+
6E27EC9B266EF11000B4A6D4 /* OptimizelyDecisionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E27EC9A266EF11000B4A6D4 /* OptimizelyDecisionTests.swift */; };
393+
6E27EC9C266EF11000B4A6D4 /* OptimizelyDecisionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E27EC9A266EF11000B4A6D4 /* OptimizelyDecisionTests.swift */; };
394+
6E27ECBE266FD78600B4A6D4 /* DecisionReasonsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E27ECBD266FD78600B4A6D4 /* DecisionReasonsTests.swift */; };
392395
6E2D5DAE26338CA00002077F /* AtomicDictionaryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2D5DAD26338CA00002077F /* AtomicDictionaryTests.swift */; };
393396
6E34A6172319EBB800BAE302 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E34A6162319EBB700BAE302 /* Notifications.swift */; };
394397
6E34A6182319EBB800BAE302 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E34A6162319EBB700BAE302 /* Notifications.swift */; };
@@ -574,8 +577,8 @@
574577
6E623F0F253F9045000617D0 /* DecisionInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E623F01253F9045000617D0 /* DecisionInfo.swift */; };
575578
6E636B912236C91F00AF3CEF /* Optimizely.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6EBAEB6C21E3FEF800D13AA9 /* Optimizely.framework */; };
576579
6E636BA02236C96700AF3CEF /* Optimizely.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6EBAEB6C21E3FEF800D13AA9 /* Optimizely.framework */; };
577-
6E6419FE265734C100C49555 /* ProjectConfigTests_MultiClients.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6419FD265734C100C49555 /* ProjectConfigTests_MultiClients.swift */; };
578580
6E6419DA2657059700C49555 /* NotificationCenterTests_MultiClients.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6419D92657059700C49555 /* NotificationCenterTests_MultiClients.swift */; };
581+
6E6419FE265734C100C49555 /* ProjectConfigTests_MultiClients.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6419FD265734C100C49555 /* ProjectConfigTests_MultiClients.swift */; };
579582
6E6BE00B237F547200FE8274 /* optimizely_config_datafile.json in Resources */ = {isa = PBXBuildFile; fileRef = 6E6BE009237F547200FE8274 /* optimizely_config_datafile.json */; };
580583
6E6BE00C237F547200FE8274 /* optimizely_config_expected.json in Resources */ = {isa = PBXBuildFile; fileRef = 6E6BE00A237F547200FE8274 /* optimizely_config_expected.json */; };
581584
6E7516A622C520D400B2B157 /* DefaultLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E75165F22C520D400B2B157 /* DefaultLogger.swift */; };
@@ -1864,6 +1867,8 @@
18641867
5151BD9C826F9B112DC548AB /* Pods-OptimizelyTests-Common-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OptimizelyTests-Common-iOS.release.xcconfig"; path = "Target Support Files/Pods-OptimizelyTests-Common-iOS/Pods-OptimizelyTests-Common-iOS.release.xcconfig"; sourceTree = "<group>"; };
18651868
5F38B9FBC88543893307E7F4 /* Pods-OptimizelyTests-Common-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OptimizelyTests-Common-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-OptimizelyTests-Common-tvOS/Pods-OptimizelyTests-Common-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
18661869
6E14CD632423F80B00010234 /* OptimizelyTests-Batch-iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "OptimizelyTests-Batch-iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
1870+
6E27EC9A266EF11000B4A6D4 /* OptimizelyDecisionTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptimizelyDecisionTests.swift; sourceTree = "<group>"; };
1871+
6E27ECBD266FD78600B4A6D4 /* DecisionReasonsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DecisionReasonsTests.swift; sourceTree = "<group>"; };
18671872
6E2D34B8250AD14000A0CDFE /* OptimizelyUserContextTests_Decide.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptimizelyUserContextTests_Decide.swift; sourceTree = "<group>"; };
18681873
6E2D5DAD26338CA00002077F /* AtomicDictionaryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AtomicDictionaryTests.swift; sourceTree = "<group>"; };
18691874
6E34A6162319EBB700BAE302 /* Notifications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Notifications.swift; sourceTree = "<group>"; };
@@ -1885,8 +1890,8 @@
18851890
6E623F01253F9045000617D0 /* DecisionInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DecisionInfo.swift; sourceTree = "<group>"; };
18861891
6E636B8C2236C91F00AF3CEF /* OptimizelyTests-APIs-iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "OptimizelyTests-APIs-iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
18871892
6E636B9B2236C96700AF3CEF /* OptimizelyTests-Legacy-iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "OptimizelyTests-Legacy-iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
1888-
6E6419FD265734C100C49555 /* ProjectConfigTests_MultiClients.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProjectConfigTests_MultiClients.swift; sourceTree = "<group>"; };
18891893
6E6419D92657059700C49555 /* NotificationCenterTests_MultiClients.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationCenterTests_MultiClients.swift; sourceTree = "<group>"; };
1894+
6E6419FD265734C100C49555 /* ProjectConfigTests_MultiClients.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProjectConfigTests_MultiClients.swift; sourceTree = "<group>"; };
18901895
6E6BE009237F547200FE8274 /* optimizely_config_datafile.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = optimizely_config_datafile.json; sourceTree = "<group>"; };
18911896
6E6BE00A237F547200FE8274 /* optimizely_config_expected.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = optimizely_config_expected.json; sourceTree = "<group>"; };
18921897
6E75165F22C520D400B2B157 /* DefaultLogger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DefaultLogger.swift; sourceTree = "<group>"; };
@@ -2567,6 +2572,8 @@
25672572
6E75199622C5211100B2B157 /* DatafileHandlerTests.swift */,
25682573
6E75199722C5211100B2B157 /* BatchEventBuilderTests_EventTags.swift */,
25692574
6E75199822C5211100B2B157 /* DataStoreTests.swift */,
2575+
6E27ECBD266FD78600B4A6D4 /* DecisionReasonsTests.swift */,
2576+
6E27EC9A266EF11000B4A6D4 /* OptimizelyDecisionTests.swift */,
25702577
6EC6DD6824AE94820017D296 /* OptimizelyUserContextTests.swift */,
25712578
6E2D34B8250AD14000A0CDFE /* OptimizelyUserContextTests_Decide.swift */,
25722579
6E7E9B362523F8BF009E4426 /* OptimizelyUserContextTests_Decide_Reasons.swift */,
@@ -4284,6 +4291,7 @@
42844291
6E7518A922C520D400B2B157 /* FeatureFlag.swift in Sources */,
42854292
6E75173F22C520D400B2B157 /* MurmurHash3.swift in Sources */,
42864293
6E75189D22C520D400B2B157 /* Experiment.swift in Sources */,
4294+
6E27EC9C266EF11000B4A6D4 /* OptimizelyDecisionTests.swift in Sources */,
42874295
6E7518D922C520D400B2B157 /* AttributeValue.swift in Sources */,
42884296
6E9B116822C5487100C22D81 /* DefaultLoggerTests.swift in Sources */,
42894297
C78CAF622445AD8D009FE876 /* OptimizelyJSON.swift in Sources */,
@@ -4494,6 +4502,7 @@
44944502
6E9B11AA22C5489200C22D81 /* OTUtils.swift in Sources */,
44954503
6E7518D322C520D400B2B157 /* AttributeValue.swift in Sources */,
44964504
6EF41A332522BE1900EAADF1 /* OptimizelyUserContextTests_Decide.swift in Sources */,
4505+
6E27ECBE266FD78600B4A6D4 /* DecisionReasonsTests.swift in Sources */,
44974506
6E9B115E22C5486E00C22D81 /* DataStoreTests.swift in Sources */,
44984507
6E75177522C520D400B2B157 /* SDKVersion.swift in Sources */,
44994508
6E75180722C520D400B2B157 /* DataStoreFile.swift in Sources */,
@@ -4506,6 +4515,7 @@
45064515
6E75170922C520D400B2B157 /* OptimizelyClient.swift in Sources */,
45074516
6E75178D22C520D400B2B157 /* OptimizelyClient+Extension.swift in Sources */,
45084517
6E7518EB22C520D400B2B157 /* ConditionHolder.swift in Sources */,
4518+
6E27EC9B266EF11000B4A6D4 /* OptimizelyDecisionTests.swift in Sources */,
45094519
6E75176922C520D400B2B157 /* Utils.swift in Sources */,
45104520
6E9B114E22C5486E00C22D81 /* DefaultLoggerTests.swift in Sources */,
45114521
C78CAF5B2445AD8D009FE876 /* OptimizelyJSON.swift in Sources */,
@@ -5382,7 +5392,7 @@
53825392
CODE_SIGN_STYLE = Automatic;
53835393
DEVELOPMENT_TEAM = D3Q4WJTK93;
53845394
INFOPLIST_FILE = Tests/Info.plist;
5385-
IPHONEOS_DEPLOYMENT_TARGET = 14.3;
5395+
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
53865396
LD_RUNPATH_SEARCH_PATHS = (
53875397
"$(inherited)",
53885398
"@executable_path/Frameworks",
@@ -5392,6 +5402,7 @@
53925402
PRODUCT_NAME = "$(TARGET_NAME)";
53935403
SWIFT_VERSION = 5.0;
53945404
TARGETED_DEVICE_FAMILY = "1,2";
5405+
TVOS_DEPLOYMENT_TARGET = 10.0;
53955406
};
53965407
name = Debug;
53975408
};
@@ -5401,7 +5412,7 @@
54015412
CODE_SIGN_STYLE = Automatic;
54025413
DEVELOPMENT_TEAM = D3Q4WJTK93;
54035414
INFOPLIST_FILE = Tests/Info.plist;
5404-
IPHONEOS_DEPLOYMENT_TARGET = 14.3;
5415+
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
54055416
LD_RUNPATH_SEARCH_PATHS = (
54065417
"$(inherited)",
54075418
"@executable_path/Frameworks",
@@ -5411,6 +5422,7 @@
54115422
PRODUCT_NAME = "$(TARGET_NAME)";
54125423
SWIFT_VERSION = 5.0;
54135424
TARGETED_DEVICE_FAMILY = "1,2";
5425+
TVOS_DEPLOYMENT_TARGET = 10.0;
54145426
};
54155427
name = Release;
54165428
};
@@ -5685,6 +5697,7 @@
56855697
PRODUCT_NAME = "$(TARGET_NAME)";
56865698
SWIFT_VERSION = 5.0;
56875699
TARGETED_DEVICE_FAMILY = "1,2";
5700+
TVOS_DEPLOYMENT_TARGET = 10.0;
56885701
};
56895702
name = Debug;
56905703
};
@@ -5704,6 +5717,7 @@
57045717
PRODUCT_NAME = "$(TARGET_NAME)";
57055718
SWIFT_VERSION = 5.0;
57065719
TARGETED_DEVICE_FAMILY = "1,2";
5720+
TVOS_DEPLOYMENT_TARGET = 10.0;
57075721
};
57085722
name = Release;
57095723
};
@@ -5891,6 +5905,7 @@
58915905
PRODUCT_NAME = "$(TARGET_NAME)";
58925906
SWIFT_VERSION = 5.0;
58935907
TARGETED_DEVICE_FAMILY = "1,2";
5908+
TVOS_DEPLOYMENT_TARGET = 10.0;
58945909
};
58955910
name = Debug;
58965911
};
@@ -5910,6 +5925,7 @@
59105925
PRODUCT_NAME = "$(TARGET_NAME)";
59115926
SWIFT_VERSION = 5.0;
59125927
TARGETED_DEVICE_FAMILY = "1,2";
5928+
TVOS_DEPLOYMENT_TARGET = 10.0;
59135929
};
59145930
name = Release;
59155931
};

OptimizelySwiftSDK.xcodeproj/xcshareddata/xcschemes/OptimizelySwiftSDK-iOS.xcscheme

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
4242
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
4343
shouldUseLaunchSchemeArgsEnv = "YES"
44-
codeCoverageEnabled = "YES">
44+
codeCoverageEnabled = "YES"
45+
onlyGenerateCoverageForSpecifiedTargets = "YES">
4546
<MacroExpansion>
4647
<BuildableReference
4748
BuildableIdentifier = "primary"
@@ -52,55 +53,13 @@
5253
</BuildableReference>
5354
</MacroExpansion>
5455
<CodeCoverageTargets>
55-
<BuildableReference
56-
BuildableIdentifier = "primary"
57-
BlueprintIdentifier = "6EBAEB7321E3FEF900D13AA9"
58-
BuildableName = "OptimizelyTests-iOS.xctest"
59-
BlueprintName = "OptimizelyTests-iOS"
60-
ReferencedContainer = "container:OptimizelySwiftSDK.xcodeproj">
61-
</BuildableReference>
62-
<BuildableReference
63-
BuildableIdentifier = "primary"
64-
BlueprintIdentifier = "6E636B9A2236C96700AF3CEF"
65-
BuildableName = "OptimizelyTests-Legacy-iOS.xctest"
66-
BlueprintName = "OptimizelyTests-Legacy-iOS"
67-
ReferencedContainer = "container:OptimizelySwiftSDK.xcodeproj">
68-
</BuildableReference>
69-
<BuildableReference
70-
BuildableIdentifier = "primary"
71-
BlueprintIdentifier = "6EA425782218E61E00B074B5"
72-
BuildableName = "OptimizelyTests-DataModel-iOS.xctest"
73-
BlueprintName = "OptimizelyTests-DataModel-iOS"
74-
ReferencedContainer = "container:OptimizelySwiftSDK.xcodeproj">
75-
</BuildableReference>
76-
<BuildableReference
77-
BuildableIdentifier = "primary"
78-
BlueprintIdentifier = "6EA425692218E60A00B074B5"
79-
BuildableName = "OptimizelyTests-Common-iOS.xctest"
80-
BlueprintName = "OptimizelyTests-Common-iOS"
81-
ReferencedContainer = "container:OptimizelySwiftSDK.xcodeproj">
82-
</BuildableReference>
83-
<BuildableReference
84-
BuildableIdentifier = "primary"
85-
BlueprintIdentifier = "6E636B8B2236C91F00AF3CEF"
86-
BuildableName = "OptimizelyTests-APIs-iOS.xctest"
87-
BlueprintName = "OptimizelyTests-APIs-iOS"
88-
ReferencedContainer = "container:OptimizelySwiftSDK.xcodeproj">
89-
</BuildableReference>
9056
<BuildableReference
9157
BuildableIdentifier = "primary"
9258
BlueprintIdentifier = "6EBAEB6B21E3FEF800D13AA9"
9359
BuildableName = "Optimizely.framework"
9460
BlueprintName = "OptimizelySwiftSDK-iOS"
9561
ReferencedContainer = "container:OptimizelySwiftSDK.xcodeproj">
9662
</BuildableReference>
97-
<BuildableReference
98-
BuildableIdentifier = "primary"
99-
BlueprintIdentifier = "6EA4265A2219242100B074B5"
100-
BuildableName = "OptimizelyTests-Others-iOS.xctest"
101-
BlueprintName = "OptimizelyTests-Others-iOS"
102-
ReferencedContainer = "container:OptimizelySwiftSDK.xcodeproj">
103-
</BuildableReference>
10463
</CodeCoverageTargets>
10564
<Testables>
10665
<TestableReference

Scripts/run_unit_tests.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
# run xcode unit tests
4+
#
5+
# Usage:
6+
# $ ./run_unit_tests.sh
7+
#
8+
9+
# unit tests for PR only
10+
if [[ "$TRAVIS_BRANCH" == "master" ]]
11+
then
12+
xcodebuild test -derivedDataPath $COVERAGE_DIR -workspace OptimizelySwiftSDK.xcworkspace -scheme $SCHEME -configuration Release CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -sdk $TEST_SDK -destination "platform=$PLATFORM,OS=$OS,name=$NAME" ONLY_ACTIVE_ARCH=YES | tee buildoutput | xcpretty && test ${PIPESTATUS[0]} -eq 0
13+
fi

Scripts/start_simulator.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ echo ".devices.\"com.apple.CoreSimulator.SimRuntime.${PLATFORM/ Simulator/}-${OS
1212
simulator=$( xcrun simctl list --json devices | jq -f /tmp/jq_file | jq -r '.[] | select(.name==env.NAME) | .udid' )
1313
if [ -z $simulator ]; then
1414
echo "The requested simulator ($PLATFORM $OS $NAME) cannot be found."
15-
xcrun instruments -s device
15+
#xcrun instruments -s device
16+
xcrun xctrace list devices
17+
sleep 3
1618
exit 1
1719
fi
1820

Scripts/upload_coveralls.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
3+
# upload_coveralls.sh
4+
#
5+
# Usage:
6+
# $ ./upload_coveralls.sh
7+
#
8+
9+
# [coveralls]
10+
# - exclude coverage for Test codes by setting OptimizelySwiftSDK-iOS scheme > Test > Options > Gather coverage for selected targets
11+
# - report coverage for PR and iPhone 11 only (avoid redundant ones)
12+
# - use Xcode12.4+ (older Xcode reports a wrong number)
13+
if [[ "$TRAVIS_BRANCH" == "master" && "$PLATFORM" == "iOS Simulator" && "$NAME" == "iPhone 11" ]]
14+
then
15+
mkdir xccov2lcov && cd xccov2lcov && git init && git fetch --depth=1 https://github.com/trax-retail/xccov2lcov.git && git checkout FETCH_HEAD
16+
xcrun xccov view --report --json ../$COVERAGE_DIR/Logs/Test/*.xcresult > coverage.json
17+
swift run xccov2lcov coverage.json > lcov.info
18+
19+
cd ..
20+
coveralls-lcov -v --repo-token $COVERALLS_TOKEN xccov2lcov/lcov.info
21+
fi

0 commit comments

Comments
 (0)