-
-
Save danieltahara/6189848 to your computer and use it in GitHub Desktop.
Diff for baseline changes + other edits
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
diff --git a/aarunner/src/aarunner.coffee b/aarunner/src/aarunner.coffee | |
index fa7cd35..78a4c9b 100755 | |
--- a/aarunner/src/aarunner.coffee | |
+++ b/aarunner/src/aarunner.coffee | |
@@ -74,15 +74,15 @@ if argv.help | |
randomName = () -> | |
[new Date().getTime(), '-', (Math.random() * 0x100000000 + 1).toString(36)].join '' | |
-determineRev = (rev) -> | |
+determineRev = (vcs, rev) -> | |
if rev? then return rev | |
- console.log "TODO(jeandenis): implement determineRev" | |
- process.exit 3 | |
+ else | |
+ return vcs.getCurrentRev() | |
-determineBaseline = (baseline) -> | |
+determineBaselineRev = (vcs, rev, baseline) -> | |
if baseline? or baseline == 0 then return baseline | |
- console.log "TODO(jeandenis): implement determineBaseline" | |
- process.exit 4 | |
+ else | |
+ return vcs.getBaselineRev(rev) | |
aacapture = (tmpDir, server, crawlerDataPath) -> | |
shelljs.env['AA_CAPTURE_PATH'] = tmpDir | |
@@ -266,14 +266,12 @@ createDiffsetAndUploadScreenshots = (options, revMetadata, baselineMetadata, fin | |
aaserver = | |
run_post: (server, revUri, testRevisionUri, creatorUri, testSuite, testName, callback) -> | |
- # TODO(jeandenis): | |
- # handle optional arguments testSuite and testName | |
request.post(serverRoute(server, "/run"), { | |
json: { | |
revision_uri: revUri, | |
test_revision_uri: testRevisionUri, | |
- # test_suite: testSuite, | |
- # test_name: testName, | |
+ test_suite: testSuite, | |
+ test_name: testName, | |
creator_uri: creatorUri, | |
}}, (error, response, body) -> | |
callback error, body) | |
@@ -299,12 +297,13 @@ aaserver = | |
callback error, body) | |
latest_run_get: (server, revUri, testRevisionUri, creatorUri, testSuite, callback) -> | |
- # TODO(jeandenis): | |
- # handle optional arguments cretorUri and testSuite | |
console.log "latest_run_get", revUri, testRevisionUri, creatorUri, testSuite | |
request(serverRoute(server, "/latest_run"), { | |
json: { | |
revision_uri: revUri, | |
+ test_suite: test_suite, | |
+ # TODO: pass test_name | |
+ creatorUri: creatorUri, | |
test_revision_uri: testRevisionUri, | |
}}, (error, response, body) -> | |
if error then callback error | |
@@ -391,9 +390,6 @@ class VersionControlSystem | |
else | |
throw new Error "Cannot change workspace. Use -u to allow aarunner to change workspaces." | |
-# hg log -r ancestor(rev1, rev2) | |
-# hg log -r "parents(min(branch(uploadviewv2)))" | |
-# hg log -r "max(ancestors(branch(uploadviewv2)) and not branch(uploadviewv2))" | |
class Mercurial extends VersionControlSystem | |
constructor: () -> | |
super() | |
@@ -405,6 +401,12 @@ class Mercurial extends VersionControlSystem | |
return result.output.slice 0, result.output.length-1 | |
else throw new Error "Cannot get current mercurial revision: [" + | |
result.code + "] " + result.output | |
+ getBaselineRev: (rev) -> | |
+ if !result.code | |
+ return result.output.split("\n")[0].split(":")[-1] | |
+ else thrown new Error "Could not find baseline mercurial revision: [" + | |
+ result.code + "] " + result.output | |
+ | |
_hasUncommittedChanges: (rev) -> | |
rev[rev.length-1] == '+' | |
changeRev: (rev) -> | |
@@ -430,9 +432,9 @@ options.creatorUri = "[email protected]" # FIXME(jeandenis) | |
options.testRevisionUri = "1" # FIXME(jeandenis) | |
options.crawlerDataPath = process.env.AA_CRAWLER_DATA_PATH # FIXME(jeandenis) | |
options.testSuite = null # FIXME(jeandenis) | |
-options.rev = determineRev argv.r | |
-options.baseline = determineBaseline argv.b | |
vcs = options.versionControlSystem = new Mercurial() | |
+options.rev = determineCurrentRev vcs argv.r | |
+options.baseline = determineBaselineRev vcs options.rev argv.b | |
#options.noServer = argv['no_server'] # TODO(jeandenis) | |
options.cServer = argv.s | |
options.updateWorkspace = argv.u | |
diff --git a/server/server.py b/server/server.py | |
index ddb56ca..fc2182d 100644 | |
--- a/server/server.py | |
+++ b/server/server.py | |
@@ -155,8 +155,10 @@ def create_run(): | |
run.info.revision_uri = data.get('revision_uri') | |
run.info.creator_uri = data.get('creator_uri') | |
run.info.test_revision_uri = data.get('test_revision_uri') | |
- run.info.test_suite = data.get('test_suite') | |
- run.info.test_name = data.get('test_name') | |
+ if data.get('test_suite') is not None: | |
+ run.info.test_suite = data.get('test_suite') | |
+ if data.get('test_name') is not None: | |
+ run.info.test_name = data.get('test_name') | |
run.info.created = datetime.now() | |
run.screenshot_gids = [] | |
run.validate() | |
@@ -215,16 +217,16 @@ def get_latest_run(): | |
query = { | |
'info.finalized': { '$exists': True}, | |
'info.revision_uri': data['revision_uri']} | |
- if 'test_suite' in data: | |
+ if 'test_suite' in data and data['test_suite'] is not None: | |
query['info.test_suite'] = data['test_suite'] | |
- if 'test_name' in data: | |
+ if 'test_name' in data and data['test_name'] is not None: | |
query['$or'] = [ | |
{'info.test_name' : {'$exists' : False}}, | |
{'info.test_name' : data['test_name']} | |
] | |
- if 'creator_uri' in data: | |
+ if 'creator_uri' in data and data['creator_uri'] is not None: | |
query['info.creator_uri'] = data['creator_uri'] | |
- if 'test_revision_uri' in data: | |
+ if 'test_revision_uri' in data and data['test_revision_uri'] is not None: | |
query['info.test_revision_uri'] = data['test_revision_uri'] | |
cursor = connection.TestRun.find(query) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment