|
Ran
|
Jobs
3
|
Files
350
|
Run time
1min
|
Badge
README BADGES
|
push
buildkite
fix pkg loading from read-only filesystems on unix (#61253) On our HPC systems `/home` is mounted read-only on the compute nodes, and if you load a precompiled pkg you'll see errors like the following: ``` julia> using DataFrames ERROR: SystemError: futimes: Permission denied Stacktrace: [1] systemerror(p::Symbol, errno::Int32; extrainfo::Nothing) @ Base ./error.jl:186 [2] systemerror @ ./error.jl:185 [inlined] [3] touch @ ./filesystem.jl:361 [inlined] [4] touch(path::String) @ Base.Filesystem ./file.jl:546 [5] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128, stalecheck::Bool; reasons::Dict{String, Int64}, DEPOT_PATH::Vector{String}) @ Base ./loading.jl:2090 ... ``` But touching read-only files is supposed to be fine, according to the code comments: https://github.com/JuliaLang/julia/blob/<a class=hub.com/JuliaLang/julia/commit/74d12302d74928dbe8c8883bdd395cd3e35481b9">74d12302d/base/loading.jl#L2058-L2064 However, only `IOError`s are ignored. On unix `touch()` calls `futimes` in the C stdlib and throws `SystemError`: https://github.com/JuliaLang/julia/blob/74d12302d74928dbe8c8883bdd395cd3e35481b9/base/filesystem.jl#L359-L368 This patch ignores all exceptions thrown when touching precompilation files.
63591 of 82723 relevant lines covered (76.87%)
23402347.28 hits per line
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1463 | windows-coverage - 1463 | 317 |
74.85 |
||
| 1463 | linux-coverage - 1463 | 349 |
75.43 |
||
| 1463 | macos-coverage - 1463 | 350 |
75.02 |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
|---|