linter-julia breaks because of #184 changes
TeroFrondelius opened this issue · 10 comments
Something changes the function of lintserver() in #184, I cannot even revert back to the old functionality. I only get it working if I will checkout version before #184 is merged. I'm afraid that same thing happened to other lintserver() users namely vscode.
When I pull upstream to get latest changes, I noticed that in my julia v"0.5.0" environment the tests won't pass:
Test Summary: | Pass Fail Total
Server | 38 5 43
lintserver() tests | 3 3
Testing the lintserver addition | 2 2
Testing lintserver() with named pipe and JSON format | 38 38
ERROR: LoadError: Some tests did not pass: 38 passed, 5 failed, 0 errored, 0 broken.
Here is the above ERROR in details:
Evaluated: "none:1 E422 : string uses * to concatenate" in String["none\n",":1 E422 : string uses * to concatenate\n","none\n",":1 E539 Union{}: assigning an error to a variable\n","\n",""]
I didn't expect #184 to change the function of lintserver()
. I will investigate.
What is especially strange is that #184, as far as I can tell, does not change the lintserver code at all.
I am unable to reproduce the test failure locally. Can you post your Pkg.status()
?
Hi @TotalVerb I will also continue to find the error when back at home. I will also check the Pkg.status(). I will try to make some tests as well.
For the reference here is the linter-julia issue: AtomLinter/linter-julia#38
requirement | version | status |
---|---|---|
julia | 0.5 | OK |
JSON | 0.6.0 | OK |
Compat | 0.20.0 | I have 0.19.0 |
julia> Pkg.status()
10 required packages:
- Atom 0.5.8
- Blosc 0.1.7
- Cxx 0.0.2
- Documenter 0.8.10
- JSON 0.8.1
- JuliaFEM 0.2.1+ linting (dirty)
- Lint 0.2.5+ master
- NLsolve 0.9.1
- ProgressMeter 0.3.3
- Tokenize 0.1.2
61 additional packages:
- ASTInterpreter 0.0.4
- AbstractTrees 0.0.4
- ArgParse 0.4.0
- BinDeps 0.4.5
- Blink 0.5.0
- COFF 0.0.2
- CRC 1.2.0
- Calculus 0.1.15
- CodeTools 0.4.3
- Codecs 0.2.0
- ColorTypes 0.2.12
- Colors 0.6.9
- Compat 0.19.0
- DWARF 0.1.0
- DataArrays 0.3.11
- DataFrames 0.8.5
- DataStructures 0.5.2
- DiffBase 0.0.3
- Distances 0.3.2
- DocStringExtensions 0.3.1
- ELF 0.1.0
- FileIO 0.2.2
- FixedPointNumbers 0.2.1
- Formatting 0.2.0
- ForwardDiff 0.3.3
- GZip 0.2.20
- Gallium 0.0.4
- HDF5 0.7.2
- Hiccup 0.1.1
- HttpCommon 0.2.6
- HttpParser 0.2.0
- HttpServer 0.1.7
- JuliaParser 0.7.4
- Juno 0.2.5
- LNR 0.0.2
- Lazy 0.11.5
- LightXML 0.4.0
- LineSearches 0.1.5
- Logging 0.3.1
- MachO 0.0.4
- MacroTools 0.3.4
- MbedTLS 0.4.3
- Media 0.2.4
- Mustache 0.1.3
- Mux 0.2.2
- NaNMath 0.2.2
- ObjFileBase 0.0.4
- Optim 0.7.4
- PositiveFactorizations 0.0.3
- Reactive 0.3.6
- Reexport 0.0.3
- SHA 0.3.0
- SortingAlgorithms 0.1.0
- StatsBase 0.13.0
- StructIO 0.0.2
- TerminalUI 0.0.2
- TextWrap 0.1.6
- URIParser 0.1.7
- VT100 0.0.2
- WebSockets 0.2.1
- oldLint 0.0.0- c7c23b47 (unregistered, dirty)
julia>
After updating compat, I will get all tests to pass:
Test Summary: | Pass Total
Server | 43 43
It is strange that Pkg did not update Compat to the required version. Perhaps Pkg.checkout
does not ensure dependencies. Hopefully this problem goes away with a tagged release.
We should recommend using Pkg.add
instead of Pkg.checkout
, and just make sure to tag new versions frequently. Checking out the master branch does not seem very robust.
Yes, I just pulled on the command line and didn't run the Pkg.update() at all. Maybe it could have worked properly, if I have just used it.
So does linter-julia work with the updated version of Compat?
Yes, now it works, at least for me. I will need to do more testing. Clearly this pull request #184 hasn't broke it.