{"action":"opened","issue":{"url":"https://api.github.com/repos/xolvio/chimp/issues/171","labels_url":"https://api.github.com/repos/xolvio/chimp/issues/171/labels{/name}","comments_url":"https://api.github.com/repos/xolvio/chimp/issues/171/comments","events_url":"https://api.github.com/repos/xolvio/chimp/issues/171/events","html_url":"https://github.com/xolvio/chimp/issues/171","id":120213252,"number":171,"title":"CI: Asynchronous script timeout: result was not received in 10 seconds","user":{"login":"jamiecollinson","id":3263722,"avatar_url":"https://avatars.githubusercontent.com/u/3263722?v=3","gravatar_id":"","url":"https://api.github.com/users/jamiecollinson","html_url":"https://github.com/jamiecollinson","followers_url":"https://api.github.com/users/jamiecollinson/followers","following_url":"https://api.github.com/users/jamiecollinson/following{/other_user}","gists_url":"https://api.github.com/users/jamiecollinson/gists{/gist_id}","starred_url":"https://api.github.com/users/jamiecollinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamiecollinson/subscriptions","organizations_url":"https://api.github.com/users/jamiecollinson/orgs","repos_url":"https://api.github.com/users/jamiecollinson/repos","events_url":"https://api.github.com/users/jamiecollinson/events{/privacy}","received_events_url":"https://api.github.com/users/jamiecollinson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-03T16:25:19Z","updated_at":"2015-12-03T16:25:19Z","closed_at":null,"body":"Hoping someone can help - my tests are running perfectly locally, but on circleci I'm - intermittently, these steps are used in several features - getting the following failures:\r\n\r\n```\r\nError: asynchronous script timeout: result was not received in 10 seconds\r\n  at World.<anonymous> (features/hooks.js:10:8)\r\n\r\n    - - - - -\r\n\r\n\r\nError: asynchronous script timeout: result was not received in 10 seconds\r\n  at World.<anonymous> (features/_steps/_common.js:60:13)\r\n\r\n    - - - - -\r\n```\r\n\r\nThe files look like:\r\n```\r\n// hooks.js\r\nmodule.exports = function( ) {\r\n\r\n  // called before each scenario\r\n  this.Before(function() {\r\n    browser.setViewportSize({\r\n      width: 1200,\r\n      height: 700\r\n    });\r\n    browser.url(process.env.ROOT_URL);\r\n    server.call('reset');\r\n  });\r\n\r\n};\r\n```\r\n```\r\n// global_fixtures.js\r\nMeteor.methods({\r\n\r\n  // We call this before EVERY test scenario - it should completely reset the\r\n  reset: function() {\r\n\r\n    // Reset unpartitioned collections\r\n    Tenants.direct.remove({});\r\n    Meteor.users.direct.remove({});\r\n    Notifications.direct.remove({});\r\n\r\n    // Reset partitioned collections\r\n    Partitioner.directOperation(function() {\r\n      //Entities dependent on other entities should be first\r\n      Tasks.direct.remove({});\r\n      Activities.direct.remove({});\r\n      Meteor.tags.direct.remove({});\r\n      AuditLog.direct.remove({});\r\n      Companies.direct.remove({});\r\n      Contacts.direct.remove({});\r\n      Projects.direct.remove({});\r\n      PurchaseOrders.direct.remove({});\r\n      PurchaseOrderItems.direct.remove({});\r\n      Chatterbox.direct.remove({});\r\n      Products.direct.remove({});\r\n    });\r\n\r\n    // Reset server session variables. At the moment (annoyingly)\r\n    // we can't do something like Mongo.serversession.remove({}) because we h\r\n    // no handle to the collection and meteor doesn't allow us to look up a\r\n    // collection from the mongo name\r\n    ServerSession.set('maintenance', false);\r\n\r\n  }\r\n});\r\n```\r\n```\r\n// _common.js\r\nmodule.exports = function() {\r\n\r\n  var logout = function(done) {\r\n    Meteor.logout(done);\r\n  };\r\n\r\n  var login = function(email, password, done) {\r\n    Meteor.loginWithPassword(email, password, done);\r\n  };\r\n\r\n  var url = require('url');\r\n\r\n  this.Given(/^I (am a logged out user|log out)$/, function() {\r\n    browser.executeAsync(logout);\r\n  });\r\n\r\n  this.Given(/^I am a logged in user$/, function() {\r\n    // FILE TRUNCATED, BUT THE FOLLOWING IS LINE 60\r\n    browser.executeAsync(login, 'test@domain.com', 'goodpassword');\r\n  });\r\n\r\n});\r\n```\r\n\r\nAm I doing something obviously silly? Should I not be using the `executAsync` functions since the move to sync style tests? I've compared with the example letterpress tests and the style at least seems similar.\r\n\r\nWe're quite pleased with our test suite, but not being able to run reliably on CI is starting to really slow us down so I'd love to be able to resolve the issues we're having."}}