DBG, Test: enhanced gdb runner app

git-svn-id: trunk@29016 -
This commit is contained in:
martin 2011-01-14 22:23:07 +00:00
parent 35f4b0edad
commit 48b31d3357
2 changed files with 78 additions and 9 deletions

View File

@ -1,7 +1,7 @@
object Form1: TForm1
Left = 849
Left = 422
Height = 463
Top = 298
Top = 231
Width = 599
Caption = 'Form1'
ClientHeight = 463
@ -111,19 +111,19 @@ object Form1: TForm1
end
end
object Panel2: TPanel
Left = 0
Left = 175
Height = 399
Top = 64
Width = 599
Width = 424
Align = alClient
ClientHeight = 399
ClientWidth = 599
ClientWidth = 424
TabOrder = 1
object Memo1: TMemo
Left = 1
Height = 125
Top = 1
Width = 597
Width = 422
Align = alTop
ScrollBars = ssAutoBoth
TabOrder = 0
@ -132,7 +132,7 @@ object Form1: TForm1
Left = 1
Height = 269
Top = 129
Width = 597
Width = 422
Align = alClient
ScrollBars = ssAutoBoth
TabOrder = 1
@ -142,11 +142,54 @@ object Form1: TForm1
Left = 1
Height = 3
Top = 126
Width = 597
Width = 422
Align = alTop
ResizeAnchor = akTop
end
end
object Panel3: TPanel
Left = 0
Height = 399
Top = 64
Width = 170
Align = alLeft
ClientHeight = 399
ClientWidth = 170
TabOrder = 2
object CheckListBox1: TCheckListBox
Left = 1
Height = 176
Top = 1
Width = 168
Align = alTop
ItemHeight = 0
TabOrder = 0
end
object Splitter2: TSplitter
Cursor = crVSplit
Left = 1
Height = 5
Top = 177
Width = 168
Align = alTop
ResizeAnchor = akTop
end
object CheckListBox2: TCheckListBox
Left = 1
Height = 216
Top = 182
Width = 168
Align = alClient
ItemHeight = 0
TabOrder = 2
end
end
object Splitter3: TSplitter
Left = 170
Height = 399
Top = 64
Width = 5
end
object OpenDialog1: TOpenDialog
left = 136
top = 72

View File

@ -6,7 +6,8 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, EditBtn, StdCtrls,
Buttons, CompileHelpers, TestBase, testregistry, fpcunit, GDBMIDebugger, Debugger, LCLIntf, CmdLineDebugger;
Buttons, CompileHelpers, TestBase, testregistry, fpcunit, GDBMIDebugger, Debugger, LCLIntf,
CheckLst, CmdLineDebugger;
type
@ -15,6 +16,8 @@ type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
Button1: TButton;
CheckListBox1: TCheckListBox;
CheckListBox2: TCheckListBox;
edPasFile: TComboBox;
edBreakFile: TEdit;
edBreakLine: TEdit;
@ -25,7 +28,10 @@ type
OpenDialog1: TOpenDialog;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Splitter1: TSplitter;
Splitter2: TSplitter;
Splitter3: TSplitter;
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
@ -73,6 +79,11 @@ var
//t: LongWord;
//S: String;
begin
i := Form1.CheckListBox1.Items.IndexOf(CompilerInfo.Name);
if not Form1.CheckListBox1.Checked[i] then exit;
i := Form1.CheckListBox2.Items.IndexOf(DebuggerInfo.Name);
if not Form1.CheckListBox2.Checked[i] then exit;
FTesting := False;
Form1.Memo2.Lines.Add('***** '+ Parent.TestName + ' ' + Parent.Parent.TestName);
@ -168,6 +179,10 @@ begin
end;
procedure TForm1.FormCreate(Sender: TObject);
var
l: TCompilerList;
i, j: Integer;
l2: TDebuggerList;
begin
RegisterDbgTest(TRunner);
if FileExistsUTF8(AppendPathDelim(ExtractFilePath(Paramstr(0))) + 'run_gdbmi_cmds.txt') then
@ -176,6 +191,17 @@ begin
edPasFile.ItemIndex := 0;
edBreakFile.Text := ExtractFileName(edPasFile.Text);
edBreakLine.Text := '1';
l := GetCompilers;
for i := 0 to l.Count-1 do begin
j := CheckListBox1.Items.Add(l.Name[i]);
CheckListBox1.Checked[j] := True;
end;
l2 := GetDebuggers;
for i := 0 to l2.Count-1 do begin
j := CheckListBox2.Items.Add(l2.Name[i]);
CheckListBox2.Checked[j] := True;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);