1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 19:48:20 +02:00
Beef/IDE/Tests/Test1/scripts/HotSwap_VirtualRemap.txt
Brian Fiete a367b8165f Win32 debugging fixes, more work on custom compile commands
Fixed working dir for 'launch'
Fixed attaching to process - stack trace wasn't updating properly
Fixed more custom compile stuff, and BeefySysLib bin destination
Fixed linking issues related to Bfp* and Bp* exports in both BeefRT and BeefySysLib
Fixed a crash with conditional breakpoints
Fixed release mode IDE issues (related to hot swap breakpoints)
Fixed hotswapping type data with LLVM builds
Fixed 'Pause' state processing Running_ToTempBreakpoint for ScriptManager
Fixed Win32 step out when there's an ESP adjustment at the return site
Made step-out skip over "unimportant" instructions at return site
2019-08-29 14:19:07 -07:00

42 lines
No EOL
1.2 KiB
Text

# This test fails on Win32 currently
if (platform != "Win64") Stop()
# Tests that even when removing an old virtual method, adding a new one, and then
# adding back a method with the same name as the old one, we can call this new
# method using an old virtual call
ShowFile("src/HotSwap.bf")
GotoText("//HotStart_VirtualRemap")
ToggleBreakpoint()
RunWithCompiling()
# Turn off MethodB
ToggleCommentAt("HotA_MethodB")
ToggleCommentAt("HotTester_Test1")
ToggleCommentAt("HotTester_TestVirtualRemap_MethodBCall")
ToggleCommentAt("HotTester_TestVirtualRemap_MethodBCall_2")
Compile()
# Make sure we can call the old 'MethodB'
StepOver()
StepOver()
AssertEvalEquals("val", "11")
# Turn on MethodC
ShowCurrent()
ToggleCommentAt("HotA_MethodC")
ToggleCommentAt("HotTester_TestVirtualRemap2_MethodCCall")
Compile()
StepInto()
StepOver()
AssertEvalEquals("val", "12")
# Turn on MethodB (version 2)
ToggleCommentAt("HotA_MethodB_2")
ToggleCommentAt("HotTester_TestVirtualRemap_MethodBCall")
Compile()
StepOver()
StepOver()
# We are running an old version of TestVirtualRemap that used the old virtual slot
# number for the MethodB call, but the new MethodB should be mapped to that same
# slot because it mangles the same
AssertEvalEquals("val", "111")