Parcourir la source

Merge branch 'master' of https://github.com/Psiphon-Labs/psiphon-tunnel-core

Rod Hynes il y a 9 ans
Parent
commit
75c649fcf9

+ 99 - 0
MobileLibrary/iOS/PsiphonTunnel/PsiphonTunnel.xcodeproj/xcshareddata/xcschemes/PsiphonTunnel.xcscheme

@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0810"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "66BDB01F1DA6BFCC0079384C"
+               BuildableName = "PsiphonTunnel.framework"
+               BlueprintName = "PsiphonTunnel"
+               ReferencedContainer = "container:PsiphonTunnel.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 = "66BDB0281DA6BFCC0079384C"
+               BuildableName = "PsiphonTunnelTests.xctest"
+               BlueprintName = "PsiphonTunnelTests"
+               ReferencedContainer = "container:PsiphonTunnel.xcodeproj">
+            </BuildableReference>
+         </TestableReference>
+      </Testables>
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "66BDB01F1DA6BFCC0079384C"
+            BuildableName = "PsiphonTunnel.framework"
+            BlueprintName = "PsiphonTunnel"
+            ReferencedContainer = "container:PsiphonTunnel.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </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">
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "66BDB01F1DA6BFCC0079384C"
+            BuildableName = "PsiphonTunnel.framework"
+            BlueprintName = "PsiphonTunnel"
+            ReferencedContainer = "container:PsiphonTunnel.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Release"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES">
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "66BDB01F1DA6BFCC0079384C"
+            BuildableName = "PsiphonTunnel.framework"
+            BlueprintName = "PsiphonTunnel"
+            ReferencedContainer = "container:PsiphonTunnel.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>

+ 20 - 1
MobileLibrary/iOS/PsiphonTunnel/PsiphonTunnelTests/PsiphonTunnelTests.m

@@ -8,15 +8,30 @@
 
 #import <XCTest/XCTest.h>
 
-@interface PsiphonTunnelTests : XCTestCase
+#import "PsiphonTunnel.h"
+
+
+@interface PsiphonTunnelDelegate : NSObject <TunneledAppDelegate>
+@end
+@implementation PsiphonTunnelDelegate
+
+- (NSString * _Nullable)getPsiphonConfig {
+    return @"";
+}
 
 @end
 
+
+@interface PsiphonTunnelTests : XCTestCase
+@property PsiphonTunnelDelegate *psiphonTunnelDelegate;
+@end
+
 @implementation PsiphonTunnelTests
 
 - (void)setUp {
     [super setUp];
     // Put setup code here. This method is called before the invocation of each test method in the class.
+    self.psiphonTunnelDelegate = [[PsiphonTunnelDelegate alloc] init];
 }
 
 - (void)tearDown {
@@ -27,6 +42,9 @@
 - (void)testExample {
     // This is an example of a functional test case.
     // Use XCTAssert and related functions to verify your tests produce the correct results.
+    
+    PsiphonTunnel *tunnel = [PsiphonTunnel newPsiphonTunnel:self.psiphonTunnelDelegate];
+    XCTAssertNotNil(tunnel);
 }
 
 - (void)testPerformanceExample {
@@ -37,3 +55,4 @@
 }
 
 @end
+

+ 111 - 0
MobileLibrary/iOS/SampleApps/TunneledWebRequest/TunneledWebRequest.xcodeproj/xcshareddata/xcschemes/TunneledWebRequest.xcscheme

@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0800"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "662658E91DCB8CF300872F6C"
+               BuildableName = "TunneledWebRequest.app"
+               BlueprintName = "TunneledWebRequest"
+               ReferencedContainer = "container:TunneledWebRequest.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 = "662658FD1DCB8CF400872F6C"
+               BuildableName = "TunneledWebRequestTests.xctest"
+               BlueprintName = "TunneledWebRequestTests"
+               ReferencedContainer = "container:TunneledWebRequest.xcodeproj">
+            </BuildableReference>
+         </TestableReference>
+         <TestableReference
+            skipped = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "662659081DCB8CF400872F6C"
+               BuildableName = "TunneledWebRequestUITests.xctest"
+               BlueprintName = "TunneledWebRequestUITests"
+               ReferencedContainer = "container:TunneledWebRequest.xcodeproj">
+            </BuildableReference>
+         </TestableReference>
+      </Testables>
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "662658E91DCB8CF300872F6C"
+            BuildableName = "TunneledWebRequest.app"
+            BlueprintName = "TunneledWebRequest"
+            ReferencedContainer = "container:TunneledWebRequest.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </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 = "662658E91DCB8CF300872F6C"
+            BuildableName = "TunneledWebRequest.app"
+            BlueprintName = "TunneledWebRequest"
+            ReferencedContainer = "container:TunneledWebRequest.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Release"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES">
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "662658E91DCB8CF300872F6C"
+            BuildableName = "TunneledWebRequest.app"
+            BlueprintName = "TunneledWebRequest"
+            ReferencedContainer = "container:TunneledWebRequest.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>

+ 1 - 1
MobileLibrary/iOS/build-psiphon-framework.sh

@@ -214,4 +214,4 @@ fi
 # Delete the temporary simulator build files.
 rm -rf "${BUILD_DIR}-SIMULATOR"
 
-echo "Done."
+echo "BUILD DONE"

+ 33 - 0
MobileLibrary/iOS/test-psiphon-framework.sh

@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+
+set -e
+
+BASE_DIR=$(cd "$(dirname "$0")" ; pwd -P)
+cd ${BASE_DIR}
+
+# The location of the final framework build
+BUILD_DIR="${BASE_DIR}/build"
+
+#
+# Run tests
+# 
+
+cd ${BASE_DIR}
+
+# Run the framework projects tests
+xcodebuild test -project "PsiphonTunnel/PsiphonTunnel.xcodeproj" -scheme "PsiphonTunnel" -destination 'platform=iOS Simulator,name=iPhone 7'
+rc=$?; if [[ $rc != 0 ]]; then
+  echo "FAILURE: PsiphonTunnel tests"
+  exit $rc
+fi
+
+# Run the sample app project tests
+rm -rf "SampleApps/TunneledWebRequest/TunneledWebRequest/PsiphonTunnel.framework" 
+cp -R "${BUILD_DIR}/PsiphonTunnel.framework" "SampleApps/TunneledWebRequest/TunneledWebRequest"
+xcodebuild test -project "SampleApps/TunneledWebRequest/TunneledWebRequest.xcodeproj" -scheme "TunneledWebRequest" -destination 'platform=iOS Simulator,name=iPhone 7'
+rc=$?; if [[ $rc != 0 ]]; then
+  echo "FAILURE: TunneledWebRequest tests"
+  exit $rc
+fi
+
+echo "TESTS DONE"