import os import mock import inspect from unittest import TestCase import dvc.daemon as daemon class TestDaemon(TestCase): @mock.patch('dvc.daemon._spawn_posix') @mock.patch('dvc.daemon._spawn_windows') def test(self, mock_windows, mock_posix): daemon.daemon(['updater']) if os.name == 'nt': mock_posix.assert_not_called() mock_windows.assert_called() args, kwargs = mock_windows.call_args else: mock_windows.assert_not_called() mock_posix.assert_called() args, kwargs = mock_posix.call_args env = args[1] self.assertTrue('PYTHONPATH' in env.keys()) file_path = os.path.abspath(inspect.stack()[0][1]) file_dir = os.path.dirname(file_path) test_dir = os.path.dirname(file_dir) dvc_dir = os.path.dirname(test_dir) self.assertEqual(env['PYTHONPATH'], dvc_dir)