# How to test package with different sets of test dependencies

**URL:** <https://discourse.julialang.org/t/how-to-test-package-with-different-sets-of-test-dependencies/113478>\
**Category:** General Usage\
**Created:** [April 24, 2024, 11:21pm UTC](https://discourse.julialang.org/t/how-to-test-package-with-different-sets-of-test-dependencies/113478 "2024-04-24T23:21:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![marius311](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marius311/32/3953_2.png) [@marius311](https://discourse.julialang.org/u/marius311)\
**Post date:** [April 24, 2024, 11:21pm UTC](https://discourse.julialang.org/t/how-to-test-package-with-different-sets-of-test-dependencies/113478/1 "2024-04-24T23:21:12Z")

</div>

Suppose for various reasons I want to test a package with two different `test/Project.toml`’s. These will have different packages / compat bounds and my single `runtests.jl` is conditional on which dependencies are loaded.

Is there any streamlined / recommended way to do this? Both locally and for GitHub actions? Thanks for any suggestions.

---

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [April 25, 2024, 4:35am UTC](https://discourse.julialang.org/t/how-to-test-package-with-different-sets-of-test-dependencies/113478/2 "2024-04-25T04:35:54Z")

</div>

Not quite everything you need but I think this needs to be mentioned here:

> **[GitHub - julia-actions/julia-downgrade-compat: GitHub action to downgrade...](https://github.com/julia-actions/julia-downgrade-compat)**
>
> GitHub action to downgrade julia compat entries before testing - julia-actions/julia-downgrade-compat

---

<div class="post-metadata">

**Author:** ![marius311](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marius311/32/3953_2.png) [@marius311](https://discourse.julialang.org/u/marius311)\
**Post date:** [April 25, 2024, 7:17pm UTC](https://discourse.julialang.org/t/how-to-test-package-with-different-sets-of-test-dependencies/113478/3 "2024-04-25T19:17:04Z")

</div>

Thanks thats a really interesting package I didnt know about. As it happens this is _not_ the motivation here (which instead has to do with testing two extension modules whose dependencies are mutually incompatible), but the case this covers of wanting to a “latest” and “oldest” version of things is definitely another one which would lead to my question.

---

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [May 2, 2024, 11:22pm UTC](https://discourse.julialang.org/t/how-to-test-package-with-different-sets-of-test-dependencies/113478/4 "2024-05-02T23:22:23Z")

</div>

Bumping this question cause I’m interested in the general answer as well, for the purposes of DifferentiationInterface.jl. I’m testing that package with a dozen different autodiff backends, and ideally I’d wanna do that separately to minimize the risk of incompatibilities when putting them all together
