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