[pypy-commit] pypy default: kill overly complicated apptest that duplicates lib-python

rlamy pypy.commits at gmail.com
Fri Aug 9 12:08:53 EDT 2019


Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: 
Changeset: r97126:9f3e40bec8d3
Date: 2019-08-09 17:08 +0100
http://bitbucket.org/pypy/pypy/changeset/9f3e40bec8d3/

Log:	kill overly complicated apptest that duplicates lib-python

diff --git a/pypy/module/_lsprof/test/test_cprofile.py b/pypy/module/_lsprof/test/test_cprofile.py
--- a/pypy/module/_lsprof/test/test_cprofile.py
+++ b/pypy/module/_lsprof/test/test_cprofile.py
@@ -4,7 +4,6 @@
     }
 
     def setup_class(cls):
-        cls.w_expected_output = cls.space.wrap(expected_output)
         cls.w_file = cls.space.wrap(__file__)
 
     def test_repr(self):
@@ -167,153 +166,3 @@
         prof.disable()
         stats = prof.getstats()
         assert len(stats) == 2
-
-    def test_use_cprofile(self):
-        import sys, os
-        # XXX this is evil trickery to walk around the fact that we don't
-        #     have __file__ at app-level here
-        sys.path.insert(0, os.path.dirname(self.file))
-        try:
-            import re
-            from cProfile import Profile
-            from profilee import testfunc, timer
-
-            methodnames = ['print_stats', 'print_callers', 'print_callees']
-
-            def do_profiling(cls):
-                results = []
-                prof = cls(timer, 0.001)
-                start_timer = timer()
-                prof.runctx("testfunc()", {'testfunc':testfunc}, locals())
-                results.append(timer() - start_timer)
-                for methodname in methodnames:
-                    import pstats
-                    from StringIO import StringIO
-                    s = StringIO()
-                    stats = pstats.Stats(prof, stream=s)
-                    stats.strip_dirs().sort_stats("stdname")
-                    getattr(stats, methodname)()
-                    results.append(s.getvalue())
-                return results, prof
-
-            res, prof = do_profiling(Profile)
-            assert res[0] == 1000
-            for i, method in enumerate(methodnames):
-                got = res[i + 1]
-                expected = self.expected_output[method]
-                patterns = expected.splitlines()
-                lines = set(got.splitlines())
-                lines.remove('') # ignore blank lines
-                for pattern in patterns:
-                    if not pattern:
-                        continue # ignore blank lines
-                    pattern = pattern.replace('(', '\\(')
-                    pattern = pattern.replace(')', '\\)')
-                    pattern = pattern.replace('?', '\\?')
-                    pattern = pattern.replace(r'\\?', '?')
-                    pattern = pattern.replace(r'\\(', '(')
-                    pattern = pattern.replace(r'\\)', ')')
-                    repattern = re.compile('^' + pattern + '$')
-                    for line in lines:
-                        if repattern.match(line):
-                            lines.remove(line)
-                            break
-                    else:
-                        print('NOT FOUND: %s' % pattern.rstrip('\n'))
-                        print('--- GOT ---')
-                        print(got)
-                        print('')
-                        print('--- EXPECTED ---')
-                        print(expected)
-                        assert False
-                assert not lines
-        finally:
-            sys.path.pop(0)
-
-
-expected_output = {}
-expected_output['print_stats'] = """\
-         126 function calls (106 primitive calls) in 1.000 seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    1.000    1.000 <string>:1(<module>)
-       28    0.028    0.001    0.028    0.001 profilee.py:110(__getattr__)
-        1    0.270    0.270    1.000    1.000 profilee.py:25(testfunc)
-     23/3    0.150    0.007    0.170    0.057 profilee.py:35(factorial)
-       20    0.020    0.001    0.020    0.001 profilee.py:48(mul)
-        2    0.040    0.020    0.600    0.300 profilee.py:55(helper)
-        4    0.116    0.029    0.120    0.030 profilee.py:73(helper1)
-        2    0.000    0.000    0.140    0.070 profilee.py:84(helper2_indirect)
-        8    0.312    0.039    0.400    0.050 profilee.py:88(helper2)
-        8    0.064    0.008    0.080    0.010 profilee.py:98(subhelper)
-        4    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.012    0.001 {hasattr}
-        8    0.000    0.000    0.000    0.000 {range}
-        4    0.000    0.000    0.000    0.000 {sys.exc_info}
-
-
-"""
-
-expected_output['print_callers'] = """\
-   Ordered by: standard name
-
-Function                     *    was called by...
-                             *        ncalls  tottime  cumtime
-<string>:1(<module>)         *    <-
-profilee.py:110(__getattr__) *    <-      16    0.016    0.016  profilee.py:98(subhelper)
-                             *            12    0.012    0.012  {hasattr.*}
-profilee.py:25(testfunc)     *    <-       1    0.270    1.000  <string>:1(<module>)
-profilee.py:35(factorial)    *    <-       1    0.014    0.130  profilee.py:25(testfunc)
-                             *          20/3    0.130    0.147  profilee.py:35(factorial)
-                             *             2    0.006    0.040  profilee.py:84(helper2_indirect)
-profilee.py:48(mul)          *    <-      20    0.020    0.020  profilee.py:35(factorial)
-profilee.py:55(helper)       *    <-       2    0.040    0.600  profilee.py:25(testfunc)
-profilee.py:73(helper1)      *    <-       4    0.116    0.120  profilee.py:55(helper)
-profilee.py:84(helper2_indirect) *<-       2    0.000    0.140  profilee.py:55(helper)
-profilee.py:88(helper2)      *    <-       6    0.234    0.300  profilee.py:55(helper)
-                             *             2    0.078    0.100  profilee.py:84(helper2_indirect)
-profilee.py:98(subhelper)    *    <-       8    0.064    0.080  profilee.py:88(helper2)
-{.*append.*}  * <-       4    0.000    0.000  profilee.py:73(helper1)
-{.*disable.*} * <-
-{hasattr.*}           * <-       4    0.000    0.004  profilee.py:73(helper1)
-                      *          8    0.000    0.008  profilee.py:88(helper2)
-{range.*}             * <-       8    0.000    0.000  profilee.py:98(subhelper)
-{sys.exc_info.*}      * <-       4    0.000    0.000  profilee.py:73(helper1)
-
-
-"""
-expected_output['print_callees'] = """\
-   Ordered by: standard name
-
-Function                         * called...
-                                 *     ncalls  tottime  cumtime
-<string>:1(<module>)             * ->       1    0.270    1.000  profilee.py:25(testfunc)
-profilee.py:110(__getattr__)     * ->
-profilee.py:25(testfunc)         * ->       1    0.014    0.130  profilee.py:35(factorial)
-                                 *          2    0.040    0.600  profilee.py:55(helper)
-profilee.py:35(factorial)        * ->    20/3    0.130    0.147  profilee.py:35(factorial)
-                                 *         20    0.020    0.020  profilee.py:48(mul)
-profilee.py:48(mul)              * ->
-profilee.py:55(helper)           * ->       4    0.116    0.120  profilee.py:73(helper1)
-                                 *          2    0.000    0.140  profilee.py:84(helper2_indirect)
-                                 *          6    0.234    0.300  profilee.py:88(helper2)
-\\(profilee.py:73(helper1)\\)\\?          * ..       4    0.000    0.000  {.*append.*}
-\\(profilee.py:73(helper1)\\)\\?          * ..       4    0.000    0.004  {.*hasattr.*}
-                                 *          4    0.000    0.000  {sys.exc_info.*}
-profilee.py:84(helper2_indirect) * ->       2    0.006    0.040  profilee.py:35(factorial)
-                                 *          2    0.078    0.100  profilee.py:88(helper2)
-profilee.py:88(helper2)          * ->       8    0.064    0.080  profilee.py:98(subhelper)
-                                 *          8    0.000    0.008  {hasattr.*}
-profilee.py:98(subhelper)        * ->      16    0.016    0.016  profilee.py:110(__getattr__)
-                                 *          8    0.000    0.000  {range.*}
-{.*append.*}  * ->
-{.*disable.*} * ->
-{hasattr.*}           * ->      12    0.012    0.012  profilee.py:110(__getattr__)
-{range.*}             * ->
-{sys.exc_info.*}      * ->
-
-
-"""


More information about the pypy-commit mailing list