# 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