fotis has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 240 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 240 seconds]
<
mattip>
space.audit(str, list) accepts a list of W_Root objects,
<
mattip>
but sometimes we use unwrap_spec
<
mattip>
so we have to re-wrap the args to call audit, even if there is no audithook
ronan has joined #pypy
fotis has joined #pypy
ronan has quit [Ping timeout: 250 seconds]
jkovac10 has joined #pypy
jkovac1 has quit [Ping timeout: 252 seconds]
jkovac10 is now known as jkovac1
<
cfbolz>
mattip: usually we remove the unwrap spec in such cases
<
cfbolz>
And do the unwrapping manually
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 240 seconds]
<
mattip>
in this case there is logic to modify the default values depending on other values,
<
mattip>
so anyway we need the int
<
mattip>
the audit hook is called after the values are modified
fotis has joined #pypy
<
cfbolz>
mattip: right
* mattip
looking at audit hooks for getter/setters for specific objects
<
mattip>
there are audit events when attributes are read from code objects tb_frame, ag_code, cr_code, gi_code
<
mattip>
and when
__code__ is set
<
mattip>
grep /PySys_Audit(.*"object/ cpython/*/*.c
fotis has quit [Ping timeout: 248 seconds]
<
mattip>
yields 15 locations
<
mattip>
vimgrep /PySys_Audit(.*"object/ cpython/*/*.c
<
cfbolz>
mattip: the audit hooks are very explicitly implementation defined, btw
<
cfbolz>
but yes, I still think it makes sense to try to match cpython
<
mattip>
where we can...
<
mattip>
like always
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
il_ratto is now known as the_rat
<
cfbolz>
test_named_expressions
*finally* passes on my branch
the_rat has joined #pypy
<
cfbolz>
and now I am dealing with this :-(
fotis has joined #pypy
<
mattip>
ahh, this is for the problem where pypy never sees the syntax error in something like "if 0: <syntax error>"?
<
cfbolz>
yes, in general, that's what I'm trying to address
<
cfbolz>
but the paste is about a depth limit that we simply don't have
<
cfbolz>
so in pypy this code is simply run, leading to an infinite loop
<
mattip>
right, sorry for the cross-posting
<
cfbolz>
mattip: I think the approach is simply to skip the test, right?
<
cfbolz>
not sure how one does that with doctests
<
mattip>
where is the test?
<
cfbolz>
test_syntax
<
mattip>
not sure how to skip it. Maybe something like:
<
mattip>
- switch the ">>>" prompt to something else like "<<<"
<
mattip>
- put a regex before the "support.run_doctest" at the end of the file to switch it back on CPython
<
mattip>
by modifying "test_syntax.__doc__"
<
cfbolz>
or I turn it into a regular test
<
mattip>
probably simpler
<
mattip>
but the merge when updating stdlib will be harder
<
nimaje>
I think adding # doctest: +SKIP to the first line of the block should work
fotis has quit [Ping timeout: 250 seconds]
<
mattip>
someone looking for a easy cffi / python fix could look at
<
mattip>
where the names of the hashlib algorithms were normalized
<
mattip>
our _hashlib is in lib_pypy/_hashlib/__init__.py, and it uses the cffi implementation of _ssl
<
cfbolz>
mattip: I could be a good citizen and even submit it as a pr
fotis has joined #pypy
ronan has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
ronan has quit [Ping timeout: 240 seconds]
yuiza_ has joined #pypy
ronan has joined #pypy
<
mattip>
cfbolz: +1. It seems cpython is willing to look at these kinds of things
fotis has joined #pypy
Dejan has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
ronan has quit [Ping timeout: 252 seconds]
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 240 seconds]
Julian has joined #pypy
lritter has joined #pypy
Julian has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
Julian has joined #pypy
yuiza_ has quit [Quit: Connection closed for inactivity]
fotis has quit [Ping timeout: 250 seconds]
Julian has quit [Quit: leaving]
fotis has joined #pypy
stkrdknmibalz has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 240 seconds]
fotis has joined #pypy
Ododo has joined #pypy
Dejan has quit [Quit: Leaving]
fotis has quit [Ping timeout: 248 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
ronan has joined #pypy
fotis has joined #pypy
fotis has quit [Ping timeout: 240 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 248 seconds]
fotis has joined #pypy
ronan has quit [Ping timeout: 252 seconds]