Martin von Zweigbergk <martinvonz@google.com> [Fri, 18 Oct 2019 15:14:51 -0700] rev 43295
largefiles: reset "lfstatus" attribute to previous value in "finally"
We were resetting it to False, which means nesting of these overrides
would be incorrect.
Differential Revision: https://phab.mercurial-scm.org/D7137
Martin von Zweigbergk <martinvonz@google.com> [Fri, 18 Oct 2019 14:40:50 -0700] rev 43294
largefiles: add context manager for setting/clearing "lfstatus" attribute
Differential Revision: https://phab.mercurial-scm.org/D7136
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Oct 2019 16:51:26 +0200] rev 43293
py3: adjust expected traceback in test-hook.t
In Python 3, traceback.format_exception() displays the chain of
exceptions so we get extra results from our grep. Also,
ModuleNotFoundError is raised instead of ImportError from Python 3.6.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Oct 2019 16:38:37 +0200] rev 43292
tests: use non-reverse grep in traceback in test-hook.t
This will prepare for updating test output for Python 3.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Oct 2019 11:44:44 +0200] rev 43291
py3: add Python 3 exception output to test-hook.t
This is similar to, e.g.,
3e9c6cef949b.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Oct 2019 12:12:56 +0200] rev 43290
py3: ajust abort message in test-hook.t
Yuya Nishihara <yuya@tcha.org> [Mon, 14 Oct 2019 16:15:19 +0900] rev 43289
rust-cpython: prepare for writing tests that require libpython
What I wanted is to disable the "cpython/extension-module<ver>" feature
while building tests executable, but that seems not doable. Instead,
this patch adds new features dedicated for tests.
The make rule is extracted so that we can easily run cargo tests.
Added a minimal test of ref-sharing as an example. More tests will follow.
Yuya Nishihara <yuya@tcha.org> [Sat, 05 Oct 2019 10:21:34 -0400] rev 43288
rust-cpython: make inner functions and structs of ref_sharing private
Most of these methods were public because they had to be accessible from
macro-generated functions. Some "unsafe" can be removed since we can
guarantee the data consistency across non-public operations.
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Sep 2019 17:05:01 +0900] rev 43287
rust-cpython: keep Python<'a> token in PyRefMut
This just clarifies that the GIL is obtained while PyRefMut is dereferenced,
so there's no need of extra acquire_gil() to drop the reference.
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Sep 2019 17:15:50 +0900] rev 43286
rust-cpython: require GIL to borrow immutable reference from PySharedRefCell
Since the inner value may be leaked, we probably need GIL to guarantee that
there's no data race.
inner(py).borrow() is replaced with inner_shared(py).borrow(), which basically
means any PySharedRefCell data should be accessed through PySharedRef wrapper.