bpo-35513, unittest: TextTestRunner uses time.perf_counter() (GH-11180)


TextTestRunner of unittest.runner now uses time.perf_counter() rather
than time.time() to measure the execution time of a test: time.time()
can go backwards, whereas time.perf_counter() is monotonic.

Similar change made in libregrtest, pprint and random.
(cherry picked from commit 8db5b54463118e5eb60cb3582e3108623f01f5df)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
diff --git a/Lib/random.py b/Lib/random.py
index 8e94064..bb6a05f 100644
--- a/Lib/random.py
+++ b/Lib/random.py
@@ -706,14 +706,14 @@
     sqsum = 0.0
     smallest = 1e10
     largest = -1e10
-    t0 = time.time()
+    t0 = time.perf_counter()
     for i in range(n):
         x = func(*args)
         total += x
         sqsum = sqsum + x*x
         smallest = min(x, smallest)
         largest = max(x, largest)
-    t1 = time.time()
+    t1 = time.perf_counter()
     print(round(t1-t0, 3), 'sec,', end=' ')
     avg = total/n
     stddev = _sqrt(sqsum/n - avg*avg)