From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 8E68B6DE1888 for ; Sun, 18 Mar 2018 01:02:00 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: 0.23 X-Spam-Level: X-Spam-Status: No, score=0.23 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oKTM1aFZK12z for ; Sun, 18 Mar 2018 01:01:59 -0700 (PDT) Received: from mail-wm0-f47.google.com (mail-wm0-f47.google.com [74.125.82.47]) by arlo.cworth.org (Postfix) with ESMTPS id 95D9B6DE1887 for ; Sun, 18 Mar 2018 01:01:58 -0700 (PDT) Received: by mail-wm0-f47.google.com with SMTP id w128so10069367wmw.0 for ; Sun, 18 Mar 2018 01:01:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=2i4cwMit0hdXrX+nALL47QfrrjgX/tsHN79XvCMifeo=; b=OsNoL1YnhQ2zOmCZceS/IBhjei2dNcyOxH8TU/JGArMhXVExT1UEIJwyK/+rK5exQo Sk0cXgPP/j1SrKsmrXfrYzNKriU5nnRsPXaLVBznwFKtfFe+p2y4f/XxQateivIhWK4T 8TD7kwqPSXg5vwO/hLZtHhAQuQ2G/XgiGTxbAHfeX3uZLmNYCYuAWwoa8+qHBoyGtsER GpGwEtEI5Vj5dFEuJUBi0bRaMBt3nVrXuj6dlbbeTLXfqx8E7pbVF60rqpw6uCiUFvU4 EVIk8t6V9LVwY2u23TyAcJ0SIhzSn3KfUvetDBA6JVV8pzT20o1Ds2vBmDIQiWXew2SL uJfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:in-reply-to:references :date:message-id:mime-version; bh=2i4cwMit0hdXrX+nALL47QfrrjgX/tsHN79XvCMifeo=; b=KMKRGXlH4ZAxCxkTVUFuKw2Md3bnfpiRo0xlwKw2gdzKKQzVjLdEU67r+v1h8nyjVi C7JKbO+EfdS1XlkoJFbWioa8JyA4okqnlYgGwlU+JNsoJvAZIlUvhWnNbIt66L7JcTeA 0K34w52OlQiv1FO/7BZgYczc6KCYzNKtB3ICjNKKJ0Mafx0xLr69BxoBoMbxd5R8VvPt LAXRF7/Ol8JTzeIR0FO+ZOLxAenetJww4HSf7CBHN4lFMrzz+fE8QIo8M9M0fkwUrplF ckSFlrUZQXOn5S8uvI5yjsl0wS14YbJJz3LIkCZnDIDD4ksQK2frVwZPJnKTZ9gwQkl8 7UUA== X-Gm-Message-State: AElRT7EmOjAPmjvJmjsOz6O4Q6kG6Vmgh0T8Pomm4IcHrbni3VIeFoHZ QSOBrHxOuduzlWUqeJzYx/I= X-Google-Smtp-Source: AG47ELtBcasxaDedjeqzdxVA1BvgyHP4EGY8dmyW9eSEkgWkx1TJQeKIBiVuXtcmxBpX/M+A5cE7zw== X-Received: by 10.80.184.133 with SMTP id l5mr8775042ede.98.1521360115530; Sun, 18 Mar 2018 01:01:55 -0700 (PDT) Received: from devork.be ([2a02:120b:c3fb:5520:532e:994c:e79f:c82a]) by smtp.gmail.com with ESMTPSA id g17sm6875995edh.55.2018.03.18.01.01.54 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 18 Mar 2018 01:01:54 -0700 (PDT) Sender: Floris Bruynooghe Received: (nullmailer pid 164480 invoked by uid 469025); Sun, 18 Mar 2018 08:01:53 -0000 From: Floris Bruynooghe To: Daniel Kahn Gillmor , David Bremner , "W. Trevor King" , Justus Winter <4winter@informatik.uni-hamburg.de> Cc: notmuch@notmuchmail.org Subject: Re: Crash with Python bindings In-Reply-To: <87muz7wsnv.fsf@fifthhorseman.net> References: <5694CA65.8010400@fastmail.net> <20160112102329.4269.20741@thinkbox.jade-hamburg.de> <20160112185107.GA21580@odin.tremily.us> <87k1ucp6xb.fsf@tethera.net> <87muz7wsnv.fsf@fifthhorseman.net> Date: Sun, 18 Mar 2018 09:01:53 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Mar 2018 08:02:00 -0000 Daniel Kahn Gillmor writes: > On Fri 2018-03-16 19:30:37 +0100, Floris Bruynooghe wrote: >> If someone can hook pytest runs with various python versions into the >> notmuch test suit I'd be very much obliged and probably have another go >> at this as it's still an interesting problem and gives a nice way >> forward. > > I don't really know what this request means -- so maybe that means that > i'm not the right person for the task, which is fine. > > but it's also possible that the right person for the task *also* doesn't > know what you're asking for, so if you could elaborate a bit further > i think that would be super helpful :) Fair enough :) Here a somewhat more long-form version of this: Before even attempting to refactor the existing bindings to use cffi as a backend instead off ctypes and/or adding the changes needed to track the lifetime of objects correctly I would like to be able to write full unitttest-level tests for the bindings to be able to guarantee that no user-level APIs are broken. In my version of the bindings I did this the traditional Python way: using pytest for writing unittest and using tox to invoke the tests for the various supported versions of python. One of the feedback items I got from the patch I sent last time was that the project would be reluctant to adopt this and would like to avoid virtualenv and pip with their behaviour of downloading things over the network. Instead wishing for it to use a system python which should have the available tools already installed (i.e. pytest). And all this just integrated in the existing test suite. So my last attempt at this looks like I made a test/T391-pytest.sh file with the idea of running a subtest for each python version, with the subtest being a ``pythonX.Y -m pytest bindings/python/tests/`` so it'd run the entire test. To be nice this also needs to be hooked up so that the subtests get skipped when a python version is not available, or is missing pytest itself. So while trying to figure this out is where I got distracted last time and started working more on other things. Kind Regards, Floris