llvm / llvm/llvm-project

[lldb][Windows] TestLinuxCore.LinuxCoreTestCase.test_object_map failed after #197341

Open
#198,471 1 comment 0 reactions 0 assignees View on GitHub
lldb platform:windows test-suite
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

The `TestLinuxCore.LinuxCoreTestCase.test_object_map` test failed on Windows after #197341.
[lldb-remote-linux-win](https://lab.llvm.org/buildbot/#/builders/197/builds/15972), [lldb-x86_64-win](https://lab.llvm.org/buildbot/#/builders/211/builds/8143)
```
# Copy linux-i386.out to lldb_i386_object_map/a.out
tmp_object_map_root = os.path.join(self.getBuildDir(), "lldb_i386_object_map")
executable = os.path.join(tmp_object_map_root, "a.out")
lldbutil.mkdir_p(os.path.dirname(executable))
shutil.copyfile("linux-i386.out", executable)

# Replace the original module path at /home/labath/test and load the core
self.runCmd("settings set target.object-map /home/labath/test {}".format(tmp_object_map_root))

target = self.dbg.CreateTarget(None)
process = target.LoadCore("linux-i386.core")

# Check that we did load the mapped executable
exe_module_spec = process.GetTarget().GetModuleAtIndex(0).GetFileSpec()
self.assertTrue(exe_module_spec.fullpath.startswith(tmp_object_map_root))
```
```
File "C:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\test\API\functionalities\postmortem\elf-core\TestLinuxCore.py", line 345, in test_object_map
self.assertTrue(exe_module_spec.fullpath.startswith(tmp_object_map_root))
AssertionError: False is not true
```
The values on Windows are:
exe_module_spec = /home/labath/test/a.out
tmp_object_map_root = D:\build-dir\lldb-test-build.noindex\functionalities\postmortem\elf-core\TestLinuxCore\lldb_i386_object_map

This test is disabled for Windows hosts for now.

Contributor guide

Open the contributing guide

Research direction

Start with lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py and the test_object_map method, then review the linked Windows buildbot failures and the target.object-map setup. Reproduce the test on a Windows host and trace why the mapped executable remains /home/labath/test/a.out. Done means the test recognizes the mapped executable under its temporary Windows path and can be enabled again for Windows hosts.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools, operating-systems, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.