mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-03 18:47:53 +00:00
Bug 658740: Test Pilot error logger throws exception. r=dtownsend a=gavin DONTBUILD
This commit is contained in:
parent
291c3f01be
commit
b3085cf596
@ -512,15 +512,15 @@ exports.RemoteExperimentLoader.prototype = {
|
|||||||
remoteExperiments[filename] = this._loader.require(filename);
|
remoteExperiments[filename] = this._loader.require(filename);
|
||||||
this._logger.info("Loaded " + filename + " OK.");
|
this._logger.info("Loaded " + filename + " OK.");
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
/* Turn the load-time errors into strings and store them, so we can display
|
/* Turn the load-time errors into strings and store them, so we can display
|
||||||
* them on a debug page or include them with a data upload! (Don't store
|
* them on a debug page or include them with a data upload! (Don't store
|
||||||
* exception objects directly as that causes garbage collector problems-
|
* exception objects directly as that causes garbage collector problems-
|
||||||
* aka bug 646122) */
|
* aka bug 646122) */
|
||||||
let errStr = e.name + " on line " + e.lineNumber + " of file " +
|
let errStr = e.name + " on line " + e.lineNumber + " of file " +
|
||||||
e.fileName + ": " + e.message;
|
e.fileName + ": " + e.message;
|
||||||
this._loadErrors.push(errStr);
|
this._loadErrors.push(errStr);
|
||||||
this._logger.warn("Error loading " + filename);
|
this._logger.warn("Error loading " + filename);
|
||||||
this._logger.warn(e);
|
this._logger.warn(errStr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return remoteExperiments;
|
return remoteExperiments;
|
||||||
|
@ -597,7 +597,7 @@ TestPilotExperiment.prototype = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
this._logger.warn("Error in getStudyMetadata: " + e);
|
this._dataStore.logException("getStudyMetadata: " + e);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
@ -660,6 +660,7 @@ TestPilotExperiment.prototype = {
|
|||||||
// This method handles all date-related status changes and should be
|
// This method handles all date-related status changes and should be
|
||||||
// called periodically.
|
// called periodically.
|
||||||
let currentDate = this._now();
|
let currentDate = this._now();
|
||||||
|
let self = this;
|
||||||
|
|
||||||
// Reset automatically recurring tests:
|
// Reset automatically recurring tests:
|
||||||
if (this._recursAutomatically &&
|
if (this._recursAutomatically &&
|
||||||
@ -703,7 +704,6 @@ TestPilotExperiment.prototype = {
|
|||||||
currentDate <= this._endDate) {
|
currentDate <= this._endDate) {
|
||||||
this._logger.info("Study now starting.");
|
this._logger.info("Study now starting.");
|
||||||
// clear the data before starting.
|
// clear the data before starting.
|
||||||
let self = this;
|
|
||||||
this._dataStore.wipeAllData(function() {
|
this._dataStore.wipeAllData(function() {
|
||||||
// Experiment is now in progress.
|
// Experiment is now in progress.
|
||||||
self.changeStatus(TaskConstants.STATUS_IN_PROGRESS, true);
|
self.changeStatus(TaskConstants.STATUS_IN_PROGRESS, true);
|
||||||
@ -714,7 +714,6 @@ TestPilotExperiment.prototype = {
|
|||||||
// What happens when a test finishes:
|
// What happens when a test finishes:
|
||||||
if (this._status < TaskConstants.STATUS_FINISHED &&
|
if (this._status < TaskConstants.STATUS_FINISHED &&
|
||||||
currentDate > this._endDate) {
|
currentDate > this._endDate) {
|
||||||
let self = this;
|
|
||||||
let setDataDeletionDate = true;
|
let setDataDeletionDate = true;
|
||||||
this._logger.info("Passed End Date - Switched Task Status to Finished");
|
this._logger.info("Passed End Date - Switched Task Status to Finished");
|
||||||
this.changeStatus(TaskConstants.STATUS_FINISHED);
|
this.changeStatus(TaskConstants.STATUS_FINISHED);
|
||||||
@ -896,7 +895,6 @@ TestPilotExperiment.prototype = {
|
|||||||
optOut: function TestPilotExperiment_optOut(reason, callback) {
|
optOut: function TestPilotExperiment_optOut(reason, callback) {
|
||||||
// Regardless of study ID, post the opt-out message to a special
|
// Regardless of study ID, post the opt-out message to a special
|
||||||
// database table of just opt-out messages; include study ID in metadata.
|
// database table of just opt-out messages; include study ID in metadata.
|
||||||
let url = Application.prefs.getValue(DATA_UPLOAD_PREF, "") + "opt-out";
|
|
||||||
let logger = this._logger;
|
let logger = this._logger;
|
||||||
|
|
||||||
this.onExperimentShutdown();
|
this.onExperimentShutdown();
|
||||||
@ -909,6 +907,7 @@ TestPilotExperiment.prototype = {
|
|||||||
if (reason) {
|
if (reason) {
|
||||||
// Send us the reason...
|
// Send us the reason...
|
||||||
// (TODO: include metadata?)
|
// (TODO: include metadata?)
|
||||||
|
let url = Application.prefs.getValue(DATA_UPLOAD_PREF, "") + "opt-out";
|
||||||
let answer = {id: this._id,
|
let answer = {id: this._id,
|
||||||
reason: reason};
|
reason: reason};
|
||||||
let dataString = JSON.stringify(answer);
|
let dataString = JSON.stringify(answer);
|
||||||
@ -924,17 +923,23 @@ TestPilotExperiment.prototype = {
|
|||||||
if (req.readyState == 4) {
|
if (req.readyState == 4) {
|
||||||
if (req.status == 200 || req.status == 201 || req.status == 202) {
|
if (req.status == 200 || req.status == 201 || req.status == 202) {
|
||||||
logger.info("Quit reason posted successfully " + req.responseText);
|
logger.info("Quit reason posted successfully " + req.responseText);
|
||||||
callback(true);
|
if (callback) {
|
||||||
|
callback(true);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.warn(req.status + " posting error " + req.responseText);
|
logger.warn(req.status + " posting error " + req.responseText);
|
||||||
callback(false);
|
if (callback) {
|
||||||
|
callback(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
logger.trace("Sending quit reason.");
|
logger.trace("Sending quit reason.");
|
||||||
req.send(dataString);
|
req.send(dataString);
|
||||||
} else {
|
} else {
|
||||||
callback(false);
|
if (callback) {
|
||||||
|
callback(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1211,4 +1216,4 @@ TestPilotLegacyStudy.prototype = {
|
|||||||
// TODO test that they don't say "thanks for contributing" if the
|
// TODO test that they don't say "thanks for contributing" if the
|
||||||
// user didn't actually complete them...
|
// user didn't actually complete them...
|
||||||
};
|
};
|
||||||
TestPilotLegacyStudy.prototype.__proto__ = TestPilotTask;
|
TestPilotLegacyStudy.prototype.__proto__ = TestPilotTask;
|
||||||
|
Loading…
Reference in New Issue
Block a user