Author: Richard Plangger <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit