import os import time import threading import pytest from doit.filewatch import FileModifyWatcher, get_platform_system def testUnsuportedPlatform(monkeypatch): monkeypatch.setattr(FileModifyWatcher, 'supported_platforms', ()) pytest.raises(Exception, FileModifyWatcher, []) platform = get_platform_system() @pytest.mark.skipif('platform not in FileModifyWatcher.supported_platforms') class TestFileWatcher(object): def testInit(self, restore_cwd, tmpdir): dir1 = 'data3' files = ('data/w1.txt', 'data/w2.txt') tmpdir.mkdir('data') for fname in files: tmpdir.join(fname).open('a').close() os.chdir(tmpdir.strpath) fw = FileModifyWatcher((files[0], files[1], dir1)) # file_list contains absolute paths assert 2 == len(fw.file_list) assert os.path.abspath(files[0]) in fw.file_list
import time from multiprocessing import Process import pytest from doit.cmdparse import DefaultUpdate from doit.task import Task from doit.cmd_base import TaskLoader from doit import filewatch from doit import cmd_auto from .conftest import CmdFactory # skip all tests in this module if platform not supported platform = filewatch.get_platform_system() pytestmark = pytest.mark.skipif( 'platform not in filewatch.FileModifyWatcher.supported_platforms') class TestFindFileDeps(object): def find_deps(self, sel_tasks): tasks = { 't1': Task("t1", [""], file_dep=['f1']), 't2': Task("t2", [""], file_dep=['f2'], task_dep=['t1']), 't3': Task("t3", [""], file_dep=['f3'], setup=['t1']), } return cmd_auto.Auto._find_file_deps(tasks, sel_tasks) def test_find_file_deps(self): assert set(['f1']) == self.find_deps(['t1']) assert set(['f1', 'f2']) == self.find_deps(['t2'])
import os import time import threading import pytest from doit.filewatch import FileModifyWatcher, get_platform_system def testUnsuportedPlatform(monkeypatch): monkeypatch.setattr(FileModifyWatcher, 'supported_platforms', ()) pytest.raises(Exception, FileModifyWatcher, []) platform = get_platform_system() @pytest.mark.skipif('platform not in FileModifyWatcher.supported_platforms') class TestFileWatcher(object): def testInit(self, restore_cwd, tmpdir): dir1 = 'data3' files = ('data/w1.txt', 'data/w2.txt') tmpdir.mkdir('data') for fname in files: tmpdir.join(fname).open('a').close() os.chdir(tmpdir.strpath) fw = FileModifyWatcher((files[0], files[1], dir1)) # file_list contains absolute paths assert 2 == len(fw.file_list) assert os.path.abspath(files[0]) in fw.file_list assert os.path.abspath(files[1]) in fw.file_list # watch_dirs
import time from multiprocessing import Process import pytest from doit.cmdparse import DefaultUpdate from doit.task import Task from doit.cmd_base import TaskLoader from doit import filewatch from doit import cmd_auto from .conftest import CmdFactory # skip all tests in this module if platform not supported platform = filewatch.get_platform_system() pytestmark = pytest.mark.skipif( 'platform not in filewatch.FileModifyWatcher.supported_platforms') class TestFindFileDeps(object): def find_deps(self, sel_tasks): tasks = { 't1': Task("t1", [""], file_dep=['f1']), 't2': Task("t2", [""], file_dep=['f2'], task_dep=['t1']), 't3': Task("t3", [""], file_dep=['f3'], setup=['t1']), } return cmd_auto.Auto._find_file_deps(tasks, sel_tasks) def test_find_file_deps(self): assert set(['f1']) == self.find_deps(['t1']) assert set(['f1', 'f2']) == self.find_deps(['t2']) assert set(['f1', 'f3']) == self.find_deps(['t3'])