Skip to content

fix(shim): propagate exit code instead of reporting failure on windows#61

Merged
CalvinAllen merged 1 commit intomainfrom
fix/windows-shim-exit-code-v2
Dec 9, 2025
Merged

fix(shim): propagate exit code instead of reporting failure on windows#61
CalvinAllen merged 1 commit intomainfrom
fix/windows-shim-exit-code-v2

Conversation

@CalvinAllen
Copy link
Contributor

Summary

  • Fix Windows shim incorrectly reporting "failed to execute" when commands exit with non-zero code
  • Detect *exec.ExitError and propagate the actual exit code via os.Exit() instead of treating it as a failure
  • Add CLAUDE.md with deployment instructions

Fixes #59

Test plan

  • Run npm --version via dtvem shim on Windows - should show version without error
  • Run a command that exits with non-zero code - should propagate exit code silently
  • Verify actual failures (e.g., missing executable) still report errors

🤖 Generated with Claude Code

On Windows, syscall.Exec is not supported so the shim falls back to
cmd.Run(). When the wrapped command exits with a non-zero code,
cmd.Run() returns an *exec.ExitError which was incorrectly treated
as a shim failure.

Now the shim detects ExitError and calls os.Exit() with the command's
actual exit code instead of printing a misleading error message.

Fixes #59

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Dec 9, 2025

Test Coverage Report - macos-arm64

Total Coverage: 17.5%

Coverage by Package

github.com/dtvem/dtvem/src/cmd/current.go:39:					showAllVersions				0.0%
github.com/dtvem/dtvem/src/cmd/current.go:97:					showSingleVersion			0.0%
github.com/dtvem/dtvem/src/cmd/current.go:129:					init					100.0%
github.com/dtvem/dtvem/src/cmd/freeze.go:175:					init					100.0%
github.com/dtvem/dtvem/src/cmd/global.go:10:					setRuntimeVersion			0.0%
github.com/dtvem/dtvem/src/cmd/global.go:53:					init					100.0%
github.com/dtvem/dtvem/src/cmd/init.go:55:					init					100.0%
github.com/dtvem/dtvem/src/cmd/install.go:47:					init					100.0%
github.com/dtvem/dtvem/src/cmd/install.go:53:					installSingle				0.0%
github.com/dtvem/dtvem/src/cmd/install.go:79:					buildInstallTasks			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:104:					isVersionInstalled			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:120:					showInstallationPlan			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:137:					promptInstallConfirmation		0.0%
github.com/dtvem/dtvem/src/cmd/install.go:153:					executeInstalls				0.0%
github.com/dtvem/dtvem/src/cmd/install.go:177:					showInstallSummary			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:198:					installBulk				0.0%
github.com/dtvem/dtvem/src/cmd/list.go:29:					listAllRuntimes				0.0%
github.com/dtvem/dtvem/src/cmd/list.go:70:					listSingleRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/list.go:102:					init					100.0%
github.com/dtvem/dtvem/src/cmd/listall.go:125:					init					100.0%
github.com/dtvem/dtvem/src/cmd/local.go:34:					init					100.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:214:					parseSelection				100.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:240:					promptCleanupOldInstallations		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:301:					getUninstallInstructions		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:333:					getSystemUninstallInstructions		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:358:					executeUninstallCommand			0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:373:					init					100.0%
github.com/dtvem/dtvem/src/cmd/reshim.go:51:					init					100.0%
github.com/dtvem/dtvem/src/cmd/root.go:31:					Execute					0.0%
github.com/dtvem/dtvem/src/cmd/root.go:38:					init					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:23:					main					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:30:					runShim					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:112:				handleNoConfiguredVersion		0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:147:				findInSystemPath			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:199:				shouldAutoInstall			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:204:				getShimName				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:218:				mapShimToRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:247:				adjustExecutablePath			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:295:				executeCommand				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:331:				executeCommandWithWait			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:362:				promptReshim				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:386:				runReshim				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:403:				findDtvemExecutable			0.0%
github.com/dtvem/dtvem/src/cmd/uninstall.go:123:				init					100.0%
github.com/dtvem/dtvem/src/cmd/version.go:22:					init					100.0%
github.com/dtvem/dtvem/src/cmd/where.go:110:					init					100.0%
github.com/dtvem/dtvem/src/cmd/which.go:101:					mapCommandToRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/which.go:121:					adjustExecutablePath			0.0%
github.com/dtvem/dtvem/src/cmd/which.go:165:					init					100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:23:				DefaultPaths				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:31:				initPaths				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:42:				getRootDir				83.3%
github.com/dtvem/dtvem/src/internal/config/paths.go:59:				RuntimeVersionPath			100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:65:				GlobalConfigPath			100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:71:				ShimPath				75.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:81:				EnsureDirectories			0.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:100:			LocalConfigDir				75.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:109:			LocalConfigPath				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:19:			ResolveVersion				0.0%
github.com/dtvem/dtvem/src/internal/config/version.go:37:			findLocalVersion			0.0%
github.com/dtvem/dtvem/src/internal/config/version.go:80:			readVersionFile				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:101:			ReadAllRuntimes				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:117:			FindLocalRuntimesFile			93.8%
github.com/dtvem/dtvem/src/internal/config/version.go:155:			GlobalVersion				75.0%
github.com/dtvem/dtvem/src/internal/config/version.go:167:			SetGlobalVersion			84.6%
github.com/dtvem/dtvem/src/internal/config/version.go:198:			SetLocalVersion				64.3%
github.com/dtvem/dtvem/src/internal/download/download.go:15:			File					0.0%
github.com/dtvem/dtvem/src/internal/download/download.go:61:			FileWithProgress			0.0%
github.com/dtvem/dtvem/src/internal/download/download.go:114:			Read					0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:15:			ExtractZip				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:38:			extractZipFile				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:77:			ExtractTarGz				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:118:			extractTarFile				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:167:			StripTopLevelDir			0.0%
github.com/dtvem/dtvem/src/internal/path/path.go:12:				IsInPath				90.9%
github.com/dtvem/dtvem/src/internal/path/path.go:39:				ShimsDir				75.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:17:			DetectShell				0.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:28:			GetShellConfigFile			0.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:56:			AddToPath				0.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:132:			containsPathModification		0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:21:	RunAllTests				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:37:	TestName				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:55:	TestDisplayName				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:68:	TestGetInstallPath			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:95:	TestGetExecutablePath			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:116:	TestGetGlobalPackages			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:136:	TestGetManualPackageInstallCommand	0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:184:	TestListInstalled			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:207:	TestListAvailable			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:229:	TestIsInstalled				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:250:	TestGetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:261:	TestGetLocalVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:272:	TestGetCurrentVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:283:	TestInstallGlobalPackages		0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:20:			NewRegistry				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:27:			Register				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:41:			Get					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:54:			List					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:66:			GetAll					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:78:			Has					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:87:			Unregister				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:102:			Register				0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:107:			Get					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:112:			List					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:117:			GetAll					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:122:			Has					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:127:			Unregister				0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:132:			GetRegistry				0.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:17:			NewVersion				100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:26:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:31:			Equal					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:43:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:69:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:74:			ParseVersions				100.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:22:				NewManager				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:37:				findShimExecutable			0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:65:				CreateShim				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:84:				CreateShims				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:94:				RemoveShim				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:105:			ListShims				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:134:			Rehash					0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:212:			copyFile				92.3%
github.com/dtvem/dtvem/src/internal/shim/manager.go:240:			RuntimeShims				100.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:253:			findExecutables				0.0%
github.com/dtvem/dtvem/src/internal/testutil/strings.go:5:			ContainsSubstring			100.0%
github.com/dtvem/dtvem/src/internal/testutil/strings.go:11:			hasSubstring				100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:28:				Success					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:34:				Error					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:40:				Warning					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:46:				Info					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:52:				Progress				0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:58:				Println					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:63:				Printf					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:68:				Header					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:75:				Highlight				100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:80:				HighlightVersion			100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:90:				PromptInstall				0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:121:				PromptInstallMissing			0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:15:				NewSpinner				0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:26:				Start					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:31:				Stop					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:36:				Success					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:42:				Error					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:48:				Warning					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:54:				UpdateMessage				0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:60:				WithSpinner				0.0%
github.com/dtvem/dtvem/src/main.go:11:						main					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:29:			NewProvider				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:34:			Name					100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:39:			DisplayName				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:44:			Shims					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:49:			Install					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:136:			getDownloadURL				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:175:			createShims				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:189:			Uninstall				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:195:			ListInstalled				33.3%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:226:			ListAvailable				83.3%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:271:			ExecutablePath				70.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:294:			IsInstalled				57.1%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:307:			InstallPath				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:312:			GlobalVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:317:			SetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:322:			LocalVersion				75.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:332:			SetLocalVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:337:			CurrentVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:342:			DetectInstalled				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:401:			getNodeVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:416:			getNodeInstallLocations			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:444:			findNvmVersions				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:501:			findFnmVersions				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:549:			GlobalPackages				18.8%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:588:			InstallGlobalPackages			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:620:			ManualPackageInstallCommand		100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:628:			findNpmInInstall			42.9%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:662:			ShouldReshimAfter			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:693:			init					50.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:32:			NewProvider				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:37:			Name					100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:42:			DisplayName				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:47:			Shims					0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:53:			downloadAndExtract			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:96:			determineSourceDir			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:113:			installPipIfNeeded			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:130:			Install					0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:188:			getDownloadURL				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:225:			getStandaloneBuildURL			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:269:			createShims				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:283:			installPip				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:321:			enableSitePackages			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:351:			Uninstall				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:357:			ListInstalled				33.3%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:388:			ListAvailable				90.6%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:456:			ExecutablePath				70.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:481:			IsInstalled				57.1%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:494:			InstallPath				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:499:			GlobalVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:504:			SetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:509:			LocalVersion				75.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:519:			SetLocalVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:524:			CurrentVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:529:			DetectInstalled				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:581:			getPythonVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:600:			getPythonInstallLocations		0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:643:			findPyenvVersions			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:705:			GlobalPackages				18.8%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:742:			InstallGlobalPackages			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:774:			ManualPackageInstallCommand		100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:782:			findPipInInstall			54.5%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:814:			ShouldReshimAfter			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:831:			init					50.0%

📊 Full HTML coverage report available in workflow artifacts

@github-actions
Copy link
Contributor

github-actions bot commented Dec 9, 2025

Test Coverage Report - linux-amd64

Total Coverage: 17.5%

Coverage by Package

github.com/dtvem/dtvem/src/cmd/current.go:39:					showAllVersions				0.0%
github.com/dtvem/dtvem/src/cmd/current.go:97:					showSingleVersion			0.0%
github.com/dtvem/dtvem/src/cmd/current.go:129:					init					100.0%
github.com/dtvem/dtvem/src/cmd/freeze.go:175:					init					100.0%
github.com/dtvem/dtvem/src/cmd/global.go:10:					setRuntimeVersion			0.0%
github.com/dtvem/dtvem/src/cmd/global.go:53:					init					100.0%
github.com/dtvem/dtvem/src/cmd/init.go:55:					init					100.0%
github.com/dtvem/dtvem/src/cmd/install.go:47:					init					100.0%
github.com/dtvem/dtvem/src/cmd/install.go:53:					installSingle				0.0%
github.com/dtvem/dtvem/src/cmd/install.go:79:					buildInstallTasks			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:104:					isVersionInstalled			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:120:					showInstallationPlan			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:137:					promptInstallConfirmation		0.0%
github.com/dtvem/dtvem/src/cmd/install.go:153:					executeInstalls				0.0%
github.com/dtvem/dtvem/src/cmd/install.go:177:					showInstallSummary			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:198:					installBulk				0.0%
github.com/dtvem/dtvem/src/cmd/list.go:29:					listAllRuntimes				0.0%
github.com/dtvem/dtvem/src/cmd/list.go:70:					listSingleRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/list.go:102:					init					100.0%
github.com/dtvem/dtvem/src/cmd/listall.go:125:					init					100.0%
github.com/dtvem/dtvem/src/cmd/local.go:34:					init					100.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:214:					parseSelection				100.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:240:					promptCleanupOldInstallations		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:301:					getUninstallInstructions		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:333:					getSystemUninstallInstructions		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:358:					executeUninstallCommand			0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:373:					init					100.0%
github.com/dtvem/dtvem/src/cmd/reshim.go:51:					init					100.0%
github.com/dtvem/dtvem/src/cmd/root.go:31:					Execute					0.0%
github.com/dtvem/dtvem/src/cmd/root.go:38:					init					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:23:					main					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:30:					runShim					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:112:				handleNoConfiguredVersion		0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:147:				findInSystemPath			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:199:				shouldAutoInstall			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:204:				getShimName				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:218:				mapShimToRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:247:				adjustExecutablePath			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:295:				executeCommand				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:331:				executeCommandWithWait			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:362:				promptReshim				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:386:				runReshim				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:403:				findDtvemExecutable			0.0%
github.com/dtvem/dtvem/src/cmd/uninstall.go:123:				init					100.0%
github.com/dtvem/dtvem/src/cmd/version.go:22:					init					100.0%
github.com/dtvem/dtvem/src/cmd/where.go:110:					init					100.0%
github.com/dtvem/dtvem/src/cmd/which.go:101:					mapCommandToRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/which.go:121:					adjustExecutablePath			0.0%
github.com/dtvem/dtvem/src/cmd/which.go:165:					init					100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:23:				DefaultPaths				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:31:				initPaths				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:42:				getRootDir				83.3%
github.com/dtvem/dtvem/src/internal/config/paths.go:59:				RuntimeVersionPath			100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:65:				GlobalConfigPath			100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:71:				ShimPath				75.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:81:				EnsureDirectories			0.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:100:			LocalConfigDir				75.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:109:			LocalConfigPath				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:19:			ResolveVersion				0.0%
github.com/dtvem/dtvem/src/internal/config/version.go:37:			findLocalVersion			0.0%
github.com/dtvem/dtvem/src/internal/config/version.go:80:			readVersionFile				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:101:			ReadAllRuntimes				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:117:			FindLocalRuntimesFile			93.8%
github.com/dtvem/dtvem/src/internal/config/version.go:155:			GlobalVersion				75.0%
github.com/dtvem/dtvem/src/internal/config/version.go:167:			SetGlobalVersion			84.6%
github.com/dtvem/dtvem/src/internal/config/version.go:198:			SetLocalVersion				64.3%
github.com/dtvem/dtvem/src/internal/download/download.go:15:			File					0.0%
github.com/dtvem/dtvem/src/internal/download/download.go:61:			FileWithProgress			0.0%
github.com/dtvem/dtvem/src/internal/download/download.go:114:			Read					0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:15:			ExtractZip				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:38:			extractZipFile				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:77:			ExtractTarGz				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:118:			extractTarFile				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:167:			StripTopLevelDir			0.0%
github.com/dtvem/dtvem/src/internal/path/path.go:12:				IsInPath				90.9%
github.com/dtvem/dtvem/src/internal/path/path.go:39:				ShimsDir				75.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:17:			DetectShell				0.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:28:			GetShellConfigFile			0.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:56:			AddToPath				0.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:132:			containsPathModification		0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:21:	RunAllTests				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:37:	TestName				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:55:	TestDisplayName				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:68:	TestGetInstallPath			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:95:	TestGetExecutablePath			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:116:	TestGetGlobalPackages			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:136:	TestGetManualPackageInstallCommand	0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:184:	TestListInstalled			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:207:	TestListAvailable			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:229:	TestIsInstalled				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:250:	TestGetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:261:	TestGetLocalVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:272:	TestGetCurrentVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:283:	TestInstallGlobalPackages		0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:20:			NewRegistry				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:27:			Register				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:41:			Get					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:54:			List					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:66:			GetAll					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:78:			Has					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:87:			Unregister				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:102:			Register				0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:107:			Get					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:112:			List					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:117:			GetAll					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:122:			Has					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:127:			Unregister				0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:132:			GetRegistry				0.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:17:			NewVersion				100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:26:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:31:			Equal					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:43:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:69:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:74:			ParseVersions				100.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:22:				NewManager				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:37:				findShimExecutable			0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:65:				CreateShim				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:84:				CreateShims				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:94:				RemoveShim				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:105:			ListShims				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:134:			Rehash					0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:212:			copyFile				92.3%
github.com/dtvem/dtvem/src/internal/shim/manager.go:240:			RuntimeShims				100.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:253:			findExecutables				0.0%
github.com/dtvem/dtvem/src/internal/testutil/strings.go:5:			ContainsSubstring			100.0%
github.com/dtvem/dtvem/src/internal/testutil/strings.go:11:			hasSubstring				100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:28:				Success					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:34:				Error					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:40:				Warning					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:46:				Info					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:52:				Progress				0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:58:				Println					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:63:				Printf					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:68:				Header					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:75:				Highlight				100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:80:				HighlightVersion			100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:90:				PromptInstall				0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:121:				PromptInstallMissing			0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:15:				NewSpinner				0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:26:				Start					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:31:				Stop					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:36:				Success					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:42:				Error					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:48:				Warning					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:54:				UpdateMessage				0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:60:				WithSpinner				0.0%
github.com/dtvem/dtvem/src/main.go:11:						main					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:29:			NewProvider				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:34:			Name					100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:39:			DisplayName				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:44:			Shims					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:49:			Install					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:136:			getDownloadURL				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:175:			createShims				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:189:			Uninstall				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:195:			ListInstalled				33.3%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:226:			ListAvailable				83.3%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:271:			ExecutablePath				70.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:294:			IsInstalled				57.1%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:307:			InstallPath				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:312:			GlobalVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:317:			SetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:322:			LocalVersion				75.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:332:			SetLocalVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:337:			CurrentVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:342:			DetectInstalled				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:401:			getNodeVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:416:			getNodeInstallLocations			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:444:			findNvmVersions				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:501:			findFnmVersions				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:549:			GlobalPackages				18.8%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:588:			InstallGlobalPackages			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:620:			ManualPackageInstallCommand		100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:628:			findNpmInInstall			42.9%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:662:			ShouldReshimAfter			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:693:			init					50.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:32:			NewProvider				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:37:			Name					100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:42:			DisplayName				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:47:			Shims					0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:53:			downloadAndExtract			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:96:			determineSourceDir			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:113:			installPipIfNeeded			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:130:			Install					0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:188:			getDownloadURL				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:225:			getStandaloneBuildURL			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:269:			createShims				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:283:			installPip				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:321:			enableSitePackages			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:351:			Uninstall				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:357:			ListInstalled				33.3%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:388:			ListAvailable				90.6%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:456:			ExecutablePath				70.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:481:			IsInstalled				57.1%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:494:			InstallPath				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:499:			GlobalVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:504:			SetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:509:			LocalVersion				75.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:519:			SetLocalVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:524:			CurrentVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:529:			DetectInstalled				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:581:			getPythonVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:600:			getPythonInstallLocations		0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:643:			findPyenvVersions			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:705:			GlobalPackages				18.8%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:742:			InstallGlobalPackages			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:774:			ManualPackageInstallCommand		100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:782:			findPipInInstall			54.5%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:814:			ShouldReshimAfter			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:831:			init					50.0%

📊 Full HTML coverage report available in workflow artifacts

@github-actions
Copy link
Contributor

github-actions bot commented Dec 9, 2025

Test Coverage Report - macos-amd64

Total Coverage: 17.5%

Coverage by Package

github.com/dtvem/dtvem/src/cmd/current.go:39:					showAllVersions				0.0%
github.com/dtvem/dtvem/src/cmd/current.go:97:					showSingleVersion			0.0%
github.com/dtvem/dtvem/src/cmd/current.go:129:					init					100.0%
github.com/dtvem/dtvem/src/cmd/freeze.go:175:					init					100.0%
github.com/dtvem/dtvem/src/cmd/global.go:10:					setRuntimeVersion			0.0%
github.com/dtvem/dtvem/src/cmd/global.go:53:					init					100.0%
github.com/dtvem/dtvem/src/cmd/init.go:55:					init					100.0%
github.com/dtvem/dtvem/src/cmd/install.go:47:					init					100.0%
github.com/dtvem/dtvem/src/cmd/install.go:53:					installSingle				0.0%
github.com/dtvem/dtvem/src/cmd/install.go:79:					buildInstallTasks			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:104:					isVersionInstalled			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:120:					showInstallationPlan			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:137:					promptInstallConfirmation		0.0%
github.com/dtvem/dtvem/src/cmd/install.go:153:					executeInstalls				0.0%
github.com/dtvem/dtvem/src/cmd/install.go:177:					showInstallSummary			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:198:					installBulk				0.0%
github.com/dtvem/dtvem/src/cmd/list.go:29:					listAllRuntimes				0.0%
github.com/dtvem/dtvem/src/cmd/list.go:70:					listSingleRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/list.go:102:					init					100.0%
github.com/dtvem/dtvem/src/cmd/listall.go:125:					init					100.0%
github.com/dtvem/dtvem/src/cmd/local.go:34:					init					100.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:214:					parseSelection				100.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:240:					promptCleanupOldInstallations		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:301:					getUninstallInstructions		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:333:					getSystemUninstallInstructions		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:358:					executeUninstallCommand			0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:373:					init					100.0%
github.com/dtvem/dtvem/src/cmd/reshim.go:51:					init					100.0%
github.com/dtvem/dtvem/src/cmd/root.go:31:					Execute					0.0%
github.com/dtvem/dtvem/src/cmd/root.go:38:					init					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:23:					main					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:30:					runShim					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:112:				handleNoConfiguredVersion		0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:147:				findInSystemPath			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:199:				shouldAutoInstall			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:204:				getShimName				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:218:				mapShimToRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:247:				adjustExecutablePath			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:295:				executeCommand				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:331:				executeCommandWithWait			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:362:				promptReshim				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:386:				runReshim				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:403:				findDtvemExecutable			0.0%
github.com/dtvem/dtvem/src/cmd/uninstall.go:123:				init					100.0%
github.com/dtvem/dtvem/src/cmd/version.go:22:					init					100.0%
github.com/dtvem/dtvem/src/cmd/where.go:110:					init					100.0%
github.com/dtvem/dtvem/src/cmd/which.go:101:					mapCommandToRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/which.go:121:					adjustExecutablePath			0.0%
github.com/dtvem/dtvem/src/cmd/which.go:165:					init					100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:23:				DefaultPaths				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:31:				initPaths				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:42:				getRootDir				83.3%
github.com/dtvem/dtvem/src/internal/config/paths.go:59:				RuntimeVersionPath			100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:65:				GlobalConfigPath			100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:71:				ShimPath				75.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:81:				EnsureDirectories			0.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:100:			LocalConfigDir				75.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:109:			LocalConfigPath				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:19:			ResolveVersion				0.0%
github.com/dtvem/dtvem/src/internal/config/version.go:37:			findLocalVersion			0.0%
github.com/dtvem/dtvem/src/internal/config/version.go:80:			readVersionFile				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:101:			ReadAllRuntimes				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:117:			FindLocalRuntimesFile			93.8%
github.com/dtvem/dtvem/src/internal/config/version.go:155:			GlobalVersion				75.0%
github.com/dtvem/dtvem/src/internal/config/version.go:167:			SetGlobalVersion			84.6%
github.com/dtvem/dtvem/src/internal/config/version.go:198:			SetLocalVersion				64.3%
github.com/dtvem/dtvem/src/internal/download/download.go:15:			File					0.0%
github.com/dtvem/dtvem/src/internal/download/download.go:61:			FileWithProgress			0.0%
github.com/dtvem/dtvem/src/internal/download/download.go:114:			Read					0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:15:			ExtractZip				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:38:			extractZipFile				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:77:			ExtractTarGz				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:118:			extractTarFile				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:167:			StripTopLevelDir			0.0%
github.com/dtvem/dtvem/src/internal/path/path.go:12:				IsInPath				90.9%
github.com/dtvem/dtvem/src/internal/path/path.go:39:				ShimsDir				75.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:17:			DetectShell				0.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:28:			GetShellConfigFile			0.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:56:			AddToPath				0.0%
github.com/dtvem/dtvem/src/internal/path/path_unix.go:132:			containsPathModification		0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:21:	RunAllTests				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:37:	TestName				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:55:	TestDisplayName				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:68:	TestGetInstallPath			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:95:	TestGetExecutablePath			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:116:	TestGetGlobalPackages			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:136:	TestGetManualPackageInstallCommand	0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:184:	TestListInstalled			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:207:	TestListAvailable			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:229:	TestIsInstalled				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:250:	TestGetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:261:	TestGetLocalVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:272:	TestGetCurrentVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:283:	TestInstallGlobalPackages		0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:20:			NewRegistry				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:27:			Register				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:41:			Get					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:54:			List					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:66:			GetAll					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:78:			Has					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:87:			Unregister				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:102:			Register				0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:107:			Get					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:112:			List					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:117:			GetAll					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:122:			Has					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:127:			Unregister				0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:132:			GetRegistry				0.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:17:			NewVersion				100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:26:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:31:			Equal					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:43:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:69:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:74:			ParseVersions				100.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:22:				NewManager				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:37:				findShimExecutable			0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:65:				CreateShim				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:84:				CreateShims				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:94:				RemoveShim				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:105:			ListShims				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:134:			Rehash					0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:212:			copyFile				92.3%
github.com/dtvem/dtvem/src/internal/shim/manager.go:240:			RuntimeShims				100.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:253:			findExecutables				0.0%
github.com/dtvem/dtvem/src/internal/testutil/strings.go:5:			ContainsSubstring			100.0%
github.com/dtvem/dtvem/src/internal/testutil/strings.go:11:			hasSubstring				100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:28:				Success					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:34:				Error					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:40:				Warning					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:46:				Info					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:52:				Progress				0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:58:				Println					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:63:				Printf					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:68:				Header					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:75:				Highlight				100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:80:				HighlightVersion			100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:90:				PromptInstall				0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:121:				PromptInstallMissing			0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:15:				NewSpinner				0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:26:				Start					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:31:				Stop					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:36:				Success					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:42:				Error					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:48:				Warning					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:54:				UpdateMessage				0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:60:				WithSpinner				0.0%
github.com/dtvem/dtvem/src/main.go:11:						main					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:29:			NewProvider				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:34:			Name					100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:39:			DisplayName				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:44:			Shims					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:49:			Install					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:136:			getDownloadURL				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:175:			createShims				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:189:			Uninstall				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:195:			ListInstalled				33.3%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:226:			ListAvailable				83.3%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:271:			ExecutablePath				70.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:294:			IsInstalled				57.1%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:307:			InstallPath				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:312:			GlobalVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:317:			SetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:322:			LocalVersion				75.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:332:			SetLocalVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:337:			CurrentVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:342:			DetectInstalled				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:401:			getNodeVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:416:			getNodeInstallLocations			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:444:			findNvmVersions				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:501:			findFnmVersions				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:549:			GlobalPackages				18.8%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:588:			InstallGlobalPackages			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:620:			ManualPackageInstallCommand		100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:628:			findNpmInInstall			42.9%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:662:			ShouldReshimAfter			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:693:			init					50.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:32:			NewProvider				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:37:			Name					100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:42:			DisplayName				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:47:			Shims					0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:53:			downloadAndExtract			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:96:			determineSourceDir			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:113:			installPipIfNeeded			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:130:			Install					0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:188:			getDownloadURL				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:225:			getStandaloneBuildURL			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:269:			createShims				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:283:			installPip				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:321:			enableSitePackages			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:351:			Uninstall				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:357:			ListInstalled				33.3%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:388:			ListAvailable				90.6%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:456:			ExecutablePath				70.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:481:			IsInstalled				57.1%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:494:			InstallPath				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:499:			GlobalVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:504:			SetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:509:			LocalVersion				75.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:519:			SetLocalVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:524:			CurrentVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:529:			DetectInstalled				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:581:			getPythonVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:600:			getPythonInstallLocations		0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:643:			findPyenvVersions			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:705:			GlobalPackages				18.8%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:742:			InstallGlobalPackages			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:774:			ManualPackageInstallCommand		100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:782:			findPipInInstall			54.5%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:814:			ShouldReshimAfter			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:831:			init					50.0%

📊 Full HTML coverage report available in workflow artifacts

@github-actions
Copy link
Contributor

github-actions bot commented Dec 9, 2025

Test Coverage Report - windows-amd64

Total Coverage: 17.4%

Coverage by Package

github.com/dtvem/dtvem/src/cmd/current.go:39:					showAllVersions				0.0%
github.com/dtvem/dtvem/src/cmd/current.go:97:					showSingleVersion			0.0%
github.com/dtvem/dtvem/src/cmd/current.go:129:					init					100.0%
github.com/dtvem/dtvem/src/cmd/freeze.go:175:					init					100.0%
github.com/dtvem/dtvem/src/cmd/global.go:10:					setRuntimeVersion			0.0%
github.com/dtvem/dtvem/src/cmd/global.go:53:					init					100.0%
github.com/dtvem/dtvem/src/cmd/init.go:55:					init					100.0%
github.com/dtvem/dtvem/src/cmd/install.go:47:					init					100.0%
github.com/dtvem/dtvem/src/cmd/install.go:53:					installSingle				0.0%
github.com/dtvem/dtvem/src/cmd/install.go:79:					buildInstallTasks			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:104:					isVersionInstalled			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:120:					showInstallationPlan			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:137:					promptInstallConfirmation		0.0%
github.com/dtvem/dtvem/src/cmd/install.go:153:					executeInstalls				0.0%
github.com/dtvem/dtvem/src/cmd/install.go:177:					showInstallSummary			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:198:					installBulk				0.0%
github.com/dtvem/dtvem/src/cmd/list.go:29:					listAllRuntimes				0.0%
github.com/dtvem/dtvem/src/cmd/list.go:70:					listSingleRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/list.go:102:					init					100.0%
github.com/dtvem/dtvem/src/cmd/listall.go:125:					init					100.0%
github.com/dtvem/dtvem/src/cmd/local.go:34:					init					100.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:214:					parseSelection				100.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:240:					promptCleanupOldInstallations		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:301:					getUninstallInstructions		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:333:					getSystemUninstallInstructions		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:358:					executeUninstallCommand			0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:373:					init					100.0%
github.com/dtvem/dtvem/src/cmd/reshim.go:51:					init					100.0%
github.com/dtvem/dtvem/src/cmd/root.go:31:					Execute					0.0%
github.com/dtvem/dtvem/src/cmd/root.go:38:					init					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:23:					main					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:30:					runShim					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:112:				handleNoConfiguredVersion		0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:147:				findInSystemPath			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:199:				shouldAutoInstall			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:204:				getShimName				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:218:				mapShimToRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:247:				adjustExecutablePath			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:295:				executeCommand				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:331:				executeCommandWithWait			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:362:				promptReshim				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:386:				runReshim				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:403:				findDtvemExecutable			0.0%
github.com/dtvem/dtvem/src/cmd/uninstall.go:123:				init					100.0%
github.com/dtvem/dtvem/src/cmd/version.go:22:					init					100.0%
github.com/dtvem/dtvem/src/cmd/where.go:110:					init					100.0%
github.com/dtvem/dtvem/src/cmd/which.go:101:					mapCommandToRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/which.go:121:					adjustExecutablePath			0.0%
github.com/dtvem/dtvem/src/cmd/which.go:165:					init					100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:23:				DefaultPaths				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:31:				initPaths				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:42:				getRootDir				83.3%
github.com/dtvem/dtvem/src/internal/config/paths.go:59:				RuntimeVersionPath			100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:65:				GlobalConfigPath			100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:71:				ShimPath				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:81:				EnsureDirectories			0.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:100:			LocalConfigDir				75.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:109:			LocalConfigPath				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:19:			ResolveVersion				0.0%
github.com/dtvem/dtvem/src/internal/config/version.go:37:			findLocalVersion			0.0%
github.com/dtvem/dtvem/src/internal/config/version.go:80:			readVersionFile				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:101:			ReadAllRuntimes				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:117:			FindLocalRuntimesFile			93.8%
github.com/dtvem/dtvem/src/internal/config/version.go:155:			GlobalVersion				75.0%
github.com/dtvem/dtvem/src/internal/config/version.go:167:			SetGlobalVersion			84.6%
github.com/dtvem/dtvem/src/internal/config/version.go:198:			SetLocalVersion				64.3%
github.com/dtvem/dtvem/src/internal/download/download.go:15:			File					0.0%
github.com/dtvem/dtvem/src/internal/download/download.go:61:			FileWithProgress			0.0%
github.com/dtvem/dtvem/src/internal/download/download.go:114:			Read					0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:15:			ExtractZip				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:38:			extractZipFile				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:77:			ExtractTarGz				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:118:			extractTarFile				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:167:			StripTopLevelDir			0.0%
github.com/dtvem/dtvem/src/internal/path/path.go:12:				IsInPath				100.0%
github.com/dtvem/dtvem/src/internal/path/path.go:39:				ShimsDir				75.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:34:			AddToPath				0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:57:			checkSystemPath				0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:89:			isAdmin					0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:98:			promptForElevation			0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:129:			relaunchElevated			0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:156:			modifySystemPath			0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:210:			broadcastSettingChange			0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:224:			DetectShell				0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:233:			GetShellConfigFile			0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:239:			IsSetxAvailable				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:21:	RunAllTests				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:37:	TestName				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:55:	TestDisplayName				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:68:	TestGetInstallPath			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:95:	TestGetExecutablePath			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:116:	TestGetGlobalPackages			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:136:	TestGetManualPackageInstallCommand	0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:184:	TestListInstalled			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:207:	TestListAvailable			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:229:	TestIsInstalled				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:250:	TestGetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:261:	TestGetLocalVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:272:	TestGetCurrentVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:283:	TestInstallGlobalPackages		0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:20:			NewRegistry				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:27:			Register				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:41:			Get					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:54:			List					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:66:			GetAll					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:78:			Has					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:87:			Unregister				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:102:			Register				0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:107:			Get					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:112:			List					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:117:			GetAll					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:122:			Has					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:127:			Unregister				0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:132:			GetRegistry				0.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:17:			NewVersion				100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:26:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:31:			Equal					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:43:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:69:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:74:			ParseVersions				100.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:22:				NewManager				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:37:				findShimExecutable			0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:65:				CreateShim				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:84:				CreateShims				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:94:				RemoveShim				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:105:			ListShims				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:134:			Rehash					0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:212:			copyFile				92.3%
github.com/dtvem/dtvem/src/internal/shim/manager.go:240:			RuntimeShims				100.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:253:			findExecutables				0.0%
github.com/dtvem/dtvem/src/internal/testutil/strings.go:5:			ContainsSubstring			100.0%
github.com/dtvem/dtvem/src/internal/testutil/strings.go:11:			hasSubstring				100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:28:				Success					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:34:				Error					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:40:				Warning					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:46:				Info					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:52:				Progress				0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:58:				Println					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:63:				Printf					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:68:				Header					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:75:				Highlight				100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:80:				HighlightVersion			100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:90:				PromptInstall				0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:121:				PromptInstallMissing			0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:15:				NewSpinner				0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:26:				Start					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:31:				Stop					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:36:				Success					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:42:				Error					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:48:				Warning					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:54:				UpdateMessage				0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:60:				WithSpinner				0.0%
github.com/dtvem/dtvem/src/main.go:11:						main					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:29:			NewProvider				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:34:			Name					100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:39:			DisplayName				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:44:			Shims					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:49:			Install					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:136:			getDownloadURL				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:175:			createShims				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:189:			Uninstall				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:195:			ListInstalled				33.3%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:226:			ListAvailable				83.3%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:271:			ExecutablePath				70.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:294:			IsInstalled				57.1%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:307:			InstallPath				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:312:			GlobalVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:317:			SetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:322:			LocalVersion				75.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:332:			SetLocalVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:337:			CurrentVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:342:			DetectInstalled				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:401:			getNodeVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:416:			getNodeInstallLocations			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:444:			findNvmVersions				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:501:			findFnmVersions				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:549:			GlobalPackages				18.8%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:588:			InstallGlobalPackages			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:620:			ManualPackageInstallCommand		100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:628:			findNpmInInstall			57.1%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:662:			ShouldReshimAfter			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:693:			init					50.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:32:			NewProvider				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:37:			Name					100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:42:			DisplayName				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:47:			Shims					0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:53:			downloadAndExtract			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:96:			determineSourceDir			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:113:			installPipIfNeeded			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:130:			Install					0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:188:			getDownloadURL				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:225:			getStandaloneBuildURL			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:269:			createShims				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:283:			installPip				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:321:			enableSitePackages			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:351:			Uninstall				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:357:			ListInstalled				33.3%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:388:			ListAvailable				90.6%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:456:			ExecutablePath				70.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:481:			IsInstalled				57.1%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:494:			InstallPath				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:499:			GlobalVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:504:			SetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:509:			LocalVersion				75.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:519:			SetLocalVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:524:			CurrentVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:529:			DetectInstalled				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:581:			getPythonVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:600:			getPythonInstallLocations		0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:643:			findPyenvVersions			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:705:			GlobalPackages				18.8%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:742:			InstallGlobalPackages			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:774:			ManualPackageInstallCommand		100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:782:			findPipInInstall			54.5%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:814:			ShouldReshimAfter			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:831:			init					50.0%

📊 Full HTML coverage report available in workflow artifacts

@github-actions
Copy link
Contributor

github-actions bot commented Dec 9, 2025

Test Coverage Report - windows-arm64

Total Coverage: 17.4%

Coverage by Package

github.com/dtvem/dtvem/src/cmd/current.go:39:					showAllVersions				0.0%
github.com/dtvem/dtvem/src/cmd/current.go:97:					showSingleVersion			0.0%
github.com/dtvem/dtvem/src/cmd/current.go:129:					init					100.0%
github.com/dtvem/dtvem/src/cmd/freeze.go:175:					init					100.0%
github.com/dtvem/dtvem/src/cmd/global.go:10:					setRuntimeVersion			0.0%
github.com/dtvem/dtvem/src/cmd/global.go:53:					init					100.0%
github.com/dtvem/dtvem/src/cmd/init.go:55:					init					100.0%
github.com/dtvem/dtvem/src/cmd/install.go:47:					init					100.0%
github.com/dtvem/dtvem/src/cmd/install.go:53:					installSingle				0.0%
github.com/dtvem/dtvem/src/cmd/install.go:79:					buildInstallTasks			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:104:					isVersionInstalled			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:120:					showInstallationPlan			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:137:					promptInstallConfirmation		0.0%
github.com/dtvem/dtvem/src/cmd/install.go:153:					executeInstalls				0.0%
github.com/dtvem/dtvem/src/cmd/install.go:177:					showInstallSummary			0.0%
github.com/dtvem/dtvem/src/cmd/install.go:198:					installBulk				0.0%
github.com/dtvem/dtvem/src/cmd/list.go:29:					listAllRuntimes				0.0%
github.com/dtvem/dtvem/src/cmd/list.go:70:					listSingleRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/list.go:102:					init					100.0%
github.com/dtvem/dtvem/src/cmd/listall.go:125:					init					100.0%
github.com/dtvem/dtvem/src/cmd/local.go:34:					init					100.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:214:					parseSelection				100.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:240:					promptCleanupOldInstallations		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:301:					getUninstallInstructions		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:333:					getSystemUninstallInstructions		0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:358:					executeUninstallCommand			0.0%
github.com/dtvem/dtvem/src/cmd/migrate.go:373:					init					100.0%
github.com/dtvem/dtvem/src/cmd/reshim.go:51:					init					100.0%
github.com/dtvem/dtvem/src/cmd/root.go:31:					Execute					0.0%
github.com/dtvem/dtvem/src/cmd/root.go:38:					init					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:23:					main					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:30:					runShim					0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:112:				handleNoConfiguredVersion		0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:147:				findInSystemPath			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:199:				shouldAutoInstall			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:204:				getShimName				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:218:				mapShimToRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:247:				adjustExecutablePath			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:295:				executeCommand				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:331:				executeCommandWithWait			0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:362:				promptReshim				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:386:				runReshim				0.0%
github.com/dtvem/dtvem/src/cmd/shim/main.go:403:				findDtvemExecutable			0.0%
github.com/dtvem/dtvem/src/cmd/uninstall.go:123:				init					100.0%
github.com/dtvem/dtvem/src/cmd/version.go:22:					init					100.0%
github.com/dtvem/dtvem/src/cmd/where.go:110:					init					100.0%
github.com/dtvem/dtvem/src/cmd/which.go:101:					mapCommandToRuntime			0.0%
github.com/dtvem/dtvem/src/cmd/which.go:121:					adjustExecutablePath			0.0%
github.com/dtvem/dtvem/src/cmd/which.go:165:					init					100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:23:				DefaultPaths				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:31:				initPaths				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:42:				getRootDir				83.3%
github.com/dtvem/dtvem/src/internal/config/paths.go:59:				RuntimeVersionPath			100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:65:				GlobalConfigPath			100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:71:				ShimPath				100.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:81:				EnsureDirectories			0.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:100:			LocalConfigDir				75.0%
github.com/dtvem/dtvem/src/internal/config/paths.go:109:			LocalConfigPath				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:19:			ResolveVersion				0.0%
github.com/dtvem/dtvem/src/internal/config/version.go:37:			findLocalVersion			0.0%
github.com/dtvem/dtvem/src/internal/config/version.go:80:			readVersionFile				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:101:			ReadAllRuntimes				100.0%
github.com/dtvem/dtvem/src/internal/config/version.go:117:			FindLocalRuntimesFile			93.8%
github.com/dtvem/dtvem/src/internal/config/version.go:155:			GlobalVersion				75.0%
github.com/dtvem/dtvem/src/internal/config/version.go:167:			SetGlobalVersion			84.6%
github.com/dtvem/dtvem/src/internal/config/version.go:198:			SetLocalVersion				64.3%
github.com/dtvem/dtvem/src/internal/download/download.go:15:			File					0.0%
github.com/dtvem/dtvem/src/internal/download/download.go:61:			FileWithProgress			0.0%
github.com/dtvem/dtvem/src/internal/download/download.go:114:			Read					0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:15:			ExtractZip				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:38:			extractZipFile				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:77:			ExtractTarGz				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:118:			extractTarFile				0.0%
github.com/dtvem/dtvem/src/internal/download/extract.go:167:			StripTopLevelDir			0.0%
github.com/dtvem/dtvem/src/internal/path/path.go:12:				IsInPath				100.0%
github.com/dtvem/dtvem/src/internal/path/path.go:39:				ShimsDir				75.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:34:			AddToPath				0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:57:			checkSystemPath				0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:89:			isAdmin					0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:98:			promptForElevation			0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:129:			relaunchElevated			0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:156:			modifySystemPath			0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:210:			broadcastSettingChange			0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:224:			DetectShell				0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:233:			GetShellConfigFile			0.0%
github.com/dtvem/dtvem/src/internal/path/path_windows.go:239:			IsSetxAvailable				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:21:	RunAllTests				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:37:	TestName				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:55:	TestDisplayName				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:68:	TestGetInstallPath			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:95:	TestGetExecutablePath			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:116:	TestGetGlobalPackages			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:136:	TestGetManualPackageInstallCommand	0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:184:	TestListInstalled			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:207:	TestListAvailable			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:229:	TestIsInstalled				0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:250:	TestGetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:261:	TestGetLocalVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:272:	TestGetCurrentVersion			0.0%
github.com/dtvem/dtvem/src/internal/runtime/provider_test_harness.go:283:	TestInstallGlobalPackages		0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:20:			NewRegistry				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:27:			Register				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:41:			Get					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:54:			List					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:66:			GetAll					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:78:			Has					100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:87:			Unregister				100.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:102:			Register				0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:107:			Get					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:112:			List					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:117:			GetAll					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:122:			Has					0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:127:			Unregister				0.0%
github.com/dtvem/dtvem/src/internal/runtime/registry.go:132:			GetRegistry				0.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:17:			NewVersion				100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:26:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:31:			Equal					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:43:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:69:			String					100.0%
github.com/dtvem/dtvem/src/internal/runtime/version.go:74:			ParseVersions				100.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:22:				NewManager				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:37:				findShimExecutable			0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:65:				CreateShim				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:84:				CreateShims				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:94:				RemoveShim				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:105:			ListShims				0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:134:			Rehash					0.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:212:			copyFile				92.3%
github.com/dtvem/dtvem/src/internal/shim/manager.go:240:			RuntimeShims				100.0%
github.com/dtvem/dtvem/src/internal/shim/manager.go:253:			findExecutables				0.0%
github.com/dtvem/dtvem/src/internal/testutil/strings.go:5:			ContainsSubstring			100.0%
github.com/dtvem/dtvem/src/internal/testutil/strings.go:11:			hasSubstring				100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:28:				Success					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:34:				Error					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:40:				Warning					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:46:				Info					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:52:				Progress				0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:58:				Println					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:63:				Printf					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:68:				Header					0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:75:				Highlight				100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:80:				HighlightVersion			100.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:90:				PromptInstall				0.0%
github.com/dtvem/dtvem/src/internal/ui/output.go:121:				PromptInstallMissing			0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:15:				NewSpinner				0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:26:				Start					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:31:				Stop					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:36:				Success					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:42:				Error					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:48:				Warning					0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:54:				UpdateMessage				0.0%
github.com/dtvem/dtvem/src/internal/ui/spinner.go:60:				WithSpinner				0.0%
github.com/dtvem/dtvem/src/main.go:11:						main					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:29:			NewProvider				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:34:			Name					100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:39:			DisplayName				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:44:			Shims					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:49:			Install					0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:136:			getDownloadURL				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:175:			createShims				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:189:			Uninstall				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:195:			ListInstalled				33.3%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:226:			ListAvailable				83.3%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:271:			ExecutablePath				70.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:294:			IsInstalled				57.1%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:307:			InstallPath				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:312:			GlobalVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:317:			SetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:322:			LocalVersion				75.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:332:			SetLocalVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:337:			CurrentVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:342:			DetectInstalled				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:401:			getNodeVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:416:			getNodeInstallLocations			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:444:			findNvmVersions				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:501:			findFnmVersions				0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:549:			GlobalPackages				18.8%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:588:			InstallGlobalPackages			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:620:			ManualPackageInstallCommand		100.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:628:			findNpmInInstall			57.1%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:662:			ShouldReshimAfter			0.0%
github.com/dtvem/dtvem/src/runtimes/node/provider.go:693:			init					50.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:32:			NewProvider				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:37:			Name					100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:42:			DisplayName				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:47:			Shims					0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:53:			downloadAndExtract			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:96:			determineSourceDir			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:113:			installPipIfNeeded			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:130:			Install					0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:188:			getDownloadURL				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:225:			getStandaloneBuildURL			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:269:			createShims				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:283:			installPip				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:321:			enableSitePackages			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:351:			Uninstall				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:357:			ListInstalled				33.3%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:388:			ListAvailable				90.6%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:456:			ExecutablePath				70.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:481:			IsInstalled				57.1%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:494:			InstallPath				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:499:			GlobalVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:504:			SetGlobalVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:509:			LocalVersion				75.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:519:			SetLocalVersion				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:524:			CurrentVersion				100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:529:			DetectInstalled				0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:581:			getPythonVersion			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:600:			getPythonInstallLocations		0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:643:			findPyenvVersions			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:705:			GlobalPackages				18.8%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:742:			InstallGlobalPackages			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:774:			ManualPackageInstallCommand		100.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:782:			findPipInInstall			54.5%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:814:			ShouldReshimAfter			0.0%
github.com/dtvem/dtvem/src/runtimes/python/provider.go:831:			init					50.0%

📊 Full HTML coverage report available in workflow artifacts

@CalvinAllen CalvinAllen merged commit 18daf6f into main Dec 9, 2025
8 checks passed
@CalvinAllen CalvinAllen deleted the fix/windows-shim-exit-code-v2 branch December 9, 2025 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

fix(shim): Windows shim incorrectly reports failure on non-zero exit code

1 participant