X-Git-Url: https://scripts.mit.edu/gitweb/wizard.git/blobdiff_plain/c295f55d571fa6ec34643924efb225d8b153a8f6..10fea9a7ddab6a654922514b13b135772cc98a01:/wizard/tests/util_test.py diff --git a/wizard/tests/util_test.py b/wizard/tests/util_test.py index c34abba..cd444e0 100644 --- a/wizard/tests/util_test.py +++ b/wizard/tests/util_test.py @@ -1,7 +1,10 @@ import traceback +from wizard import tests from wizard.util import * +lockfile = tests.getTestFile("util_test.lock") + class MyError(Exception): def __str__(self): return """ @@ -9,13 +12,19 @@ class MyError(Exception): ERROR: Foo """ -def test_get_dir_uid(): - if os.getuid(): return # only run if on a scripts server. This is crude - assert get_dir_uid("/mit/ezyang/web_scripts/test-wiki") == 537864399 +class MyErrorWithHTML(Exception): + def __str__(self): + return """ -def test_get_dir_uid_locker(): - if os.getuid(): return - assert get_dir_uid("/mit/apo/web_scripts/") == 536956980 +ERROR: Bar + + + No good! + +""" + +def test_dictmap(): + assert dictmap(lambda x: x + 1, {'a': 0, 'b': 1}) == {'a': 1, 'b': 2} def test_get_exception_name(): try: @@ -29,3 +38,43 @@ def test_get_exception_name_withstr(): except MyError: assert get_exception_name(traceback.format_exc()) == "MyError" +def test_get_exception_name_withhtml(): + try: + raise MyErrorWithHTML + except MyErrorWithHTML: + assert get_exception_name(traceback.format_exc()) == "MyErrorWithHTML" + +def test_get_exception_name_withstr2(): + try: + raise Exception("This is extra info we don't care about"); + except Exception: + assert get_exception_name(traceback.format_exc()) == "Exception" + +def test_lock(): + soft_unlink(lockfile) + with LockDirectory(lockfile): + pass + +def test_locked(): + soft_unlink(lockfile) + with LockDirectory(lockfile): + try: + with LockDirectory(lockfile): + assert False + except DirectoryLockedError: + pass + +def test_break_orphan_lock(): + soft_unlink(lockfile) + open(lockfile, "w").write("obviouslyboguspid") + with LockDirectory(lockfile): + pass + +def test_break_stale_lock(): + soft_unlink(lockfile) + with LockDirectory(lockfile): + with LockDirectory(lockfile, expiry = 0): + pass + +def test_disk_usage(): + assert disk_usage(tests.getTestFile("disk_usage_test"), "ignore_me") == 7