Skip to content

Conversation

@fredrikekre
Copy link
Member

@fredrikekre fredrikekre commented Mar 1, 2018

This is a step towards #19528:

Later we should add functionality to fix all doctests (WIP here https://github.com/JuliaDocs/Documenter.jl/tree/fe/doctest-fix), which can then be run to update e.g. the line numbers before a release.

This is WIP because we need JuliaDocs/Documenter.jl#650 and a new Documenter release.

Note that there are a handful of doc updates here that we could have caught if doctests were enabled on CI.

julia> throw(MyException("test exception"))
ERROR: MyException: test exception
ERROR: MyException("test exception")
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

45 minutes
julia> ceil(Dates.Hour(36), Dates.Day)
3 days
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heh...

@fredrikekre fredrikekre force-pushed the fe/misc-doc branch 5 times, most recently from 6f594a3 to 6e6066c Compare March 2, 2018 09:55
julia> str[2]
ERROR: StringIndexError: invalid character index
ERROR: StringIndexError("αβγdef", 2)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could use a custom showerror method with an explanation.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

verbose way to iterate through the characters of `s`:

```jldoctest unicodestring
julia> for i = begindex(s):lastindex(s)
Copy link
Member Author

@fredrikekre fredrikekre Mar 2, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was begindex ever a thing?

julia> A = [4. 3.; 6. 3.]
2×2 Array{Float64,2}:
6.0 3.0
4.0 3.0
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When was this ever true?

@fredrikekre
Copy link
Member Author

Okay, this is no longer WIP, would be great if someone could give a quick review.

@fredrikekre fredrikekre changed the title [WIP] fix doctests, and make them less prone to errors fix doctests, and make them less prone to errors Mar 2, 2018
base/dict.jl Outdated
'b' => 3
julia> getkey(a,'a',1)
julia> getkey(D,'a',1)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could use spaces here to be consistent with the above.

```jldoctest
julia> run(pipeline(`echo hello`, `sort`))
hello
Base.ProcessChain(Base.Process[Process(`echo hello`, ProcessExited(0)), Process(`sort`, ProcessExited(0))], RawFD(0x00000000), RawFD(0x00000001), RawFD(0x00000002), #undef)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps semicolon these?


```julia-repl
julia> run(`echo hello` & `echo world`)
```jldoctest; filter = r"(world\nhello|hello\nworld)
Copy link
Member Author

@fredrikekre fredrikekre Mar 2, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is pretty nice that we can test examples like this now even though the order is undefined.

@fredrikekre fredrikekre merged commit 705fb65 into JuliaLang:master Mar 4, 2018
@fredrikekre fredrikekre deleted the fe/misc-doc branch March 4, 2018 08:16
mbauman added a commit that referenced this pull request Mar 5, 2018
…luenonscalarindexedassignment

* origin/master: (28 commits)
  fix an optimizer bug in `invoke` with non-constant functions (#26301)
  lower top-level statements in such a way that the front-end knows (#26304)
  Make sure Sockets page has h1 header (#26315)
  fix doctests, and make them less prone to errors (#26275)
  FIx intro to manual chapter on types (#26312)
  Add a missing "that" (#26313)
  fix docstring for code_llvm (#26266)
  Remove the examples/ folder (#26153)
  download cert.pem from deps-getall, fixes #24903 (#25344)
  Slight update to doc string for at-enum to refer to instances (#26208)
  performance tweak in reverse(::String) (#26300)
  remove references to `TCPSocket` in Base docstrings (#26298)
  Deprecate adding integers to CartesianIndex (#26284)
  Deprecate conj(::Any), add real(::Missing) and imag(::Missing) (#26288)
  fix #26267, regression in `names` with `imported=false` (#26293)
  fix #25857, `typeinfo` problem in showing arrays with abstract tuple types (#26289)
  Add adjoint(::Missing) method (#25502)
  Use lowered form in logging macro (#26291)
  deprecate bin, oct, dec, hex, and base in favor of `string` and keyword args (#25804)
  deprecate `spawn(cmd)` to `run(cmd, wait=false)` (#26130)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants