Repository navigation
Expand file tree
/
Copy pathcommon.py
More file actions
118 lines (95 loc) · 3.26 KB
/
Copy pathcommon.py
File metadata and controls
118 lines (95 loc) · 3.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# -*- coding: utf-8 -*-
"""
.. module:: tests
This file is part of **python-openzwave** project https://github.com/OpenZWave/python-openzwave.
:platform: Unix, Windows, MacOS X
:sinopsis: openzwave API
.. moduleauthor: bibi21000 aka Sébastien GALLET <bibi21000@gmail.com>
License : GPL(v3)
**python-openzwave** is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
**python-openzwave** is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with python-openzwave. If not, see http://www.gnu.org/licenses.
"""
#The common sleep dealy to wait for network
#We wait 1*SLEEP for network.STATE_AWAKED
#After that we wait 1*SLEEP for network.STATE_READY
SLEEP = 45
import sys, os
import time
import unittest
import threading
import logging
import json as mjson
import six
from nose.plugins.skip import SkipTest
sys.path.insert(1, os.path.abspath('..'))
import pyozw_version
pyozw_version=pyozw_version.pyozw_version
class TestPyZWave(unittest.TestCase):
"""Grand mother
"""
device = "/dev/ttyUSB0"
ozwlog = "Debug"
ozwout = False
pylog = logging.DEBUG
userpath = ".tests_user_path"
@classmethod
def tearDownClass(self):
try:
shutil.rmtree(self.userpath)
except:
pass
@classmethod
def setUpClass(self):
logging.basicConfig(format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S", level=self.pylog)
self.skip = True
if 'NOSESKIP' in os.environ:
self.skip = eval(os.environ['NOSESKIP'])
self.skipManual = True
if 'MANUALSKIP' in os.environ:
self.skipManual = eval(os.environ['MANUALSKIP'])
try:
os.makedirs(self.userpath)
except:
pass
def skipTest(self, message):
"""Skip a test
"""
if self.skip == True:
raise SkipTest("%s" % (message))
def skipPython3(self):
"""Skip a test on python 3
"""
if six.PY3:
raise SkipTest("Skip on Python 3")
def skipTravisTest(self, message):
"""Skip a test on travis
"""
if 'TRAVIS_OS_NAME' in os.environ:
raise SkipTest("%s" % ("travis : %s" % message))
def skipManualTest(self, message=''):
"""Skip a manual test (need human intervention)
"""
if self.skipManual == True:
raise SkipTest("%s" % ("manual test (%s)" % message))
def skipNotReady(self, message):
"""Skip a test because zwave network is not ready
"""
raise SkipTest("%s" % ("network NotReady : %s" % message))
def wipTest(self):
"""Work In Progress test
"""
raise SkipTest("Work in progress")
def touchFile(self, path):
with open(path, 'a'):
os.utime(path, None)
def rmFile(self, path):
if os.path.isfile(path):
os.remove(path)