Index: Tools/Scripts/webkitpy/thirdparty/unittest2/util.py |
diff --git a/Tools/Scripts/webkitpy/thirdparty/unittest2/util.py b/Tools/Scripts/webkitpy/thirdparty/unittest2/util.py |
deleted file mode 100644 |
index c45d008cc8863e1c6f46ddb4ee93fec9b4613b48..0000000000000000000000000000000000000000 |
--- a/Tools/Scripts/webkitpy/thirdparty/unittest2/util.py |
+++ /dev/null |
@@ -1,99 +0,0 @@ |
-"""Various utility functions.""" |
- |
-__unittest = True |
- |
- |
-_MAX_LENGTH = 80 |
-def safe_repr(obj, short=False): |
- try: |
- result = repr(obj) |
- except Exception: |
- result = object.__repr__(obj) |
- if not short or len(result) < _MAX_LENGTH: |
- return result |
- return result[:_MAX_LENGTH] + ' [truncated]...' |
- |
-def safe_str(obj): |
- try: |
- return str(obj) |
- except Exception: |
- return object.__str__(obj) |
- |
-def strclass(cls): |
- return "%s.%s" % (cls.__module__, cls.__name__) |
- |
-def sorted_list_difference(expected, actual): |
- """Finds elements in only one or the other of two, sorted input lists. |
- |
- Returns a two-element tuple of lists. The first list contains those |
- elements in the "expected" list but not in the "actual" list, and the |
- second contains those elements in the "actual" list but not in the |
- "expected" list. Duplicate elements in either input list are ignored. |
- """ |
- i = j = 0 |
- missing = [] |
- unexpected = [] |
- while True: |
- try: |
- e = expected[i] |
- a = actual[j] |
- if e < a: |
- missing.append(e) |
- i += 1 |
- while expected[i] == e: |
- i += 1 |
- elif e > a: |
- unexpected.append(a) |
- j += 1 |
- while actual[j] == a: |
- j += 1 |
- else: |
- i += 1 |
- try: |
- while expected[i] == e: |
- i += 1 |
- finally: |
- j += 1 |
- while actual[j] == a: |
- j += 1 |
- except IndexError: |
- missing.extend(expected[i:]) |
- unexpected.extend(actual[j:]) |
- break |
- return missing, unexpected |
- |
-def unorderable_list_difference(expected, actual, ignore_duplicate=False): |
- """Same behavior as sorted_list_difference but |
- for lists of unorderable items (like dicts). |
- |
- As it does a linear search per item (remove) it |
- has O(n*n) performance. |
- """ |
- missing = [] |
- unexpected = [] |
- while expected: |
- item = expected.pop() |
- try: |
- actual.remove(item) |
- except ValueError: |
- missing.append(item) |
- if ignore_duplicate: |
- for lst in expected, actual: |
- try: |
- while True: |
- lst.remove(item) |
- except ValueError: |
- pass |
- if ignore_duplicate: |
- while actual: |
- item = actual.pop() |
- unexpected.append(item) |
- try: |
- while True: |
- actual.remove(item) |
- except ValueError: |
- pass |
- return missing, unexpected |
- |
- # anything left in actual is unexpected |
- return missing, actual |