[ 
https://issues.apache.org/jira/browse/CB-8385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14304500#comment-14304500
 ] 

ASF GitHub Bot commented on CB-8385:
------------------------------------

Github user nikhilkh commented on a diff in the pull request:

    
https://github.com/apache/cordova-plugin-test-framework/pull/10#discussion_r24058292
  
    --- Diff: www/medic.js ---
    @@ -35,30 +35,27 @@ exports.log = function() {
     };
     
     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 jsonMedic = 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
    +    jsonMedic = xhr.responseText;
    +  } catch (ex) { }
    +
    +  // config is available
    +  if (jsonMedic) {
    +    exports.logurl = JSON.parse(jsonMedic).logurl;
    --- End diff --
    
    There is an issue here - earlier code was doing this: exports.logurl = 
cfg.couchdb || cfg.logurl
    while you are only using logurl. In fact, this breaks our medic server


> Ensure plugin-test-framework runs tests only once
> -------------------------------------------------
>
>                 Key: CB-8385
>                 URL: https://issues.apache.org/jira/browse/CB-8385
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin TestFramework
>            Reporter: Sergey Grebnov
>            Assignee: Sergey Grebnov
>              Labels: cordova-plugin-test-framework
>
> I see this on Windows. This is happening when test-framework checks whether 
> Medic config exists and calls callback twice when there is no config 
> available (default case when you use test framework locally):
> 1. Inside onload
> 2. Inside exception catch block
> {code}
> exports.load = function (callback) {
>   var xhr = new XMLHttpRequest();
>   xhr.open("GET", "../medic.json", true);
>   xhr.onload = function() {
>     if (xhr.readyState == 4 && xhr.status == 200) {
>       var cfg = JSON.parse(xhr.responseText);
>       exports.logurl = cfg.logurl;
>       exports.enabled = true;
>       console.log('Loaded Medic Config: logurl=' + exports.logurl);
>     }
>     callback();
>   }
>   xhr.onerror = function() {
>    callback();
>   }
>   try {
>     xhr.send(null);
>   }
>   catch(ex) {
>     // some platforms throw on a file not found
>     console.log('Did not find medic config file');
>     setTimeout(function(){
>         callback();
>     },0);
>   }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to