old_contents: import re
  
  import pytest
  
  from dvc.command.version import psutil
  from dvc.main import main
  
  
  def test_info_in_repo(repo_dir, dvc_repo, caplog):
      # adding a file so that dvc creates `.dvc/cache`, that is needed for proper
      # supported link types check.
      assert main(["add", repo_dir.FOO]) == 0
      assert main(["version"]) == 0
  
      assert re.search(re.compile(r"DVC version: \d+\.\d+\.\d+"), caplog.text)
      assert re.search(re.compile(r"Python version: \d\.\d\.\d"), caplog.text)
      assert re.search(re.compile(r"Platform: .*"), caplog.text)
      assert re.search(re.compile(r"Binary: (True|False)"), caplog.text)
      assert re.search(re.compile(r"Package: .*"), caplog.text)
      assert re.search(
          re.compile(r"(Cache: (.*link - (True|False)(,\s)?){3})"), caplog.text
      )
  
  
  @pytest.mark.skipif(psutil is None, reason="No psutil.")
  def test_fs_info_in_repo(dvc_repo, caplog):
      assert main(["version"]) == 0
  
      assert re.search(
          re.compile(r"Filesystem type \(cache directory\): .*"), caplog.text
      )
      assert re.search(
          re.compile(r"Filesystem type \(workspace\): .*"), caplog.text
      )
  
  
  def test_info_outside_of_repo(repo_dir, caplog):
      assert main(["version"]) == 0
  
      assert re.search(re.compile(r"DVC version: \d+\.\d+\.\d+"), caplog.text)
      assert re.search(re.compile(r"Python version: \d\.\d\.\d"), caplog.text)
      assert re.search(re.compile(r"Platform: .*"), caplog.text)
      assert re.search(re.compile(r"Binary: (True|False)"), caplog.text)
      assert re.search(re.compile(r"Package: .*"), caplog.text)
      assert not re.search(
          re.compile(r"(Cache: (.*link - (True|False)(,\s)?){3})"), caplog.text
      )
  
  
  @pytest.mark.skipif(psutil is None, reason="No psutil.")
  def test_fs_info_outside_of_repo(repo_dir, caplog):
      assert main(["version"]) == 0
  
      assert re.search(
          re.compile(r"Filesystem type \(workspace\): .*"), caplog.text
      )
      assert not re.search(
          re.compile(r"Filesystem type \(cache directory\): .*"), caplog.text
      )
  
new_contents: import os
  import re
  
  import pytest
  
  from dvc.command.version import psutil
  from dvc.main import main
  
  
  def test_info_in_repo(tmp_dir, dvc, caplog):
      # Create `.dvc/cache`, that is needed to check supported link types.
      os.mkdir(dvc.cache.local.cache_dir)
      assert main(["version"]) == 0
  
      assert re.search(r"DVC version: \d+\.\d+\.\d+", caplog.text)
      assert re.search(r"Python version: \d\.\d\.\d", caplog.text)
      assert re.search(r"Platform: .*", caplog.text)
      assert re.search(r"Binary: (True|False)", caplog.text)
      assert re.search(r"Package: .*", caplog.text)
      assert re.search(r"(Cache: (.*link - (True|False)(,\s)?){3})", caplog.text)
  
  
  @pytest.mark.skipif(psutil is None, reason="No psutil.")
  def test_fs_info_in_repo(tmp_dir, dvc, caplog):
      os.mkdir(dvc.cache.local.cache_dir)
      assert main(["version"]) == 0
  
      assert "Filesystem type (cache directory): " in caplog.text
      assert "Filesystem type (workspace): " in caplog.text
  
  
  def test_info_outside_of_repo(tmp_dir, caplog):
      assert main(["version"]) == 0
  
      assert re.search(r"DVC version: \d+\.\d+\.\d+", caplog.text)
      assert re.search(r"Python version: \d\.\d\.\d", caplog.text)
      assert re.search(r"Platform: .*", caplog.text)
      assert re.search(r"Binary: (True|False)", caplog.text)
      assert re.search(r"Package: .*", caplog.text)
      assert not re.search(
          r"(Cache: (.*link - (True|False)(,\s)?){3})", caplog.text
      )
  
  
  @pytest.mark.skipif(psutil is None, reason="No psutil.")
  def test_fs_info_outside_of_repo(tmp_dir, caplog):
      assert main(["version"]) == 0
  
      assert "Filesystem type (cache directory): " not in caplog.text
      assert "Filesystem type (workspace): " in caplog.text
  
subject: fix and migrate version tests