mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-10-31 22:10:55 +01:00 
			
		
		
		
	LazDebuggerFp: tests for modify watch / build modes for test
git-svn-id: trunk@65226 -
This commit is contained in:
		
							parent
							
								
									3deb9a41fe
								
							
						
					
					
						commit
						a0035c6097
					
				| @ -11,10 +11,303 @@ | ||||
|       <Title Value="LazDebFpTest"/> | ||||
|       <ResourceType Value="res"/> | ||||
|       <UseXPManifest Value="True"/> | ||||
|       <Icon Value="0"/> | ||||
|     </General> | ||||
|     <BuildModes Count="1"> | ||||
|       <Item1 Name="Default" Default="True"/> | ||||
|     <BuildModes Count="16"> | ||||
|       <Item1 Name="O- CRriot gh gt Sa" Default="True"/> | ||||
|       <Item2 Name="O- CRriot gh gtt Sa"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item2> | ||||
|       <Item3 Name="O- CRriot gh gttt Sa"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item3> | ||||
|       <Item4 Name="O- CRriot  Sa"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item4> | ||||
|       <Item5 Name="O1 Criot gh gt Sa"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item5> | ||||
|       <Item6 Name="O1 Criot gh gtt Sa Si"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item6> | ||||
|       <Item7 Name="O1 Criot Si"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item7> | ||||
|       <Item8 Name="O2 CRriot Sa Si"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item8> | ||||
|       <Item9 Name="O2 Sa Si"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item9> | ||||
|       <Item10 Name="O3 Sa Si"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item10> | ||||
|       <Item11 Name="O- opt"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item11> | ||||
|       <Item12 Name="O1 opt"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item12> | ||||
|       <Item13 Name="O2 opt"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item13> | ||||
|       <Item14 Name="O3 opt"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item14> | ||||
|       <Item15 Name="O4 opt"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item15> | ||||
|       <Item16 Name="32 bit O- CRriot gh gt"> | ||||
|         <CompilerOptions> | ||||
|           <Version Value="11"/> | ||||
|           <PathDelim Value="\"/> | ||||
|           <Target> | ||||
|             <Filename Value="LazDebFpTest"/> | ||||
|           </Target> | ||||
|           <SearchPaths> | ||||
|             <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|             <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|           </SearchPaths> | ||||
|           <CodeGeneration> | ||||
|             <TargetCPU Value="i386"/> | ||||
|           </CodeGeneration> | ||||
|           <Linking> | ||||
|             <Debugging> | ||||
|               <DebugInfoType Value="dsDwarf2Set"/> | ||||
|             </Debugging> | ||||
|           </Linking> | ||||
|         </CompilerOptions> | ||||
|       </Item16> | ||||
|       <SharedMatrixOptions Count="19"> | ||||
|         <Item1 ID="892138315231" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- CRriot gh gt Sa,O- CRriot gh gtt Sa,O- CRriot gh gttt Sa,O- CRriot  Sa,O- opt,32 bit O- CRriot gh gt" Value="-O-"/> | ||||
|         <Item2 ID="942436582238" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O1 Criot gh gt Sa,O1 Criot gh gtt Sa Si,O1 Criot Si,O1 opt" Value="-O-1"/> | ||||
|         <Item3 ID="862987172568" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O2 CRriot Sa Si,O2 Sa Si,O2 opt" Value="-O-2"/> | ||||
|         <Item4 ID="065298354086" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O3 Sa Si,O3 opt" Value="-O-3"/> | ||||
|         <Item5 ID="450520149060" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O4 opt" Value="-O-4"/> | ||||
|         <Item6 ID="707355750253" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- CRriot gh gt Sa,O- CRriot gh gtt Sa,O- CRriot gh gttt Sa,O- CRriot  Sa,O1 Criot gh gt Sa,32 bit O- CRriot gh gt" Value="-Si-"/> | ||||
|         <Item7 ID="015770976638" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O1 Criot gh gtt Sa Si,O1 Criot Si,O2 CRriot Sa Si,O2 Sa Si,O3 Sa Si,O- opt,O1 opt,O2 opt,O3 opt,O4 opt" Value="-Si"/> | ||||
|         <Item8 ID="829928402724" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O1 Criot Si,O- opt,O1 opt,O2 opt,O3 opt,O4 opt" Value="-Sa-"/> | ||||
|         <Item9 ID="741586091227" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- CRriot gh gt Sa,O- CRriot gh gtt Sa,O- CRriot gh gttt Sa,O- CRriot  Sa,O1 Criot gh gt Sa,O1 Criot gh gtt Sa Si,O2 CRriot Sa Si,O2 Sa Si,O3 Sa Si,32 bit O- CRriot gh gt" Value="-Sa"/> | ||||
|         <Item10 ID="384346637257" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- CRriot gh gt Sa,O- CRriot gh gtt Sa,O- CRriot gh gttt Sa,O1 Criot gh gt Sa,O1 Criot gh gtt Sa Si,32 bit O- CRriot gh gt" Value="-gh"/> | ||||
|         <Item11 ID="938629446379" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- CRriot gh gt Sa,O1 Criot gh gt Sa,32 bit O- CRriot gh gt" Value="-gt"/> | ||||
|         <Item12 ID="083874750360" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- CRriot gh gtt Sa,O1 Criot gh gtt Sa Si" Value="-gtt"/> | ||||
|         <Item13 ID="624937376596" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- CRriot gh gttt Sa" Value="-gttt"/> | ||||
|         <Item14 ID="960178335680" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O1 Criot gh gt Sa,O1 Criot gh gtt Sa Si,O1 Criot Si,O2 Sa Si,O3 Sa Si,O- opt,O1 opt,O2 opt,O3 opt,O4 opt" Value="-CR-"/> | ||||
|         <Item15 ID="580833933537" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- CRriot gh gt Sa,O- CRriot gh gtt Sa,O- CRriot gh gttt Sa,O- CRriot  Sa,O2 CRriot Sa Si,32 bit O- CRriot gh gt" Value="-CR"/> | ||||
|         <Item16 ID="896975201702" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O2 Sa Si,O3 Sa Si,O- opt,O1 opt,O2 opt,O3 opt,O4 opt" Value="-Cr- -Ci- -Co- -Ct-"/> | ||||
|         <Item17 ID="596749297552" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- CRriot gh gt Sa,O- CRriot gh gtt Sa,O- CRriot gh gttt Sa,O- CRriot  Sa,O1 Criot gh gt Sa,O1 Criot Si,O1 Criot gh gtt Sa Si,O2 CRriot Sa Si,32 bit O- CRriot gh gt" Value="-Criot"/> | ||||
|         <Item18 ID="313431544377" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- CRriot gh gt Sa,O- CRriot gh gtt Sa,O- CRriot gh gttt Sa,O- CRriot  Sa,O1 Criot gh gt Sa,O1 Criot gh gtt Sa Si,O1 Criot Si,O2 CRriot Sa Si,O3 Sa Si,O2 Sa Si,O- opt,O1 opt,O2 opt,O4 opt,O3 opt,32 bit O- CRriot gh gt" Value="-gw2 -godwarfsets -gl"/> | ||||
|         <Item19 ID="509503769266" Targets="#project,LazDebuggerFp,FpDebug,DebuggerIntf" Modes="O- opt,O1 opt,O2 opt,O3 opt,O4 opt" Value="-dLINUX_NO_PTRACE_ALIGN"/> | ||||
|       </SharedMatrixOptions> | ||||
|     </BuildModes> | ||||
|     <PublishOptions> | ||||
|       <Version Value="2"/> | ||||
| @ -89,27 +382,17 @@ | ||||
|     </SearchPaths> | ||||
|     <Parsing> | ||||
|       <SyntaxOptions> | ||||
|         <IncludeAssertionCode Value="True"/> | ||||
|         <CPPInline Value="False"/> | ||||
|       </SyntaxOptions> | ||||
|     </Parsing> | ||||
|     <CodeGeneration> | ||||
|       <Checks> | ||||
|         <IOChecks Value="True"/> | ||||
|         <RangeChecks Value="True"/> | ||||
|         <OverflowChecks Value="True"/> | ||||
|         <StackChecks Value="True"/> | ||||
|       </Checks> | ||||
|     </CodeGeneration> | ||||
|     <Linking> | ||||
|       <Debugging> | ||||
|         <DebugInfoType Value="dsDwarf2Set"/> | ||||
|         <UseHeaptrc Value="True"/> | ||||
|         <TrashVariables Value="True"/> | ||||
|       </Debugging> | ||||
|     </Linking> | ||||
|   </CompilerOptions> | ||||
|   <Debugging> | ||||
|     <Exceptions Count="4"> | ||||
|     <Exceptions Count="5"> | ||||
|       <Item1> | ||||
|         <Name Value="EAbort"/> | ||||
|       </Item1> | ||||
| @ -122,6 +405,9 @@ | ||||
|       <Item4> | ||||
|         <Name Value="EAssertionFailedError"/> | ||||
|       </Item4> | ||||
|       <Item5> | ||||
|         <Name Value="EResNotFound"/> | ||||
|       </Item5> | ||||
|     </Exceptions> | ||||
|   </Debugging> | ||||
| </CONFIG> | ||||
|  | ||||
| @ -478,7 +478,7 @@ begin | ||||
|   if not TestControlCanTest(ControlTestWatchScope) then exit; | ||||
|   t := nil; | ||||
| 
 | ||||
|   Src := GetCommonSourceFor('WatchesScopePrg.Pas'); | ||||
|   Src := GetCommonSourceFor('WatchesScopePrg.pas'); | ||||
|   TestCompile(Src, ExeName); | ||||
| 
 | ||||
|   AssertTrue('Start debugger', Debugger.StartDebugger(AppDir, ExeName)); | ||||
| @ -1137,7 +1137,7 @@ begin | ||||
|   if not TestControlCanTest(ControlTestWatchValue) then exit; | ||||
|   t := nil; | ||||
| 
 | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.Pas'); | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.pas'); | ||||
|   TestCompile(Src, ExeName); | ||||
| 
 | ||||
|   AssertTrue('Start debugger', Debugger.StartDebugger(AppDir, ExeName)); | ||||
| @ -1379,7 +1379,7 @@ begin | ||||
|   if not TestControlCanTest(ControlTestWatchFunct) then exit; | ||||
|   t := nil; | ||||
| 
 | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.Pas'); | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.pas'); | ||||
|   TestCompile(Src, ExeName); | ||||
| 
 | ||||
|   AssertTrue('Start debugger', Debugger.StartDebugger(AppDir, ExeName)); | ||||
| @ -1686,7 +1686,7 @@ begin | ||||
|   t := nil; | ||||
|   tp := nil; | ||||
| 
 | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.Pas'); | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.pas'); | ||||
|   TestCompile(Src, ExeName); | ||||
| 
 | ||||
|   AssertTrue('Start debugger', Debugger.StartDebugger(AppDir, ExeName)); | ||||
| @ -2038,7 +2038,7 @@ begin | ||||
|   t := nil; | ||||
|   t2 := nil; | ||||
| 
 | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.Pas'); | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.pas'); | ||||
|   TestCompile(Src, ExeName); | ||||
| 
 | ||||
|   AssertTrue('Start debugger', Debugger.StartDebugger(AppDir, ExeName)); | ||||
| @ -2249,7 +2249,7 @@ begin | ||||
|   if not TestControlCanTest(ControlTestExpression) then exit; | ||||
|   t := nil; | ||||
| 
 | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.Pas'); | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.pas'); | ||||
|   TestCompile(Src, ExeName); | ||||
| 
 | ||||
|   AssertTrue('Start debugger', Debugger.StartDebugger(AppDir, ExeName)); | ||||
| @ -2472,16 +2472,18 @@ procedure TTestWatches.TestWatchesModify; | ||||
|     end; | ||||
|   end; | ||||
| var | ||||
|   ExeName: String; | ||||
|   ExeName, ExpName: String; | ||||
|   t: TWatchExpectationList; | ||||
|   Src: TCommonSource; | ||||
|   BrkPrg: TDBGBreakPoint; | ||||
|   ExpPre: TWatchExpectationResult; | ||||
|   testidx: Integer; | ||||
| begin | ||||
|   if SkipTest then exit; | ||||
|   if not TestControlCanTest(ControlTestModify) then exit; | ||||
|   t := nil; | ||||
| 
 | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.Pas'); | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.pas'); | ||||
|   TestCompile(Src, ExeName); | ||||
| 
 | ||||
|   AssertTrue('Start debugger', Debugger.StartDebugger(AppDir, ExeName)); | ||||
| @ -2503,365 +2505,374 @@ begin | ||||
| 
 | ||||
|     RunToPause(BrkPrg); | ||||
| 
 | ||||
|     t.Clear; | ||||
|     for testidx := 0 to 1 do begin | ||||
|       ExpPre := weCardinal(qword($9696969696969696),    'QWord', 8); | ||||
|       ExpName := 'ModifyTest'; | ||||
|       if testidx = 1 then begin | ||||
|         ExpPre := weCardinal(byte($96),    'Byte', 1); | ||||
|         ExpName := 'ModifyPackTest'; | ||||
|       end; | ||||
| 
 | ||||
|     //t.Add(AName, p+'QWord'+e,      weCardinal(10000+n,                'QWord',    8)); | ||||
|     //t.Add(AName, p+'Shortint'+e,   weInteger (50+n,                   'Shortint', 1)); | ||||
|       t.Clear; | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestByte.pre',    weCardinal(qword($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestByte.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestByte.val',    weCardinal($01,    'Byte', 1)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestByte.val', '131'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestByte.pre',    weCardinal(qword($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestByte.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestByte.val',    weCardinal(131,    'Byte', 1)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       //t.Add(AName, p+'QWord'+e,      weCardinal(10000+n,                'QWord',    8)); | ||||
|       //t.Add(AName, p+'Shortint'+e,   weInteger (50+n,                   'Shortint', 1)); | ||||
| 
 | ||||
|       t.Add('(before)', ExpName + 'Byte.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'Byte.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'Byte.val',    weCardinal($01,    'Byte', 1)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'Byte.val', '131'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'Byte.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'Byte.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'Byte.val',    weCardinal(131,    'Byte', 1)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestWord.pre',    weCardinal(qword($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestWord.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestWord.val',    weCardinal($0101,    'Word', 2)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestWord.val', '35131'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestWord.pre',    weCardinal(qword($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestWord.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestWord.val',    weCardinal(35131,    'Word', 2)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'Word.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'Word.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'Word.val',    weCardinal($0101,    'Word', 2)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'Word.val', '35131'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'Word.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'Word.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'Word.val',    weCardinal(35131,    'Word', 2)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestCardinal.pre',    weCardinal(qword($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestCardinal.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestCardinal.val',    weCardinal($81020102,    'Cardinal', 4)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestCardinal.val', '$9AA93333'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestCardinal.pre',    weCardinal(qword($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestCardinal.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestCardinal.val',    weCardinal($9AA93333,    'Cardinal', 4)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'Cardinal.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'Cardinal.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'Cardinal.val',    weCardinal($81020102,    'Cardinal', 4)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'Cardinal.val', '$9AA93333'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'Cardinal.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'Cardinal.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'Cardinal.val',    weCardinal($9AA93333,    'Cardinal', 4)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestQWord.pre',    weCardinal(qword($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestQWord.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestQWord.val',    weCardinal(qword($8102010201020102),    'QWord', 8)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestQWord.val', '$9AA9333344224422'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestQWord.pre',    weCardinal(qword($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestQWord.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestQWord.val',    weCardinal(qword($9AA9333344224422),    'QWord', 8)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'QWord.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'QWord.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'QWord.val',    weCardinal(qword($8102010201020102),    'QWord', 8)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'QWord.val', '$9AA9333344224422'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'QWord.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'QWord.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'QWord.val',    weCardinal(qword($9AA9333344224422),    'QWord', 8)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestInt.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestInt.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestInt.val',    weInteger(-$01030103,    'Integer', 4)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestInt.val', '$44225522'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestInt.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestInt.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestInt.val',    weInteger($44225522,    'Integer', 4)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'Int.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'Int.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'Int.val',    weInteger(-$01030103,    'Integer', 4)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'Int.val', '$44225522'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'Int.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'Int.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'Int.val',    weInteger($44225522,    'Integer', 4)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestInt64.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestInt64.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestInt64.val',    weInteger(-$0103010301030103,    'Int64', 8)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestInt64.val', '$4422552201020102'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestInt64.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestInt64.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestInt64.val',    weInteger($4422552201020102,    'Int64', 8)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'Int64.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'Int64.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'Int64.val',    weInteger(-$0103010301030103,    'Int64', 8)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'Int64.val', '$4422552201020102'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'Int64.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'Int64.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'Int64.val',    weInteger($4422552201020102,    'Int64', 8)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestPointer.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestPointer.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestPointer.val',    wePointerAddr(Pointer(30), 'Pointer')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestPointer.val', '50'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestPointer.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestPointer.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestPointer.val',    wePointerAddr(Pointer(50), 'Pointer')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'Pointer.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'Pointer.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'Pointer.val',    wePointerAddr(Pointer(30), 'Pointer')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'Pointer.val', '50'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'Pointer.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'Pointer.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'Pointer.val',    wePointerAddr(Pointer(50), 'Pointer')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestPWord.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestPWord.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestPWord.val',    wePointerAddr(Pointer(40), 'PWord')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestPWord.val', '70'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestPWord.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestPWord.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestPWord.val',    wePointerAddr(Pointer(70), 'PWord')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'PWord.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'PWord.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'PWord.val',    wePointerAddr(Pointer(40), 'PWord')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'PWord.val', '70'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'PWord.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'PWord.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'PWord.val',    wePointerAddr(Pointer(70), 'PWord')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestBool.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestBool.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestBool.val',    weBool(True)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestBool.val', 'False'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestBool.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestBool.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestBool.val',    weBool(False)); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'Bool.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'Bool.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'Bool.val',    weBool(True)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'Bool.val', 'False'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'Bool.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'Bool.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'Bool.val',    weBool(False)); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestByteBool.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestByteBool.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestByteBool.val',    weSizedBool(False, 'BYTEBOOL')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestByteBool.val', 'True'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestByteBool.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestByteBool.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestByteBool.val',    weSizedBool(True, 'BYTEBOOL')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'ByteBool.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'ByteBool.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'ByteBool.val',    weSizedBool(False, 'BYTEBOOL')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'ByteBool.val', 'True'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'ByteBool.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'ByteBool.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'ByteBool.val',    weSizedBool(True, 'BYTEBOOL')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestChar.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestChar.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestChar.val',    weChar('B')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestChar.val', 'X'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestChar.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestChar.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestChar.val',    weChar('X')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'Char.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'Char.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'Char.val',    weChar('B')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'Char.val', 'X'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'Char.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'Char.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'Char.val',    weChar('X')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestWideChar.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestWideChar.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestWideChar.val',    weWideChar('B')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestWideChar.val', 'Y'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestWideChar.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestWideChar.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestWideChar.val',    weWideChar('Y')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'WideChar.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'WideChar.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'WideChar.val',    weWideChar('B')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'WideChar.val', 'Y'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'WideChar.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'WideChar.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'WideChar.val',    weWideChar('Y')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestEnum.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestEnum.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestEnum.val',    weEnum('EnVal2')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestEnum.val', 'EnVal4'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestEnum.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestEnum.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestEnum.val',    weEnum('EnVal4')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'Enum.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'Enum.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'Enum.val',    weEnum('EnVal2')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'Enum.val', 'EnVal4'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'Enum.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'Enum.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'Enum.val',    weEnum('EnVal4')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestEnum16.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestEnum16.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestEnum16.val',    weEnum('ExValX2')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestEnum16.val', 'ExValX7'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestEnum16.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestEnum16.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestEnum16.val',    weEnum('ExValX7')); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|       t.Add('(before)', ExpName + 'Enum16.pre',    ExpPre); | ||||
|       t.Add('(before)', ExpName + 'Enum16.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(before)', ExpName + 'Enum16.val',    weEnum('ExValX2')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
|       Debugger.LazDebugger.Modify(ExpName + 'Enum16.val', 'ExValX7'); | ||||
|       WaitForModify; | ||||
|       t.Add('(after)', ExpName + 'Enum16.pre',    ExpPre); | ||||
|       t.Add('(after)', ExpName + 'Enum16.post',   weCardinal($69,    'Byte', 1)); | ||||
|       t.Add('(after)', ExpName + 'Enum16.val',    weEnum('ExValX7')); | ||||
|       t.EvaluateWatches; | ||||
|       t.CheckResults; | ||||
|       t.Clear; | ||||
| 
 | ||||
|     if Compiler.SymbolType <> stDwarf then begin | ||||
|       if Compiler.SymbolType <> stDwarf then begin | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestSet.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestSet.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestSet.val',    weSet(['EnVal2', 'EnVal4'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestSet.val', ' [ EnVal1, EnVal3] '); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestSet.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestSet.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestSet.val',    weSet(['EnVal1', 'EnVal3'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestSet.val', ' [ EnVal1] '); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestSet.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestSet.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestSet.val',    weSet(['EnVal1'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestSet.val', ' [ EnVal4] '); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestSet.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestSet.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestSet.val',    weSet(['EnVal4'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|         t.Add('(before)', ExpName + 'Set.pre',    ExpPre); | ||||
|         t.Add('(before)', ExpName + 'Set.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(before)', ExpName + 'Set.val',    weSet(['EnVal2', 'EnVal4'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
|         Debugger.LazDebugger.Modify(ExpName + 'Set.val', ' [ EnVal1, EnVal3] '); | ||||
|         WaitForModify; | ||||
|         t.Add('(after)', ExpName + 'Set.pre',    ExpPre); | ||||
|         t.Add('(after)', ExpName + 'Set.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(after)', ExpName + 'Set.val',    weSet(['EnVal1', 'EnVal3'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
|         Debugger.LazDebugger.Modify(ExpName + 'Set.val', ' [ EnVal1] '); | ||||
|         WaitForModify; | ||||
|         t.Add('(after)', ExpName + 'Set.pre',    ExpPre); | ||||
|         t.Add('(after)', ExpName + 'Set.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(after)', ExpName + 'Set.val',    weSet(['EnVal1'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
|         Debugger.LazDebugger.Modify(ExpName + 'Set.val', ' [ EnVal4] '); | ||||
|         WaitForModify; | ||||
|         t.Add('(after)', ExpName + 'Set.pre',    ExpPre); | ||||
|         t.Add('(after)', ExpName + 'Set.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(after)', ExpName + 'Set.val',    weSet(['EnVal4'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestSet4.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestSet4.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestSet4.val',    weSet(['E4Val02', 'E4Val09'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestSet4.val', '[E4Val03,E4Val0A ]'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestSet4.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestSet4.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestSet4.val',    weSet(['E4Val03', 'E4Val0A'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestSet4.val', ' [E4Val0B ]'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestSet4.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestSet4.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestSet4.val',    weSet(['E4Val0B'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|         t.Add('(before)', ExpName + 'Set4.pre',    ExpPre); | ||||
|         t.Add('(before)', ExpName + 'Set4.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(before)', ExpName + 'Set4.val',    weSet(['E4Val02', 'E4Val09'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
|         Debugger.LazDebugger.Modify(ExpName + 'Set4.val', '[E4Val03,E4Val0A ]'); | ||||
|         WaitForModify; | ||||
|         t.Add('(after)', ExpName + 'Set4.pre',    ExpPre); | ||||
|         t.Add('(after)', ExpName + 'Set4.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(after)', ExpName + 'Set4.val',    weSet(['E4Val03', 'E4Val0A'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
|         Debugger.LazDebugger.Modify(ExpName + 'Set4.val', ' [E4Val0B ]'); | ||||
|         WaitForModify; | ||||
|         t.Add('(after)', ExpName + 'Set4.pre',    ExpPre); | ||||
|         t.Add('(after)', ExpName + 'Set4.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(after)', ExpName + 'Set4.val',    weSet(['E4Val0B'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestSet6.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestSet6.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestSet6.val',    weSet(['E6Val02', 'E6Val1A'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestSet6.val', '[E6Val03,E6Val1B ]'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestSet6.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestSet6.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestSet6.val',    weSet(['E6Val03', 'E6Val1B'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|         t.Add('(before)', ExpName + 'Set6.pre',    ExpPre); | ||||
|         t.Add('(before)', ExpName + 'Set6.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(before)', ExpName + 'Set6.val',    weSet(['E6Val02', 'E6Val1A'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
|         Debugger.LazDebugger.Modify(ExpName + 'Set6.val', '[E6Val03,E6Val1B ]'); | ||||
|         WaitForModify; | ||||
|         t.Add('(after)', ExpName + 'Set6.pre',    ExpPre); | ||||
|         t.Add('(after)', ExpName + 'Set6.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(after)', ExpName + 'Set6.val',    weSet(['E6Val03', 'E6Val1B'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestSet7.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestSet7.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestSet7.val',    weSet(['E7Val02', 'E7Val3A'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestSet7.val', '[E7Val03,E7Val12,E7Val3B ]'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestSet7.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestSet7.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestSet7.val',    weSet(['E7Val03', 'E7Val12', 'E7Val3B'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|         t.Add('(before)', ExpName + 'Set7.pre',    ExpPre); | ||||
|         t.Add('(before)', ExpName + 'Set7.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(before)', ExpName + 'Set7.val',    weSet(['E7Val02', 'E7Val3A'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
|         Debugger.LazDebugger.Modify(ExpName + 'Set7.val', '[E7Val03,E7Val12,E7Val3B ]'); | ||||
|         WaitForModify; | ||||
|         t.Add('(after)', ExpName + 'Set7.pre',    ExpPre); | ||||
|         t.Add('(after)', ExpName + 'Set7.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(after)', ExpName + 'Set7.val',    weSet(['E7Val03', 'E7Val12', 'E7Val3B'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestSet8.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestSet8.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestSet8.val',    weSet(['E8Val02', 'E8Val59'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestSet8.val', '[E8Val03,E8Val12,E8Val58 ]'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestSet8.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestSet8.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestSet8.val',    weSet(['E8Val03', 'E8Val12', 'E8Val58'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|         t.Add('(before)', ExpName + 'Set8.pre',    ExpPre); | ||||
|         t.Add('(before)', ExpName + 'Set8.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(before)', ExpName + 'Set8.val',    weSet(['E8Val02', 'E8Val59'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
|         Debugger.LazDebugger.Modify(ExpName + 'Set8.val', '[E8Val03,E8Val12,E8Val58 ]'); | ||||
|         WaitForModify; | ||||
|         t.Add('(after)', ExpName + 'Set8.pre',    ExpPre); | ||||
|         t.Add('(after)', ExpName + 'Set8.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(after)', ExpName + 'Set8.val',    weSet(['E8Val03', 'E8Val12', 'E8Val58'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
| 
 | ||||
| 
 | ||||
|     t.Add('(before)', 'ModifyTestSRangeSet.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(before)', 'ModifyTestSRangeSet.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(before)', 'ModifyTestSRangeSet.val',    weSet(['20','23','28'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestSRangeSet.val', '[21,$18,27 ]'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestSRangeSet.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestSRangeSet.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestSRangeSet.val',    weSet(['21', '24', '27'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|     Debugger.LazDebugger.Modify('ModifyTestSRangeSet.val', '[30 ]'); | ||||
|     WaitForModify; | ||||
|     t.Add('(after)', 'ModifyTestSRangeSet.pre',    weCardinal(QWord($9696969696969696),    'QWord', 8)); | ||||
|     t.Add('(after)', 'ModifyTestSRangeSet.post',   weCardinal($69,    'Byte', 1)); | ||||
|     t.Add('(after)', 'ModifyTestSRangeSet.val',    weSet(['30'])); | ||||
|     t.EvaluateWatches; | ||||
|     t.CheckResults; | ||||
|     t.Clear; | ||||
|         t.Add('(before)', ExpName + 'SRangeSet.pre',    ExpPre); | ||||
|         t.Add('(before)', ExpName + 'SRangeSet.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(before)', ExpName + 'SRangeSet.val',    weSet(['20','23','28'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
|         Debugger.LazDebugger.Modify(ExpName + 'SRangeSet.val', '[21,$18,27 ]'); | ||||
|         WaitForModify; | ||||
|         t.Add('(after)', ExpName + 'SRangeSet.pre',    ExpPre); | ||||
|         t.Add('(after)', ExpName + 'SRangeSet.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(after)', ExpName + 'SRangeSet.val',    weSet(['21', '24', '27'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
|         Debugger.LazDebugger.Modify(ExpName + 'SRangeSet.val', '[30 ]'); | ||||
|         WaitForModify; | ||||
|         t.Add('(after)', ExpName + 'SRangeSet.pre',    ExpPre); | ||||
|         t.Add('(after)', ExpName + 'SRangeSet.post',   weCardinal($69,    'Byte', 1)); | ||||
|         t.Add('(after)', ExpName + 'SRangeSet.val',    weSet(['30'])); | ||||
|         t.EvaluateWatches; | ||||
|         t.CheckResults; | ||||
|         t.Clear; | ||||
| 
 | ||||
|       end; | ||||
| 
 | ||||
|     end; | ||||
| 
 | ||||
|   finally | ||||
|     Debugger.RunToNextPause(dcStop); | ||||
|     t.Free; | ||||
| @ -2883,7 +2894,7 @@ begin | ||||
|   if not TestControlCanTest(ControlTestErrors) then exit; | ||||
|   t := nil; | ||||
| 
 | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.Pas'); | ||||
|   Src := GetCommonSourceFor('WatchesValuePrg.pas'); | ||||
|   TestCompile(Src, ExeName); | ||||
| 
 | ||||
|   AssertTrue('Start debugger', Debugger.StartDebugger(AppDir, ExeName)); | ||||
|  | ||||
| @ -657,6 +657,128 @@ var | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
| 
 | ||||
|   // 7 bytes aftr a qword align | ||||
|   ModifyPackTestByte: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: byte; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestWord: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: word; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestCardinal: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: Cardinal; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestqword: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: qword; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestint: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: integer; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestInt64: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: int64; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestPointer: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: Pointer; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestPWord: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: PWord; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestBool: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: Boolean; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestByteBool: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: ByteBool; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestChar: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: Char; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestWideChar: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: WideChar; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestEnum: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: TEnum; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestEnum16: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: TEnum16; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestSet: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: TSet; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestSet4: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: TSet4; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestSet6: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: TSet6; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestSet7: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: TSet7; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestSet8: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: TSet8; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
|   ModifyPackTestSRangeSet: packed record | ||||
|     q1: QWord; | ||||
|     p1, p2, p3, p4, p5, p6, pre: byte; // padding, must not be changed | ||||
|     val: TSmallRangeSet; | ||||
|     post: byte; // padding, must not be changed | ||||
|   end; | ||||
| 
 | ||||
| 
 | ||||
| begin | ||||
|   U8Data1 := #$2267; //#$E2#$89#$A7; | ||||
| @ -701,6 +823,27 @@ begin | ||||
|   with ModifyTestSet8      do begin pre := qword($9696969696969696); post := $69; val := [E8Val02, E8Val59]; end; | ||||
|   with ModifyTestSRangeSet do begin pre := qword($9696969696969696); post := $69; val := [20,23,28]; end; | ||||
| 
 | ||||
|   with ModifyPackTestByte      do begin pre := $96; post := $69; val := $01; end; | ||||
|   with ModifyPackTestWord      do begin pre := $96; post := $69; val := $0101; end; | ||||
|   with ModifyPackTestCardinal  do begin pre := $96; post := $69; val := $81020102; end; | ||||
|   with ModifyPackTestQword     do begin pre := $96; post := $69; val := qword($8102010201020102); end; | ||||
|   with ModifyPackTestInt       do begin pre := $96; post := $69; val := -$01030103; end; | ||||
|   with ModifyPackTestInt64     do begin pre := $96; post := $69; val := -$0103010301030103; end; | ||||
|   with ModifyPackTestPointer   do begin pre := $96; post := $69; val := pointer(30); end; | ||||
|   with ModifyPackTestPWord     do begin pre := $96; post := $69; val := pointer(40); end; | ||||
|   with ModifyPackTestBool      do begin pre := $96; post := $69; val := True; end; | ||||
|   with ModifyPackTestByteBool  do begin pre := $96; post := $69; val := False; end; | ||||
|   with ModifyPackTestChar      do begin pre := $96; post := $69; val := 'B'; end; | ||||
|   with ModifyPackTestWideChar  do begin pre := $96; post := $69; val := 'B'; end; | ||||
|   with ModifyPackTestEnum      do begin pre := $96; post := $69; val := EnVal2; end; | ||||
|   with ModifyPackTestEnum16    do begin pre := $96; post := $69; val := ExValX2; end; | ||||
|   with ModifyPackTestSet       do begin pre := $96; post := $69; val := [EnVal2, EnVal4]; end; | ||||
|   with ModifyPackTestSet4      do begin pre := $96; post := $69; val := [E4Val02, E4Val09]; end; | ||||
|   with ModifyPackTestSet6      do begin pre := $96; post := $69; val := [E6Val02, E6Val1A]; end; | ||||
|   with ModifyPackTestSet7      do begin pre := $96; post := $69; val := [E7Val02, E7Val3A]; end; | ||||
|   with ModifyPackTestSet8      do begin pre := $96; post := $69; val := [E8Val02, E8Val59]; end; | ||||
|   with ModifyPackTestSRangeSet do begin pre := $96; post := $69; val := [20,23,28]; end; | ||||
| 
 | ||||
| (* use global const / value in "gv" will be overriden... *) | ||||
|   TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=gv, {e}={, "//@@=} :=", _pre3_=gc, _BLOCK_=TestAssignGC) | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 martin
						martin