WIN32: data.combine_parallel_data fails in relpath in message · Issue #1428 · nedbat/coveragepy (original) (raw)

Whenever on Windows data_paths are on a disk different from that of the current dir's, there will be a well-known relpath failure.
The actual use of relpath here is irrelevant and can be replaced with the path itself:

    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "d:\a\pybuilder\pybuilder\src\integrationtest\python\issue_862_tests.py", line 68, in test
        reactor.build("coverage")
      File "d:\a\pybuilder\pybuilder\target\dist\pybuilder-0.13.7.dev\pybuilder\reactor.py", line 235, in build
        execution_summary = self.build_execution_plan(tasks, execution_plan)
      File "d:\a\pybuilder\pybuilder\target\dist\pybuilder-0.13.7.dev\pybuilder\reactor.py", line 272, in build_execution_plan
        task_execution_summaries = self.execution_manager.execute_execution_plan(
      File "d:\a\pybuilder\pybuilder\target\dist\pybuilder-0.13.7.dev\pybuilder\execution.py", line 393, in execute_execution_plan
        summaries.append(self.execute_task(task, **kwargs))
      File "d:\a\pybuilder\pybuilder\target\dist\pybuilder-0.13.7.dev\pybuilder\execution.py", line 340, in execute_task
        task.execute(self.logger, kwargs, _executable=_executable)
      File "d:\a\pybuilder\pybuilder\target\dist\pybuilder-0.13.7.dev\pybuilder\execution.py", line 179, in execute
        executable.execute(argument_dict)
      File "d:\a\pybuilder\pybuilder\target\dist\pybuilder-0.13.7.dev\pybuilder\execution.py", line 95, in execute
        self.callable(*arguments)
      File "d:\a\pybuilder\pybuilder\target\dist\pybuilder-0.13.7.dev\pybuilder\plugins\python\coverage_plugin.py", line 142, in coverage
        task_cov = run_coverage(project, logger, reactor,
      File "d:\a\pybuilder\pybuilder\target\dist\pybuilder-0.13.7.dev\pybuilder\plugins\python\coverage_plugin.py", line 225, in run_coverage
        cov.combine()
      File "c:\users\runner~1\appdata\local\temp\integrationtestsupporta9jsd0xue052d3a457cd4b2b90193755deba81b1\.pybuilder\plugins\cpython-3.10.5.final.0\lib\site-packages\coverage\control.py", line 748, in combine
        combine_parallel_data(
      File "c:\users\runner~1\appdata\local\temp\integrationtestsupporta9jsd0xue052d3a457cd4b2b90193755deba81b1\.pybuilder\plugins\cpython-3.10.5.final.0\lib\site-packages\coverage\data.py", line 135, in combine_parallel_data
        message(f"Combined data file {os.path.relpath(f)}")
      File "C:\hostedtoolcache\windows\Python\3.10.5\x64\lib\ntpath.py", line 718, in relpath
        raise ValueError("path is on mount %r, start on mount %r" % (
    ValueError: path is on mount 'c:', start on mount 'D:'

This appears on all Python versions (3.7 - 3.11) on GitHub Action Windows with and without virtualenv.