예제 #1
0
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
예제 #2
0
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'])
예제 #3
0
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
예제 #4
0
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'])