8000 Tags · seachel/sorbet · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: seachel/sorbet

Tags

0.5.5507.20200408173352-3b10b1b85

Toggle 0.5.5507.20200408173352-3b10b1b85's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
10000
Allow :const nodes in deserialize nil handler (sorbet#2861)

0.5.5506.20200408125446-8e129fad9

Toggle 0.5.5506.20200408125446-8e129fad9's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Emit raw, pre-formatted values for timestamps (sorbet#2858)

This gets us back to parity with what tracing.cc was doing before I
refactored it to use rapidjson instead of fmt::format_to.

We use `fmt::format` to turn a fixed `int64_t` into a floating point
number with 3 digits of precision (rather than dividing by 1000.0).
`writer.String` takes that std::string and treats it as a JSON string
when serializing it (so the type of `"ts"` is a JSON strong).  On the
other hand `writer.RawValue` takes that std::string and treats it as an
already-formatted JSON value, with a given type. That makes the type for
`"ts"` back into a number.

0.5.5505.20200407165930-58c504e14

Toggle 0.5.5505.20200407165930-58c504e14's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Replace fmt with rapidjson in tracing.cc (sorbet#2855)

* Replace fmt with rapidjson in tracing.cc

This ensures that all of the JSON is properly escaped, even in the
presence of UTF-8 non-ASCII characters in the strings.

* Add failing test

0.5.5504.20200407161110-d38829c20

Toggle 0.5.5504.20200407161110-d38829c20's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Also make macOS timers faster (sorbet#2856)

0.5.5503.20200407160450-93bf55aae

Toggle 0.5.5503.20200407160450-93bf55aae's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Add support for tracing tests (sorbet#2857)

This helped me diagnose where the slowness in the constant_all_kinds
completion test was coming from, so I figure we may as well leave it
checked in for ease of future debugging.

For future reference, my preferred way of using this flag is:

1.  Run the test via bazel, to ensure that all the files are built:

    `bazel test --config=dbg --test_output=all //test:test_LSPTests/testdata/my/test`

2.  In the output near the top, there will be a line that shows how the
    test runner was invoked (with what flags):

    `bazel-bin/test/test_corpus_runner --single_test=...  --gtest_filter=...`

3.  I copy / paste that line into my terminal, and append a `--web-trace-file=trace.json` argument.

That drops a `trace.json` file into the top-level of the Sorbet folder.

(This "run the test directly at the command line" technique is also
useful, because you can take the binary and run `perf` or `lldb` over it
too, or load it up in `Instruments.app`).

0.5.5502.20200407095448-baa21eadf

Toggle 0.5.5502.20200407095448-baa21eadf's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Turn off ErrorBuilders during LSP queries (sorbet#2852)

* Turn off fuzzy suggestions in resolver during LSP queries

We drop any errors discovered when making a query on the floor, so it
doesn't make sense to spend time in resolver making those error messages
better by adding "Did you mean" suggestions for missing constants.

In particular, the findMemberFuzzyMatch search is crazy slow.

As measured on //test:test_LSPTests/testdata/disabled/lsp/completion/constants_all_kinds
in debug mode, this change improves perf when testing on my MacBook Pro:

- from 7s to 2.5s (when ENFORCEs don't have Timers)
- from 42s to 9s (when ENFORCEs have Timers)

I'm still not sure why adding ENFORCEs to Timers makes it so much
slower, but I plan to timebox looking into that too.

Regardless, this should have a huge effect on our entire test suite.

* Re-enable constants_all_kinds LSP test

* Don't compute errors when there's an active LSP query

Make the `if (auto e = ...beginError...)` lines return false to skip
running their bodies when there's an LSP query, because LSP uses other
mechanism (not loc / symbol / etc. queries) to collect and report errors
back.

This should make certain LSP methods like completion a little bit
faster.

0.5.5501.20200406141012-e75c71209

Toggle 0.5.5501.20200406141012-e75c71209's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Add some FAQs (sorbet#2851)

* Add some FAQs

* cd website && yarn prettier

0.5.5500.20200406123547-495d14974

Toggle 0.5.5500.20200406123547-495d14974's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Add print statement to help lldb debugging (sorbet#2850)

There used to be something in the bazel test output that would show the
command and arguments it ran when running a test. This was super
helpful, because it could be copy/pasted after `lldb --` and then you
could start debugging.

I think probably one of the bazel upgrades killed that. Instead, I opted
to just add back the print statement manually in our forwarder:

    ==================== Test output for //test:test_LSPTests/testdata/lsp/completion/constants_all_kinds:
    bazel-bin/test/test_corpus_runner --single_test=test/testdata/lsp/completion/constants_all_kinds.rb --gtest_filter=LSPTests/\*
    Note: Google Test filter = LSPTests/*
    [==========] Running 1 test from 1 test suite.
    ...

0.5.5499.20200406100012-5a657da3e

Toggle 0.5.5499.20200406100012-5a657da3e's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Ignore slow completion test to fix master (sorbet#2849)

This was taking over a minute in CI. (It took about 20s and finished on
the buildbox, so we know that it terminates).

Disabling to get master passing again, but we should re-enable.

0.5.5497.20200403182518-822ee4315

Toggle 0.5.5497.20200403182518-822ee4315's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix tracing.cc after faster-timers PR (sorbet#2844)

* Add failing test

* Web trace file format requires floating point timestamps

Also, I had forgotten to change "now" to use clock_gettime_coarse.
It was instead using steady_clock still, which generates completion
incomparable timestamps (so when those timestamps were both converted to
unit-less floating point numbers, it looked like the counters had a
timestamp of weeks in the future compared to the timestamps of the
floating point numbers).

* Change the way ENFORCE timers are printed

Having no spaces in the Timer name makes them format a little bit nicer
in the web trace file viewer in Chrome (don't get a line break where the
space is if there's no space).

* Fix failing test
0