# Proper way to use Pkg.test

**URL:** <https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560>\
**Category:** New to Julia\
**Tags:** testing\
**Created:** [November 15, 2018, 3:16pm UTC](https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560 "2018-11-15T15:16:24Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![armstrtw](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/armstrtw/32/5978_2.png) [@armstrtw](https://discourse.julialang.org/u/armstrtw)\
**Post date:** [November 15, 2018, 3:16pm UTC](https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560/1 "2018-11-15T15:16:24Z")

</div>

I’m new to Julia and doing some development work on an existing package RData.

I am attempting to run Pkg.test, and I’m a little confused as to why my dev environment cannot be located.

I’ve created the directory: dvl/julia.packages and added that to my LOAD\_PATH (via startup.jl)

> ~$ cat .julia/config/startup.jl  
> push!(LOAD\_PATH, “/home/warmstrong/dvl/julia.packages”)

then I cloned my github project to that dir, made changes, etc.

In my attempt to run the testsuite I do the following:  
(from a clean session)

> julia\> using Pkg
> 
> julia\> Pkg.test(“RData”)  
> ERROR: The following package names could not be resolved:
> 
> - RData (not found in project or manifest)  
> Please specify by known `name=uuid`.  
> Stacktrace:  
> [1] pkgerror(::String) at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Types.jl:120  
> [2] #ensure\_resolved#43(::Bool, ::Function, ::Pkg.Types.EnvCache, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Types.jl:898  
> [3] ensure\_resolved at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Types.jl:868 [inlined]  
> [4] #test#42(::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:269  
> [5] #test#41 at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:258 [inlined]  
> [6] test at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:255 [inlined]  
> [7] #test#40 at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:254 [inlined]  
> [8] test at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:254 [inlined]  
> [9] #test#39(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::String) at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:253  
> [10] test(::String) at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:253  
> [11] top-level scope at none:0
> 
> julia\> LOAD\_PATH  
> 4-element Array{String,1}:  
> “@”  
> “@v#.#”  
> “@stdlib”  
> “/home/warmstrong/dvl/julia.packages”
> 
> julia\> exit()  
> ~$ \ls -d /home/warmstrong/dvl/julia.packages/RData.jl  
> /home/warmstrong/dvl/julia.packages/RData.jl

How do I tell Julia about this dev directory in addition to adding it to the LOAD\_PATH?

Thanks!

---

<div class="post-metadata">

**Author:** ![alyst](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alyst/32/18855_2.png) [@alyst](https://discourse.julialang.org/u/alyst)\
**Post date:** [November 15, 2018, 4:17pm UTC](https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560/2 "2018-11-15T16:17:56Z")

</div>

The package have to be enabled in your active environment. Have you done `Pkg.develop("<path-to-package>")`?  
But the easier way is to do `]add RData` (adds the current release to the environment) and then `]develop RData` (creates (if not done before) `~/.julia/dev/RData` folder, checks out the master branch and updates the environment manifest to use this location). You can then use your git tool of choice to configure the remotes and check out your development branch.

---

<div class="post-metadata">

**Author:** ![armstrtw](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/armstrtw/32/5978_2.png) [@armstrtw](https://discourse.julialang.org/u/armstrtw)\
**Post date:** [November 15, 2018, 5:04pm UTC](https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560/3 "2018-11-15T17:04:59Z")

</div>

ok.

I tried the Pkg.develop method, but I get some errors:

> julia\> Pkg.develop(“dvl/julia.packages/RData.jl”)  
> ERROR: dvl/julia.packages/RData.jl is not a valid packagename  
> Stacktrace:  
> [1] pkgerror(::String) at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Types.jl:120  
> [2] check\_package\_name(::String) at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:22  
> [3] iterate at ./generator.jl:47 [inlined]  
> [4] collect(::Base.Generator{Array{String,1},typeof(Pkg.API.check\_package\_name)}) at ./array.jl:627  
> [5] #add\_or\_develop#11 at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:28 [inlined]  
> [6] #add\_or\_develop at ./none:0 [inlined]  
> [7] #add\_or\_develop#10(::Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:mode, :shared),Tuple{Symbol,Bool}}}, ::Function, ::String) at  
> /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:27  
> [8] #add\_or\_develop at ./none:0 [inlined]  
> [9] #develop#19 at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:70 [inlined]  
> [10] develop(::String) at /buildworker/worker/package\_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:70  
> [11] top-level scope at none:0

Yet, when I attempt to just use the package it’s fine.

> julia\> using RData  
> [Info: Recompiling stale cache file /home/warmstrong/.julia/compiled/v1.1/RData.ji for RData [top-level]
> 
> julia\>

I have to say, it’s a bit unusual to develop out of a dot directory. everything else I do is out of my dvl folder. I can work with it if that’s the only way to do it, but I’m not sure it makes sense. Maybe I’ll just slink it for now to get it to work…

---

<div class="post-metadata">

**Author:** ![armstrtw](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/armstrtw/32/5978_2.png) [@armstrtw](https://discourse.julialang.org/u/armstrtw)\
**Post date:** [November 15, 2018, 5:05pm UTC](https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560/4 "2018-11-15T17:05:03Z")

</div>

Also, what can I do so that my posts do not need to be moderator approved first?

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [November 15, 2018, 5:13pm UTC](https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560/5 "2018-11-15T17:13:26Z")

</div>

> [@armstrtw](#):
>
> Also, what can I do so that my posts do not need to be moderator approved first?

Post twice — you’re done 🙂

---

<div class="post-metadata">

**Author:** ![armstrtw](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/armstrtw/32/5978_2.png) [@armstrtw](https://discourse.julialang.org/u/armstrtw)\
**Post date:** [November 15, 2018, 5:13pm UTC](https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560/6 "2018-11-15T17:13:56Z")

</div>

> .julia$ pwd  
> /home/warmstrong/.julia  
> .julia$ ls -d dev  
> lrwxrwxrwx 1 warmstrong domain users 35 Nov 15 12:10 dev → /home/warmstrong/dvl/julia.packages  
> .julia$

hmm…

> julia\> using Pkg
> 
> julia\> Pkg.test(“RData”)  
> Updating registry at `~/.julia/registries/General`  
> Updating git-repo `https://github.com/JuliaRegistries/General.git`  
> ERROR: Package RData did not provide a `test/runtests.jl` file

> test$ pwd  
> /home/warmstrong/dvl/julia.packages/RData.jl/test  
> test$ ls runtests.jl  
> -rw-r–r-- 1 warmstrong domain users 60 Nov 15 08:28 runtests.jl  
> test$

---

<div class="post-metadata">

**Author:** ![alyst](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alyst/32/18855_2.png) [@alyst](https://discourse.julialang.org/u/alyst)\
**Post date:** [November 15, 2018, 5:20pm UTC](https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560/7 "2018-11-15T17:20:49Z")

</div>

> [@armstrtw](#):
>
> I tried the Pkg.develop method, but I get some errors
> 
> ```julia
> julia&gt; Pkg.develop(“dvl/julia.packages/RData.jl”)
> ERROR: dvl/julia.packages/RData.jl is not a valid packagename
> 
> ```

Have you tried renaming it to `RData`? That’s how Julia expects it.

> [@armstrtw](#):
>
> hmm…

`Pkg.test()` uses the information from the `Project.toml` and `Manifest.toml` in your active environment `Pkg.status()` (or `]st`) shows a summary of what’s in your `Manifest.toml` and where it’s located.

---

<div class="post-metadata">

**Author:** ![armstrtw](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/armstrtw/32/5978_2.png) [@armstrtw](https://discourse.julialang.org/u/armstrtw)\
**Post date:** [November 15, 2018, 5:24pm UTC](https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560/8 "2018-11-15T17:24:07Z")

</div>

yes! that was it.

Thanks!

---

<div class="post-metadata">

**Author:** ![armstrtw](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/armstrtw/32/5978_2.png) [@armstrtw](https://discourse.julialang.org/u/armstrtw)\
**Post date:** [November 15, 2018, 5:24pm UTC](https://discourse.julialang.org/t/proper-way-to-use-pkg-test/17560/9 "2018-11-15T17:24:34Z")

</div>

> dev$ pwd  
> /home/warmstrong/.julia/dev  
> dev$ ls  
> total 0  
> lrwxrwxrwx 1 warmstrong domain users 45 Nov 15 12:22 RData → /home/warmstrong/dvl/julia.packages/RData.jl/  
> dev$
