at master 25 lines 1.3 kB view raw view rendered
1 2# Testing `julia.withPackages` 3 4This folder contains a test suite for ensuring that the top N most popular Julia packages (as measured by download count) work properly. The key parts are 5 6* `top-julia-packages.nix`: an impure derivation for fetching Julia download data and processing it into a file called `top-julia-packages.yaml`. This YAML file contains an array of objects with fields "name", "uuid", and "count", and is sorted in decreasing order of count. 7* `julia-top-n`: a small Haskell program which reads `top-julia-packages.yaml` and builds a `julia.withPackages` environment for each package, with a nice interactive display and configurable parallelism. It also tests whether evaluating `using <package-name>` works in the resulting environment. 8 9> **Warning:** 10> These tests should only be run on maintainer machines, not Hydra! `julia.withPackages` uses IFD, which is not allowed in Hydra. 11 12## Quick start 13 14``` shell 15# Test the top 100 Julia packages 16./run_tests.sh -n 100 17``` 18 19## Options 20 21You can run `./run_tests.sh --help` to see additional options for the test harness. The main ones are 22 23* `-n`/`--top-n`: how many of the top packages to build (default: 100). 24* `-p`/`--parallelism`: how many builds to run at once (default: 10). 25* `-c`/`--count-file`: path to `top-julia-packages.yaml`.