Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Issue 135843003: Fix several little buglets with stepping (Closed)

Created:
6 years, 11 months ago by hausner
Modified:
6 years, 10 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Fix several little buglets with stepping No need to halt on single step if there is a breakpoint on the same location. While looking at the resulting test failures, I discovered that the step_in_equals test was not at all testing what it was meant to test. It happened to pass because of a related bug in the parser. Decided to abandon that test and instead check that we can break at == even if one of the operands is null. Added ability to match line numbers in the debugger tests. R=regis@google.com Committed: https://code.google.com/p/dart/source/detail?r=31898

Patch Set 1 #

Patch Set 2 : #

Total comments: 2

Patch Set 3 : #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+147 lines, -60 lines) Patch
M runtime/vm/debugger.h View 1 chunk +4 lines, -0 lines 0 comments Download
M runtime/vm/debugger.cc View 2 chunks +13 lines, -0 lines 0 comments Download
M runtime/vm/parser.cc View 1 chunk +1 line, -1 line 1 comment Download
A tests/standalone/debugger/break_at_equals_test.dart View 1 2 1 chunk +52 lines, -0 lines 1 comment Download
M tests/standalone/debugger/debug_lib.dart View 1 8 chunks +77 lines, -0 lines 0 comments Download
D tests/standalone/debugger/step_in_equals_test.dart View 1 chunk +0 lines, -59 lines 1 comment Download

Messages

Total messages: 10 (0 generated)
hausner
6 years, 11 months ago (2014-01-16 20:56:53 UTC) #1
regis
LGTM https://codereview.chromium.org/135843003/diff/50001/tests/standalone/debugger/break_at_equals_test.dart File tests/standalone/debugger/break_at_equals_test.dart (right): https://codereview.chromium.org/135843003/diff/50001/tests/standalone/debugger/break_at_equals_test.dart#newcode1 tests/standalone/debugger/break_at_equals_test.dart:1: // Copyright (c) 2013, the Dart project authors. ...
6 years, 11 months ago (2014-01-16 21:05:02 UTC) #2
hausner
https://codereview.chromium.org/135843003/diff/50001/tests/standalone/debugger/break_at_equals_test.dart File tests/standalone/debugger/break_at_equals_test.dart (right): https://codereview.chromium.org/135843003/diff/50001/tests/standalone/debugger/break_at_equals_test.dart#newcode1 tests/standalone/debugger/break_at_equals_test.dart:1: // Copyright (c) 2013, the Dart project authors. Please ...
6 years, 11 months ago (2014-01-16 21:15:02 UTC) #3
hausner
Committed patchset #3 manually as r31898 (presubmit successful).
6 years, 11 months ago (2014-01-16 21:15:23 UTC) #4
Florian Schneider
https://codereview.chromium.org/135843003/diff/130001/tests/standalone/debugger/break_at_equals_test.dart File tests/standalone/debugger/break_at_equals_test.dart (right): https://codereview.chromium.org/135843003/diff/130001/tests/standalone/debugger/break_at_equals_test.dart#newcode51 tests/standalone/debugger/break_at_equals_test.dart:51: Resume() Why doesn't this new test does test single ...
6 years, 11 months ago (2014-01-17 10:18:01 UTC) #5
hausner
Ideally we'd make sure that we can step into or over ==. The old test ...
6 years, 11 months ago (2014-01-17 17:13:57 UTC) #6
Florian Schneider
On 2014/01/17 17:13:57, hausner wrote: > Ideally we'd make sure that we can step into ...
6 years, 11 months ago (2014-01-20 10:36:53 UTC) #7
Florian Schneider
Yes, the test relied on a broken implementation which required two steps of StepInto to ...
6 years, 11 months ago (2014-01-20 11:36:27 UTC) #8
Florian Schneider
On 2014/01/20 11:36:27, Florian Schneider wrote: > Yes, the test relied on a broken implementation ...
6 years, 10 months ago (2014-01-30 11:03:01 UTC) #9
hausner
6 years, 10 months ago (2014-01-30 20:51:59 UTC) #10
Message was sent while issue was closed.
The test was broken in other ways too, not just because it needed two stepInto
commands. IIRC, the test expected some stepping events to happen in main(), when
in fact they happened in the == method. The VM falsely reported the token
position to be 0 instead of the token position of the ==. Position 0 by accident
mapped to main, so it looked like the test did the right thing. It was a false
positive.

I think tests that break so easily may be more maintenance effort than it's
worth. We should be careful not to get to a point where (little) changes to the
VM result in 20% effort for the change, and 80% effort in placating noisy tests.

Powered by Google App Engine
This is Rietveld 408576698