Skip to content

Deferred execution (2014)#1124

Closed
reid wants to merge 2 commits intomochajs:masterfrom
reid:deferred-exec
Closed

Deferred execution (2014)#1124
reid wants to merge 2 commits intomochajs:masterfrom
reid:deferred-exec

Conversation

@reid
Copy link
Copy Markdown

@reid reid commented Feb 3, 2014

This is @tarruda's #719 pull request from last year updated to cleanly merge. All tests pass.

From the original request:

This should solve issue #362.

A global 'wait' function is added so the test files can pause mocha processing and generate
tests asynchronously. The function returns a semaphore with a single method 'resume' to continue processing test files.

@travisjeffery This pull request implements TJ's suggestion for fixing #362 and includes a test. Can this be included in Mocha? Deferred execution has inspired Mocha forks and prevents test runners like Yeti from running async-defined Mocha tests. Thank you!

/cc @alex-seville

tarruda and others added 2 commits January 17, 2013 08:38
This function signals mocha to pause processing files while tests are
generated asynchronously.

For this to work, a few changes were required in the Mocha and Runner classes:

- In the Mocha class, the 'loadFiles' method was refactored to work
  asynchonously.
- In the Runner class, the globals initialization was moved out of the
  constructor into a new method: 'initDefaultGlobals'. This method needs
  to be invoked prior to running the tests, so the runner will take a
  'snapshot' of the global properties.

This commit should also solve issue mochajs#362
@travisjeffery
Copy link
Copy Markdown
Contributor

looks good mostly, i'm not so sure about having the wait fn on global

@alex-seville
Copy link
Copy Markdown

👍

This will help address some compatibility issues in Blanket as well.

The wait fn does get removed from global, fwiw - https://github.com/visionmedia/mocha/pull/1124/files#diff-aa849a970cef551664c12f04a4209f6fR188.

@alex-seville
Copy link
Copy Markdown

Bump?

@NickHeiner
Copy link
Copy Markdown

This would be nice to have. On my team, we basically have a rule to never generate tests asynchronously because it isn't supported.

@chrismeyersfsu
Copy link
Copy Markdown

Bump

@nnnnathann
Copy link
Copy Markdown

Also, bump.

@arcanis
Copy link
Copy Markdown

arcanis commented Jun 22, 2014

The PR doesn't seem too big. Is there something holding the merge, @visionmedia ?

@jbnicolai
Copy link
Copy Markdown

@travisjeffery any objections to merging?

@travisjeffery
Copy link
Copy Markdown
Contributor

i'd rather add an option to Mocha and then use the existing run api. same with tj

@reid
Copy link
Copy Markdown
Author

reid commented Jul 18, 2014

@travisjeffery How would we set this "async" Mocha option on a per-test basis (or browser usage)? mocha.wait(), which returns the semaphore?

By "existing run api" I assume you mean mocha.run()? I think it makes more sense to call resume on the object returned by something like wait() or mocha.wait(). Am I mistaken? (I didn't find anything in the documentation page linked from the README, but that's what TJ mentioned 2 years ago.)

@boneskull boneskull added the status: waiting for author waiting on response from OP or other posters - more information needed label Oct 17, 2014
@travisjeffery travisjeffery force-pushed the master branch 2 times, most recently from 35c1580 to 64dfc0b Compare October 22, 2014 04:56
@okv
Copy link
Copy Markdown

okv commented Oct 28, 2014

bump

@okv
Copy link
Copy Markdown

okv commented Oct 29, 2014

It's really very usefull feature when you need to do some async stuff (e.g. get test data from db which will be used at describe labels) before test will be loaded by mocha. Do you have any plans about merging it into master?

@boneskull boneskull added Duplicate and removed status: waiting for author waiting on response from OP or other posters - more information needed labels Nov 21, 2014
@boneskull boneskull closed this Nov 21, 2014
@boneskull
Copy link
Copy Markdown
Member

this won't get merged; see #1439

boneskull pushed a commit to boneskull/mocha that referenced this pull request Feb 16, 2015


modifies http tests to avoid race conditions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.