# Testing changes to stdlib without remaking the whole of Julia

**URL:** <https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998>\
**Category:** Internals & Design\
**Tags:** question\
**Created:** [June 27, 2018, 3:02pm UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998 "2018-06-27T15:02:20Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [June 27, 2018, 3:02pm UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/1 "2018-06-27T15:02:20Z")

</div>

If I make a change in `stdlib/`, should I `make` the whole Julia, or is it possible to run the unit tests for the particular library without remaking everything? I could not figure out how.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [June 27, 2018, 3:04pm UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/2 "2018-06-27T15:04:01Z")

</div>

Revise should be able to revise stdlibs now (using e.g. `Revise.track(Random)`). So you can Revise and then just include the `runtests.jl` file from the relevant stdlib.

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [February 15, 2019, 2:18pm UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/3 "2019-02-15T14:18:31Z")

</div>

Is it also possible to use `Revise.track(Random)` but develop `Random` in a separate folder and not `/path/to/my/julia/share/julia/v1.1/Random/`?

I tried @kristoffer.carlsson’s suggestion in [Editing a package in stdlib - #5 by kristoffer.carlsson](https://discourse.julialang.org/t/editing-a-package-in-stdlib/10199/5) but couldn’t get it to work. The `pushfirst!` doesn’t seem to have any effect.

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [February 15, 2019, 2:45pm UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/4 "2019-02-15T14:45:17Z")

</div>

If you have the `Random` stdlib at some other folder you can change its uuid, `pkg> develop path/to/Random` and then `using Random` will use that version. This also works with `Revise`.

---

<div class="post-metadata">

**Author:** ![apieum](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/apieum/32/2928_2.png) [@apieum](https://discourse.julialang.org/u/apieum)\
**Post date:** [November 29, 2019, 1:47pm UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/5 "2019-11-29T13:47:19Z")

</div>

Hi, sorry to write on this old subject, I tried to work on Test for issue #31304  
I use `Pkg> develop ~/workspace/julia/stdlib/Test`, write a test that fail then `Pkg> test Test` is working fine, my test is failing, but when I try to make the test pass, whatever I do on ~/workspace/julia/stdlib/Test/src/Test.jl nothing happens.  
I’ve tried to write `pushfirst!(LOAD_PATH, "~/workspace/julia/stdlib/")` at the beggining of runtest.jl still same result.  
How are you developing this particular package ?

 ![Capture%20d%E2%80%99%C3%A9cran%20de%202019-11-29%2014-46-26](https://global.discourse-cdn.com/julialang/original/3X/9/b/9bc36b9f0ac652fac1cf980fc8c470b21651eb39.png)

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [November 29, 2019, 1:51pm UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/6 "2019-11-29T13:51:24Z")

</div>

You can use [Revise](https://github.com/timholy/Revise.jl), or the method described here: [GitHub - JuliaLang/Pkg.jl: Pkg - Package manager for the Julia programming language](https://github.com/JuliaLang/Pkg.jl#using-the-development-version-of-pkgjl)

Edit: Woops, thought this was a new thread, so this answer is just the same as my (and the other) answers above 🙂

---

<div class="post-metadata">

**Author:** ![apieum](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/apieum/32/2928_2.png) [@apieum](https://discourse.julialang.org/u/apieum)\
**Post date:** [November 29, 2019, 1:56pm UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/7 "2019-11-29T13:56:40Z")

</div>

Thanks, with Revise I couldn’t make it works, it works fine with the method described at pkg.jl repo.

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [June 9, 2021, 5:51pm UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/8 "2021-06-09T17:51:27Z")

</div>

this seems to no longer works in 1.6

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [June 10, 2021, 11:26am UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/9 "2021-06-10T11:26:42Z")

</div>

Why not?

1. Change UUID

2. `pkg> dev` the package

3. Make some changes

4. Try again

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [June 10, 2021, 11:32am UTC](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/10 "2021-06-10T11:32:17Z")

</div>

> [@fredrikekre](#):
>
> you can change its uuid,

I missed this part, sorry for the noise this indeed works
