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
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+24-5Lines changed: 24 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -201,11 +201,12 @@ Add new code to Julia's base libraries as follows (this is the "basic" approach;
201
201
202
202
Build as usual, and do `make clean testall` to test your contribution. If your contribution includes changes to Makefiles or external dependencies, make sure you can build Julia from a clean tree using `git clean -fdx` or equivalent (be careful – this command will delete any files lying around that aren't checked into git).
203
203
204
-
Note: You can run specific test files with `make`:
204
+
#### Running specific tests
205
+
There are `make` targets for running specific tests:
205
206
206
207
make test-bitarray
207
208
208
-
or with the `runtests.jl` script, e.g. to run `test/bitarray.jl` and `test/math.jl`:
209
+
You can also use the `runtests.jl` script, e.g. to run `test/bitarray.jl` and `test/math.jl`:
209
210
210
211
./usr/bin/julia test/runtests.jl bitarray math
211
212
@@ -242,12 +243,30 @@ If you need to restart your Julia session, just start at step 2 above.
242
243
built and incorporate them automatically. You only need to rebuild
243
244
Julia if you made code-changes that Revise cannot handle.
244
245
245
-
For convenience, there are also `test-revise-*` targets for every `test-*`
246
-
target that use Revise to load any modifications to Base into the current
247
-
process before running the corresponding test. This can be useful as a shortcut
246
+
For convenience, there are also `test-revise-*` targets for every [`test-*`
247
+
target](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md#running-specific-tests) that use Revise to load any modifications to Base into the current
248
+
system image before running the corresponding test. This can be useful as a shortcut
248
249
on the command line (since tests aren't always designed to be run outside the
249
250
runtest harness).
250
251
252
+
### Contributing to the standard library
253
+
254
+
The standard library (stdlib) packages are baked into the Julia system image.
255
+
When running the ordinary test workflow on the stdlib packages, the system image
256
+
version overrides the version you are developing.
257
+
To test stdlib packages, you can do the following steps:
258
+
259
+
1. Edit the UUID field of the `Project.toml` in the stdlib package
260
+
2. Change the current directory to the directory of the stdlib you are developing
261
+
3. Start julia with `julia --project=.`
262
+
4. You can now test the package by running `pkg> test` in Pkg mode.
263
+
264
+
Because you changed the UUID, the package manager treats the stdlib package as
265
+
different from the one in the system image, and the system image version will
266
+
not override the package.
267
+
268
+
Be sure to change the UUID value back before making the pull request.
269
+
251
270
### Contributing to patch releases
252
271
253
272
The process of creating a patch release is roughly as follows:
0 commit comments