diff options
author | Ludovic Henry <luhenry@microsoft.com> | 2017-10-12 05:07:47 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-12 05:07:47 +0300 |
commit | db8183c9d8d3de022af65c9d9d46f745009f8775 (patch) | |
tree | c849b4aff96cb19f620c489147e9b3f784018eab /mcs/class/Mono.Debugger.Soft | |
parent | 43757d67ef13a81bccbc2980badf8ac2cee9b5fd (diff) |
[debugger] Fix LineNumbers test (#5744)
Diffstat (limited to 'mcs/class/Mono.Debugger.Soft')
-rw-r--r-- | mcs/class/Mono.Debugger.Soft/Test/dtest.cs | 66 |
1 files changed, 29 insertions, 37 deletions
diff --git a/mcs/class/Mono.Debugger.Soft/Test/dtest.cs b/mcs/class/Mono.Debugger.Soft/Test/dtest.cs index 94316e7e964..b9cc720155d 100644 --- a/mcs/class/Mono.Debugger.Soft/Test/dtest.cs +++ b/mcs/class/Mono.Debugger.Soft/Test/dtest.cs @@ -2384,73 +2384,52 @@ public class DebuggerTests } [Test] - // Broken by mcs+runtime changes (#5438) - [Category("NotWorking")] public void LineNumbers () { Event e = run_until ("line_numbers"); - step_req = create_step (e); - step_req.Depth = StepDepth.Into; - step_req.Enable (); + create_step (e); + e = step_into (); Location l; - - vm.Resume (); - e = GetNextEvent (); - Assert.IsTrue (e is StepEvent); + e = step_once (); l = e.Thread.GetFrames ()[0].Location; - Assert.IsTrue (l.SourceFile.IndexOf ("dtest-app.cs") != -1); + Assert.AreEqual ("dtest-app.cs", Path.GetFileName (l.SourceFile)); Assert.AreEqual ("ln1", l.Method.Name); - - // Check hash - using (FileStream fs = new FileStream (l.SourceFile, FileMode.Open, FileAccess.Read)) { - MD5 md5 = MD5.Create (); - var hash = md5.ComputeHash (fs); - - for (int i = 0; i < 16; ++i) - Assert.AreEqual (hash [i], l.SourceFileHash [i]); - } int line_base = l.LineNumber; - vm.Resume (); - e = GetNextEvent (); - Assert.IsTrue (e is StepEvent); + e = step_once (); + e = step_once (); l = e.Thread.GetFrames ()[0].Location; Assert.AreEqual ("ln2", l.Method.Name); - Assert.AreEqual (line_base + 6, l.LineNumber); + Assert.AreEqual (line_base + 7, l.LineNumber); - vm.Resume (); - e = GetNextEvent (); - Assert.IsTrue (e is StepEvent); + e = step_once (); + e = step_once (); l = e.Thread.GetFrames ()[0].Location; Assert.AreEqual ("ln1", l.Method.Name); - Assert.AreEqual (line_base + 1, l.LineNumber); + Assert.AreEqual (line_base + 2, l.LineNumber); - vm.Resume (); - e = GetNextEvent (); - Assert.IsTrue (e is StepEvent); + e = step_once (); + e = step_once (); l = e.Thread.GetFrames ()[0].Location; Assert.AreEqual ("ln3", l.Method.Name); Assert.AreEqual (line_base + 11, l.LineNumber); - vm.Resume (); - e = GetNextEvent (); - Assert.IsTrue (e is StepEvent); + e = step_once (); + e = step_once (); l = e.Thread.GetFrames ()[0].Location; Assert.AreEqual ("ln3", l.Method.Name); Assert.IsTrue (l.SourceFile.EndsWith ("FOO")); Assert.AreEqual (55, l.LineNumber); - vm.Resume (); - e = GetNextEvent (); - Assert.IsTrue (e is StepEvent); + e = step_once (); l = e.Thread.GetFrames ()[0].Location; Assert.AreEqual ("ln1", l.Method.Name); - Assert.AreEqual (line_base + 2, l.LineNumber); + Assert.AreEqual (line_base + 3, l.LineNumber); // GetSourceFiles () string[] sources = l.Method.DeclaringType.GetSourceFiles (); @@ -4365,6 +4344,19 @@ public class DebuggerTests vm = null; } + [Test] + [Category("NotWorking")] + public void Hash () + { + Event e = run_until ("Main"); + + Location l = e.Thread.GetFrames ()[0].Location; + + using (FileStream fs = new FileStream (l.SourceFile, FileMode.Open, FileAccess.Read)) { + Assert.AreEqual (MD5.Create ().ComputeHash (fs), l.SourceFileHash); + } + } + } } |