-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Timob 10698 Additional Anvil enhancements #2894
Merged
Merged
Changes from 6 commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
30e8ab8
TIMOB-10698 update to Anvil to use pre-built SDKs, support driver fil…
ce1cc5b
Merge remote-tracking branch 'appcelerator/master' into timob-10698
64df42f
TIMOB-10698 minor update to commenting
d590e65
TIMOB-10698 minor style update
874ca22
TIMOB-10698 move anvil tests to the support directory so they are inc…
1808c23
TIMOB-10698 modification to php reports that makes handling large res…
71eaa30
TIMOB-10823 progress commit
8503678
TIMOB-10823 add windows support and address PR comments for PR 2894
c2bede4
TIMOB-10698 fix incorrect format of reqs.txt and include stability fi…
97f2307
Merge remote-tracking branch 'appcelerator/master' into timob-10698
e9e9796
TIMOB-10698 address PR comments, enable clean merge and address bug i…
File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,7 +16,11 @@ that make up a anvil test pass | |
|
||
|
||
HUB: | ||
To be defined once the hub implementation is finished. | ||
The hub is a collection of various software components that live in a hosted linux environment and | ||
whos purpose is to serve as a bridge between driver instances and the CI server. An additional role | ||
of the hub is to populate a mysql database that is used as the driving data source behind Anvil | ||
reports accesible via the web. The hub serves as a TCP server that both the CI server and driver | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. accessible |
||
instances connect to. | ||
|
||
|
||
DRIVER: | ||
|
@@ -165,12 +169,7 @@ file for the harness | |
problems can be encountered in terms of adb and device connection. when switching back from ios | ||
to android/mw it is suggested that adb be started (type "adb devices") and the device be unplugged | ||
and replugged in so that the connection is "reset" | ||
-when in remote mode, the driver expects a cloned version of the "titanium_mobile" repo to exist at | ||
"anvil/driver/titanium_mobile". This should be setup manually when a remote driver instance is | ||
setup (Example from anvil/driver: "git clone git@github.com:appcelerator/titanium_mobile.git") as | ||
this is where branches will be pulled down and stored in remote mode. | ||
-for remote mode, github access needs to be setup for access to the appcelerator "titanium_mobile" | ||
repo | ||
|
||
|
||
USAGE: | ||
Driver: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
var path = require("path"); | ||
|
||
module.exports = new function() { | ||
|
||
// local values | ||
|
@@ -8,53 +10,44 @@ module.exports = new function() { | |
taste by adding or removing values if desired) | ||
|
||
Examples: | ||
var baseDir = "/Users/ocyrus/dev"; | ||
var tiDir = baseDir + "/appcelerator/git/titanium_mobile"; | ||
var baseDir = path.join(path.sep, "Users", "ocyrus", "dev"); | ||
var tiDir = path.join(baseDir, "appcelerator", "git", "titanium_mobile"); | ||
*/ | ||
|
||
|
||
// required values | ||
// required values for all driver configurations | ||
/*******************************************************************************/ | ||
|
||
// Example: this.androidSdkDir = baseDir + "/installed/android-sdk-mac_x86" | ||
this.androidSdkDir = ""; // location of the android SDK; | ||
/* | ||
location of titanium SDKs. This directory should be the containing directory of various | ||
versions of the titanium SDK. For example, the contents of an example directory location | ||
might contain the following: "1.8.2 1.8.3 2.0.0 2.0.1 2.0.2 2.1.0 2.1.1 2.2.0" | ||
|
||
// Example: this.tiSdkDirs = "/Users/ocyrus/Library/Application Support/Titanium/mobilesdk/osx"; | ||
this.tiSdkDirs = ""; // location of titanium SDKs; | ||
Example: this.tiSdkDirs = path.join(path.sep, "Users", "ocyrus", "Library", | ||
"Application Support", "Titanium", "mobilesdk", "osx"); | ||
*/ | ||
this.tiSdkDirs = ""; | ||
|
||
/* | ||
this can be changed but shouldn't need to be. This is the location where the harness instances | ||
and log output is stored under | ||
|
||
Example: this.tempDir = path.join(__dirname, "tmp"); | ||
*/ | ||
this.tempDir = "/tmp/driver"; | ||
this.tempDir = path.join(path.sep, "tmp", "driver"); | ||
|
||
this.maxLogs = 20; // change this to control how many log files are kept per platform | ||
// change this to control how many log files are kept per platform | ||
this.maxLogs = 20; | ||
|
||
/* | ||
change this in the case you normally want a different logging level (can be "quiet", | ||
"normal" or "verbose") | ||
*/ | ||
this.defaultLogLevel = "normal"; | ||
|
||
/* | ||
ports that socket based test runs will use for communication between driver and harness. | ||
Android and iOS use different ports in order to get around some behavior in ADB | ||
|
||
WARNING: Make sure that the port you assign to iOS is not used in any tests!!! Otherwise there will be | ||
reporting problems, test failures, and possibly other issues, since the simulator and the driver | ||
are sharing a network interface. | ||
|
||
To assist with this, ports in the range 40500-40600 should be considered reserved for harness testing. | ||
*/ | ||
this.androidSocketPort = 40404; | ||
this.iosSocketPort = 40405; | ||
|
||
// max number of connection attempts (driver to harness) for socket based test runs | ||
this.maxSocketConnectAttempts = 20; | ||
|
||
// port that the driver will listen on for http based test runs | ||
this.httpPort = 8125; | ||
|
||
/* | ||
if no timeout value is set in a suite file for a specific test, this value will be used as | ||
a timeout value for the test | ||
|
@@ -64,55 +57,110 @@ module.exports = new function() { | |
// string representing a tab (currently only used for printing results) | ||
this.tabString = " "; | ||
|
||
/* | ||
default sim version to use when running ios test pass if a specific sim version is not | ||
specified with the --sim-version argument to the start command | ||
*/ | ||
this.defaultIosSimVersion = "5.0"; | ||
|
||
// required for socket based configurations | ||
/*******************************************************************************/ | ||
|
||
// optional values | ||
// max number of connection attempts (driver to harness) for socket based test runs | ||
this.maxSocketConnectAttempts = 20; | ||
|
||
|
||
// required values for android driver configurations | ||
/*******************************************************************************/ | ||
|
||
/* | ||
list of directories that contain additonal test configs that should be included in the list of | ||
harness configs that will be run when a test pass is started (assuming no specific config set | ||
is specified) | ||
location of the android SDK - only needed when running with --platform=android; | ||
|
||
Example: this.customHarnessConfigDirs = ["/tmp/myconfigs"]; | ||
Example: this.androidSdkDir = path.join(baseDir, "installed", "android-sdk-mac_x86"); | ||
*/ | ||
this.androidSdkDir = ""; | ||
|
||
/* | ||
default platform to be used if the --platform argument is not provided | ||
|
||
Example: this.defaultPlatform = "android"; | ||
Port that will be used for communication between driver and harness running on Android. | ||
Note that Android and iOS need to use a different port from other platforms in order | ||
to get around some behavior in ADB | ||
*/ | ||
this.androidSocketPort = 40404; | ||
|
||
|
||
// >>>>>>>> when running in remote mode, all the following values must be set!!! <<<<<<<< | ||
// required values for iOS driver configurations | ||
/*******************************************************************************/ | ||
|
||
/* | ||
host that the hub lives on | ||
Port that will be used for communication between driver and harness running on iOS. | ||
Note that Android and iOS need to use a different port from other platforms in order | ||
to get around some behavior in ADB | ||
|
||
Example: this.hubHost = ""; | ||
WARNING: Make sure that the port you assign is not used in any tests!!! Otherwise there will be | ||
reporting problems, test failures, and possibly other issues, since the simulator and the driver | ||
are sharing a network interface. | ||
|
||
To assist with this, ports in the range 40500-40600 should be considered reserved for harness testing. | ||
*/ | ||
this.iosSocketPort = 40405; | ||
|
||
/* | ||
hub listens for driver connections on this port | ||
|
||
Example: this.hubPort = ; | ||
default sim version to use when running ios test pass if a specific sim version is not | ||
specified with the --sim-version argument to the start command | ||
*/ | ||
this.defaultIosSimVersion = "5.0"; | ||
|
||
|
||
// required values for mobile web driver configurations | ||
/*******************************************************************************/ | ||
|
||
// port that the driver will listen on for http based test runs | ||
this.httpPort = 8125; | ||
|
||
|
||
// required values for driver configurations running in remote mode | ||
/*******************************************************************************/ | ||
|
||
// host that the hub lives on | ||
this.hubHost = "anvil.appcelerator.com"; | ||
|
||
// hub listens for driver connections on this port | ||
this.hubPort = 97; | ||
|
||
// id that this driver instance will be identified as in reporting from the hub | ||
this.driverId = "exampleDriver"; | ||
|
||
// description of the driver that will be used for reporting via the hub | ||
this.driverDescription = "this is an example driver instance"; | ||
|
||
/* | ||
id that this driver instance will be identified as in reporting from the hub | ||
this object is passed to the hub upon registration and used by the hub to filter which driver | ||
instances should be used to test certain SDK versions. | ||
|
||
Example: this.driverId = ""; | ||
An example of this is when you have an older iOS SDK that is not compatible with an older | ||
version of XCode. In that scenario we will have multiple drivers for iOS with varied | ||
environments (older versions of XCode and some newer) and this provides a means for the hub to | ||
only have the older driver environment run the tests for that specific SDK version. | ||
|
||
The supported properties on the object will evolve over time as needed. The list of supported | ||
properties will be listed in the readme for the hub | ||
*/ | ||
this.driverEnvironment = { | ||
// always specify a platform | ||
platform = "android", | ||
|
||
// if running for iOS, specify the version of Xcode | ||
xcodeVersion = "4.2.1" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The syntax is incorrect. Should use ":" instead of "=". |
||
}; | ||
|
||
|
||
// optional values | ||
/*******************************************************************************/ | ||
|
||
// default platform to be used if the --platform argument is not provided | ||
this.defaultPlatform = "android"; | ||
|
||
/* | ||
description of the driver that will be used for | ||
list of directories that contain additonal test configs that should be included in the list of | ||
harness configs that will be run when a test pass is started (assuming no specific config set | ||
is specified) | ||
|
||
Example: this.driverDescription = ""; | ||
Example: this.customHarnessConfigDirs = [path.join(path.sep, "tmp", "myconfigs")]; | ||
*/ | ||
|
||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
whose