Author: Richard Plangger <planri...@gmail.com> Branch: Changeset: r91525:82f30247c9bb Date: 2017-06-05 09:06 -0400 http://bitbucket.org/pypy/pypy/changeset/82f30247c9bb/
Log: fix tests and scatter real_time parameter to other functions needed diff --git a/pypy/module/_vmprof/test/test__vmprof.py b/pypy/module/_vmprof/test/test__vmprof.py --- a/pypy/module/_vmprof/test/test__vmprof.py +++ b/pypy/module/_vmprof/test/test__vmprof.py @@ -60,7 +60,7 @@ import _vmprof gc.collect() # try to make the weakref list deterministic gc.collect() # by freeing all dead code objects - _vmprof.enable(tmpfileno, 0.01, 0, 0, 0) + _vmprof.enable(tmpfileno, 0.01, 0, 0, 0, 0) _vmprof.disable() s = open(self.tmpfilename, 'rb').read() no_of_codes = count(s) @@ -73,7 +73,7 @@ gc.collect() gc.collect() - _vmprof.enable(tmpfileno2, 0.01, 0, 0, 0) + _vmprof.enable(tmpfileno2, 0.01, 0, 0, 0, 0) exec """def foo2(): pass @@ -88,18 +88,18 @@ def test_enable_ovf(self): import _vmprof - raises(_vmprof.VMProfError, _vmprof.enable, 2, 0, 0, 0, 0) - raises(_vmprof.VMProfError, _vmprof.enable, 2, -2.5, 0, 0, 0) - raises(_vmprof.VMProfError, _vmprof.enable, 2, 1e300, 0, 0, 0) - raises(_vmprof.VMProfError, _vmprof.enable, 2, 1e300 * 1e300, 0, 0, 0) + raises(_vmprof.VMProfError, _vmprof.enable, 2, 0, 0, 0, 0, 0) + raises(_vmprof.VMProfError, _vmprof.enable, 2, -2.5, 0, 0, 0, 0) + raises(_vmprof.VMProfError, _vmprof.enable, 2, 1e300, 0, 0, 0, 0) + raises(_vmprof.VMProfError, _vmprof.enable, 2, 1e300 * 1e300, 0, 0, 0, 0) NaN = (1e300*1e300) / (1e300*1e300) - raises(_vmprof.VMProfError, _vmprof.enable, 2, NaN, 0, 0, 0) + raises(_vmprof.VMProfError, _vmprof.enable, 2, NaN, 0, 0, 0, 0) def test_is_enabled(self): import _vmprof tmpfile = open(self.tmpfilename, 'wb') assert _vmprof.is_enabled() is False - _vmprof.enable(tmpfile.fileno(), 0.01, 0, 0, 0) + _vmprof.enable(tmpfile.fileno(), 0.01, 0, 0, 0, 0) assert _vmprof.is_enabled() is True _vmprof.disable() assert _vmprof.is_enabled() is False @@ -108,7 +108,7 @@ import _vmprof tmpfile = open(self.tmpfilename, 'wb') assert _vmprof.get_profile_path() is None - _vmprof.enable(tmpfile.fileno(), 0.01, 0, 0, 0) + _vmprof.enable(tmpfile.fileno(), 0.01, 0, 0, 0, 0) path = _vmprof.get_profile_path() if path != tmpfile.name: with open(path, "rb") as fd1: diff --git a/rpython/rlib/rvmprof/__init__.py b/rpython/rlib/rvmprof/__init__.py --- a/rpython/rlib/rvmprof/__init__.py +++ b/rpython/rlib/rvmprof/__init__.py @@ -33,8 +33,8 @@ return code._vmprof_unique_id return 0 -def enable(fileno, interval, memory=0, native=0): - _get_vmprof().enable(fileno, interval, memory, native) +def enable(fileno, interval, memory=0, native=0, real_time=0): + _get_vmprof().enable(fileno, interval, memory, native, real_time) def disable(): _get_vmprof().disable() diff --git a/rpython/rlib/rvmprof/cintf.py b/rpython/rlib/rvmprof/cintf.py --- a/rpython/rlib/rvmprof/cintf.py +++ b/rpython/rlib/rvmprof/cintf.py @@ -84,7 +84,7 @@ eci = global_eci vmprof_init = rffi.llexternal("vmprof_init", [rffi.INT, rffi.DOUBLE, rffi.INT, rffi.INT, - rffi.CCHARP, rffi.INT], + rffi.CCHARP, rffi.INT, rffi.INT], rffi.CCHARP, compilation_info=eci) vmprof_enable = rffi.llexternal("vmprof_enable", [rffi.INT, rffi.INT, rffi.INT], rffi.INT, diff --git a/rpython/rlib/rvmprof/rvmprof.py b/rpython/rlib/rvmprof/rvmprof.py --- a/rpython/rlib/rvmprof/rvmprof.py +++ b/rpython/rlib/rvmprof/rvmprof.py @@ -124,7 +124,7 @@ self._gather_all_code_objs = gather_all_code_objs @jit.dont_look_inside - def enable(self, fileno, interval, memory=0, native=0): + def enable(self, fileno, interval, memory=0, native=0, real_time=0): """Enable vmprof. Writes go to the given 'fileno'. The sampling interval is given by 'interval' as a number of seconds, as a float which must be smaller than 1.0. @@ -138,12 +138,12 @@ native = 0 # force disabled on Windows lines = 0 # not supported on PyPy currently - p_error = self.cintf.vmprof_init(fileno, interval, lines, memory, "pypy", native) + p_error = self.cintf.vmprof_init(fileno, interval, lines, memory, "pypy", native, real_time) if p_error: raise VMProfError(rffi.charp2str(p_error)) self._gather_all_code_objs() - res = self.cintf.vmprof_enable(memory, native) + res = self.cintf.vmprof_enable(memory, native, real_time) if res < 0: raise VMProfError(os.strerror(rposix.get_saved_errno())) self.is_enabled = True diff --git a/rpython/rlib/rvmprof/src/rvmprof.h b/rpython/rlib/rvmprof/src/rvmprof.h --- a/rpython/rlib/rvmprof/src/rvmprof.h +++ b/rpython/rlib/rvmprof/src/rvmprof.h @@ -27,7 +27,7 @@ #endif RPY_EXTERN char *vmprof_init(int fd, double interval, int memory, - int lines, const char *interp_name, int native); + int lines, const char *interp_name, int native, int real_time); RPY_EXTERN void vmprof_ignore_signals(int); RPY_EXTERN int vmprof_enable(int memory, int native, int real_time); RPY_EXTERN int vmprof_disable(void); diff --git a/rpython/rlib/rvmprof/src/shared/vmprof_common.h b/rpython/rlib/rvmprof/src/shared/vmprof_common.h --- a/rpython/rlib/rvmprof/src/shared/vmprof_common.h +++ b/rpython/rlib/rvmprof/src/shared/vmprof_common.h @@ -6,6 +6,7 @@ #include <stddef.h> #include <time.h> +#include <stdlib.h> #ifndef VMPROF_WINDOWS #include <sys/time.h> diff --git a/rpython/rlib/rvmprof/src/shared/vmprof_main.h b/rpython/rlib/rvmprof/src/shared/vmprof_main.h --- a/rpython/rlib/rvmprof/src/shared/vmprof_main.h +++ b/rpython/rlib/rvmprof/src/shared/vmprof_main.h @@ -295,7 +295,11 @@ if (commit) { commit_buffer(fd, p); } else { +#ifndef RPYTHON_VMPROF fprintf(stderr, "WARNING: canceled buffer, no stack trace was written %d\n", is_enabled); +#else + fprintf(stderr, "WARNING: canceled buffer, no stack trace was written\n"); +#endif cancel_buffer(p); } } _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit