65 lines
1.5 KiB
Python
65 lines
1.5 KiB
Python
# Just some helpers for test functions
|
|
|
|
import io
|
|
import os
|
|
import re
|
|
import sys
|
|
import time
|
|
import shlex
|
|
import shutil
|
|
|
|
import nilmdb.server
|
|
import nilmdb.utils
|
|
import nilmdb.utils.timestamper
|
|
from nilmdb.utils.printf import printf
|
|
|
|
def myrepr(x):
|
|
if isinstance(x, str):
|
|
return '"' + x + '"'
|
|
else:
|
|
return repr(x)
|
|
|
|
def eq_(a, b):
|
|
if not a == b:
|
|
raise AssertionError("%s != %s" % (myrepr(a), myrepr(b)))
|
|
|
|
def lt_(a, b):
|
|
if not a < b:
|
|
raise AssertionError("%s is not less than %s" % (myrepr(a), myrepr(b)))
|
|
|
|
def in_(a, b):
|
|
if a not in b:
|
|
raise AssertionError("%s not in %s" % (myrepr(a), myrepr(b)))
|
|
|
|
def nin_(a, b):
|
|
if a in b:
|
|
raise AssertionError("unexpected %s in %s" % (myrepr(a), myrepr(b)))
|
|
|
|
def in2_(a1, a2, b):
|
|
if a1 not in b and a2 not in b:
|
|
raise AssertionError("(%s or %s) not in %s" % (myrepr(a1), myrepr(a2),
|
|
myrepr(b)))
|
|
|
|
def ne_(a, b):
|
|
if not a != b:
|
|
raise AssertionError("unexpected %s == %s" % (myrepr(a), myrepr(b)))
|
|
|
|
def lines_(a, n):
|
|
l = a.count('\n')
|
|
if not l == n:
|
|
if len(a) > 5000:
|
|
a = a[0:5000] + " ... truncated"
|
|
raise AssertionError("wanted %d lines, got %d in output: '%s'"
|
|
% (n, l, a))
|
|
|
|
def recursive_unlink(path):
|
|
try:
|
|
shutil.rmtree(path)
|
|
except OSError:
|
|
pass
|
|
try:
|
|
os.unlink(path)
|
|
except OSError:
|
|
pass
|
|
|