Commit graph

36 commits

Author SHA1 Message Date
Ben Jackson
30eec0d93c Fix variable substitution for multiple defaulted vars
The problem was that the python regex engine is strictly left-to-right,
so matching `[^}]|\\}` against \\}} meant that the `\\` was consumed by
the left of the `|`. The solution is to just switch them around.

Also add a way to run python tests from within vim, so we can actually
test this stuff.
2021-02-06 20:55:24 +00:00
Ben Jackson
42cdff043a Redraw the screen each 20 retries
This allows us to eyeball why something is failing
2020-11-22 14:13:14 +00:00
Ben Jackson
e9e0e9e5b9 Test for new thread creation
- don't clear the stack trace on continue - track running status
  properly (ish)
- mark threads (running) when the app is executing
- indicate the "current" thread with a different icon

TODO:
- allow user to specify current thread?
- track running status of threads individually?
- allow to pause/continue specific threads?
2020-11-22 14:13:14 +00:00
Ben Jackson
f87aa4aa19 Undo flakiness hack 2020-11-22 13:30:14 +00:00
Ben Jackson
3330c704d7 Too many flakes 2020-11-22 12:46:15 +00:00
Ben Jackson
80985148e7 Add "run to cursor" support
We add a 'temporary' option to line breakpionts and try and clear any
temporary breakpionts on the line we end up stopping on. This might not
be art, but _probably_ works in almost all cases that matter.

it's a bit hacky the way we have to push the reason around, but we don't
know where we stopped until we actually get the stack trace response and
SetCurrentFrame

Move temporary breakpionts to match server response

Also delete any existing ones when adding a new one and add tests for
run-to-cursor.

Only continue after we successfully set the breakpoints. This makes it
work in go
2020-10-23 22:53:04 +01:00
Ben Jackson
bd09206caf While debugging, use the correct path for breakpoints 2020-09-27 22:47:22 +01:00
Ben Jackson
2ad1a3e502 Display a different sign when there's a breakpoint on the PC line
Vim only renders a single sign-per-line. If we have the PC _and_ a
breakpoint, we should make that clear. Do this using a vimspectorPCBP
sign which combines both vimspectorPC and vimspectorBP (sort of).

We can't (unfortuantely) render the breakpoint blob in a different
colour, but it's at least obvious when we toggle on the PC line.
2020-09-19 15:18:05 +01:00
Ben Jackson
ce4f341feb Correct some typos 2020-09-19 11:25:53 +01:00
Ben Jackson
4ed9158282 Accomodate flaky tests that I can't diagnose 2020-09-19 11:18:40 +01:00
Ben Jackson
c1b544fb3c Allow customisation of the signs
Too many plugins use the default priority of 10 so they race/chase.
Allow uses to configure the priorities and make sure that the defaults
are documented.
2020-09-01 13:56:12 +01:00
Ben Jackson
e885c95daa Put the cursor at the end of the buffer after evaluations 2020-07-18 18:14:39 +01:00
Ben Jackson
6d020a50de Fix removing all assert errors, properly this time 2020-07-16 08:33:49 +01:00
Ben Jackson
79a8ad40a4 Use my fork of vint; fix some lint 2020-07-16 08:33:49 +01:00
Ben Jackson
97f6dd29a6 Add some tests for expand/collapse variables; todo - fails on gdb/linux 2020-07-16 08:33:49 +01:00
Ben Jackson
6cfc313234 Do a better job of tidying up on test failure; note: We can still receive data callbacks after _OnExit, so just ignore that data 2020-07-10 22:49:30 +01:00
Ben Jackson
5f11fe4e6e Fix up vint errors 2020-05-19 20:27:28 +01:00
Ben Jackson
abd8ba7d38 Stabilise some tests 2020-05-08 11:50:38 +01:00
Ben Jackson
77522cbd44 Add way to run tests using my in-development vim debugger 2020-04-26 13:08:27 +01:00
Ben Jackson
77dc400077 test and doc updates for conditional breakpoints
use a better description of hit condition and describe the options dict.
2020-04-26 13:04:51 +01:00
Ben Jackson
8052484cc7 Use YCM python style 2020-02-08 21:15:27 +00:00
Ben Jackson
f6eccf1314 More: Import latest YCM test framework changes 2020-01-15 23:17:15 +00:00
Ben Jackson
6ee8f7875d Tests: Import test framework changs from YCM 2020-01-15 23:17:15 +00:00
Ben Jackson
7d046574cb Add tests for toggling breakpoint and inserting line 2019-12-14 18:03:34 +00:00
Ben Jackson
6f9fe0cd6f Increase timeout and yet more debug logging 2019-07-27 10:57:50 +01:00
Ben Jackson
17b85d2d72 Reset the actual vimspector, not a fresh one 2019-07-27 10:57:50 +01:00
Ben Jackson
7813f06dd1 May make the tests less flaky 2019-07-27 10:57:50 +01:00
Ben Jackson
4d484868f3 Wait for sign to be displayed 2019-07-27 10:57:50 +01:00
Ben Jackson
3a6a8ca0f2 Increase default timeout 2019-07-27 10:57:50 +01:00
Ben Jackson
1e54e457d4 Finally fix breakpoint bugs 2019-07-27 10:57:50 +01:00
Ben Jackson
e6904acddd Fix some asserts 2019-07-27 10:57:50 +01:00
Ben Jackson
0464b456a8 Save the log file for failed tests 2019-07-27 10:57:50 +01:00
Ben Jackson
34df47fe35 Make reset reliable by waiting for it to finish 2019-07-27 10:57:50 +01:00
Ben Jackson
9fcfa13cc1 Common setup/cleardown 2019-07-27 10:57:50 +01:00
Ben Jackson
55c75fd08e Refactor test framework into a vim plugin. 2019-07-27 10:57:50 +01:00
Ben Jackson
d458d06bc5 Use the same version as the current macvim 2019-06-08 10:49:26 +01:00