Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow "cycles" through test suite dependencies #3422

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Commits on May 18, 2016

  1. Add test for cycles through test suites

    Of course, this test currently fails.
    edsko authored and 23Skidoo committed May 18, 2016
    Configuration menu
    Copy the full SHA
    ac82c75 View commit details
    Browse the repository at this point in the history
  2. Make private test suite deps independent

    When a test suite has a dependency which is not shared with the main library,
    we can consider it independent. This addresses #1575 to some degree. Suppose
    
    * optparse-applicative has a test suite that depends on tasty
    * tasty has a (regular) dependency on optparse-applicative
    
    We can resolve this by linking optparse-applicative's test suite against an
    older version of itself.
    
    This only works provided that optparse-applicative's test suite does not
    declare optparse-applicative as a dependency (and instead just compiles in
    the modules from the src/ directory or whatever). If the test suite did
    declare the library as a dependency, then clearly the test suite needs to be
    built against _this_ version of the library; it would be terribly confusing
    if the test suite got built against an older version. But if the test suite
    gets built against the library itself, then if the test suite also needs
    tasty, we cannot pick two different versions in the same application (yet).
    
    In this commit we add the appropriate qualifiers; however, the resulting
    install plan will now be rejected by the internal validity check. That's next
    up.
    edsko authored and 23Skidoo committed May 18, 2016
    Configuration menu
    Copy the full SHA
    2d0ed5f View commit details
    Browse the repository at this point in the history
  3. Only insist on consistency for libraries

    For test suites etc. we might want to allow for inconsistent dependencies. For
    instance, in the optparse-applicative -> tasty -> optparse-applicative
    dependency cycle we might want to allow two versions of optparse-applicative in
    the same executable (one that is the library-under-test and one used internally
    by tasty).
    edsko authored and 23Skidoo committed May 18, 2016
    Configuration menu
    Copy the full SHA
    e52a9e3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fecaba2 View commit details
    Browse the repository at this point in the history
  5. Integration test for private test suite deps

    Details of the test in the README.
    edsko authored and 23Skidoo committed May 18, 2016
    Configuration menu
    Copy the full SHA
    f7db1d9 View commit details
    Browse the repository at this point in the history
  6. Qualification fix.

    Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
    ezyang authored and 23Skidoo committed May 18, 2016
    Configuration menu
    Copy the full SHA
    0b1ad1a View commit details
    Browse the repository at this point in the history
  7. Merge with master

    edsko authored and 23Skidoo committed May 18, 2016
    Configuration menu
    Copy the full SHA
    f08a6e8 View commit details
    Browse the repository at this point in the history
  8. Update cabal-install.cabal

    Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
    ezyang authored and 23Skidoo committed May 18, 2016
    Configuration menu
    Copy the full SHA
    cd5bd8c View commit details
    Browse the repository at this point in the history
  9. Update documentation.

    [ci skip]
    23Skidoo committed May 18, 2016
    Configuration menu
    Copy the full SHA
    4bd7c2e View commit details
    Browse the repository at this point in the history