CB-8385 Ensure plugin-test-framework trigger tests only once
diff --git a/www/medic.js b/www/medic.js
index f94365c..740ad84 100644
--- a/www/medic.js
+++ b/www/medic.js
@@ -35,30 +35,28 @@
};
exports.load = function (callback) {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", "../medic.json", true);
- xhr.onload = function() {
- if (xhr.readyState == 4 && (xhr.status == 0 || xhr.status == 200)) {
- var cfg = JSON.parse(xhr.responseText);
- exports.logurl = cfg.couchdb || cfg.logurl;
- exports.enabled = true;
- exports.sha = cfg.sha;
- console.log('Loaded Medic Config: logurl=' + exports.logurl);
- }
- callback();
- }
- xhr.onerror = function() {
- callback();
- }
+ var cfg = null;
try {
+ // attempt to synchronously load medic config
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", "../medic.json", false);
xhr.send(null);
- }
- catch(ex) {
- // some platforms throw on a file not found
+ cfg = JSON.parse(xhr.responseText);
+ } catch (ex) { }
+
+ // config is available
+ if (cfg) {
+ exports.logurl = cfg.couchdb || cfg.logurl;
+ exports.sha = cfg.sha;
+ exports.enabled = true;
+ console.log('Loaded Medic Config: logurl=' + exports.logurl);
+ } else {
+ // config does not exist
console.log('Did not find medic config file');
- setTimeout(function(){
- callback();
- },0);
}
+
+ setTimeout(function () {
+ callback();
+ }, 0);
}