You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
haskell-mode invokes many external programs. There is a need to have integration tests for such interactions so that we can ensure smooth cooperation. Integration tests is a category of tests that is completely absent from our test suite right now.
Requirements:
Integration tests help with development. It should be easier to write an integration test than to do the testing manually.
Integration tests should ensure working with multiple versions of external program.
Integration tests should run separately from unit tests so that unit testing development does not suffer in speed or issues.
Integration tests should run fast.
Integration tests should be deterministic and not suffer from environment misconfiguration.
Ideas:
Use el-mock and stop right before the external program is executed.
Create substitute programs as shell scripts, for example hasktags-mock.sh and setup haskell-mode to invoke those.
Install real programs and run those.
Discussion:
Item 1. cuts a bit too short although it might be useful in some scenarios. Item 2. is a great one because it does not depend on what happens to be installed in the $PATH and ensures that old versions of external executable will still work. Item 3. on the other hand is great to ensure that the newest executable will still work with haskell-mode.
I guess we will use each method depending on circumstances.
The text was updated successfully, but these errors were encountered:
haskell-mode
invokes many external programs. There is a need to have integration tests for such interactions so that we can ensure smooth cooperation. Integration tests is a category of tests that is completely absent from our test suite right now.Requirements:
Ideas:
Discussion:
Item 1. cuts a bit too short although it might be useful in some scenarios. Item 2. is a great one because it does not depend on what happens to be installed in the
$PATH
and ensures that old versions of external executable will still work. Item 3. on the other hand is great to ensure that the newest executable will still work withhaskell-mode
.I guess we will use each method depending on circumstances.
The text was updated successfully, but these errors were encountered: