• Review of Debian package pystray

    From =?UTF-8?Q?Louis-Philippe_V=c3=a9ron@21:1/5 to Claudius Heine on Sat Oct 22 05:30:01 2022
    Copy: debian-python@lists.debian.org (debian-python)

    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------0705V3RZP0M1Uw370P0AqIID
    Content-Type: multipart/mixed; boundary="------------2m6l5yl83UIchihGcbhh0Y0c"

    --------------2m6l5yl83UIchihGcbhh0Y0c
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    SGVsbG8sDQoNClRoaXMgaXMgbXkgcmV2aWV3IG9mIHRoZSBweXN0cmF5IHBhY2thZ2UgeW91 IGFza2VkIHRoZSBEZWJpYW4gUHl0aG9uIA0KVGVhbSB0byBzcG9uc29yIGluIHRoZSBEZWJp YW4gYXJjaGl2ZS4NCg0KMS4gSSBkb3VidCBkL1JFQURNRS5zb3VyY2UgaXMgbmVlZGVkLCBh cyB0aGlzIGlzIGEgdGVhbS1tYWludGFpbmVkIA0KcGFja2FnZSBhbmQgbW9zdCBvZiB0aGF0 IGluZm8gaXMgaW4gdGhlIFBvbGljeSA6KQ0KDQoyLiBpbiBkL3J1bGVzLCB5b3UgYXJlIHVz aW5nICJvdmVycmlkZV9kaF9zcGhpbnhkb2MiIGFuZCB0aGVuIGNhbGxpbmcgDQpkaF9zcGhp bnhkb2MuDQoNCllvdSBzaG91bGQgaW5zdGVhZCB1c2UgImV4ZWN1dGVfYmVmb3JlX2RoX3Nw aGlueGRvYyIuDQoNCjMuIFlvdSBhcmUgbm90IHJ1bm5pbmcgYW55IHVwc3RyZWFtIHRlc3Rz LCBuZWl0aGVyIGF0IGJ1aWxkIG5vdCBhcyANCmF1dG9wa2d0ZXN0cy4NCg0KVGVzdHMgYXJl IHZlcnkgaW1wb3J0YW50LiBIb3cgZG8geW91IGtub3cgeW91ciBwYWNrYWdlIGlzbid0IGJy b2tlbiwgb3IgDQpoYXMgbm90IGJlZW4gYnJva2VuIGJ5IGEgY2hhbmdlIGluIHRoZSBhcmNo aXZlPyBPbmx5IHRlc3RzIGNhbiB0ZWxsIHlvdSANCnRoYXQuDQoNCkkgc2VlIHlvdSd2ZSBu b3RlZCB0aGF0IHNvbWUgdGVzdHMgcmVxdWlyZSB1c2VyIGNvbmZpcm1hdGlvbnMgYW5kIGl0 IA0KaW5kZWVkIHNlZW1zIHRvIGJlIHRoZSBjYXNlIGZvciBtb3N0IG9mIHRoZSBvbmVzIGlu IGljb25fdGVzdHMucHkuDQoNCiogaXMgdGhlcmUgYSB3YXkgdG8gYnlwYXNzIHRoaXMgb3Ig YXJlIHRob3NlIHRlc3RzIHNpbXBseSBub3QgcmVsZXZhbnQgDQppbiBhIGF1dG9tYXRlZCBl bnZpcm9ubWVudD8NCg0KKiB3aGF0IGFib3V0IG1lbnVfZGVzY3JpcHRvcl90ZXN0cy5weT8g SSBnYXZlIGl0IGEgdmVyeSBjdXJzb3J5IGxvb2ssIA0KYnV0IGl0IGRvZXNuJ3Qgc2VlbSB0 byB1c2UgdGhlIGNvbmZpcm0oKSBmdW5jdGlvbi4gVHJ5aW5nIHRvIHJ1biBpdCANCmdpdmVz IG1lIGFuICAiWGxpYi5lcnJvci5EaXNwbGF5TmFtZUVycm9yOiBCYWQgZGlzcGxheSBuYW1l IiBlcnJvciANCnRob3VnaCwgc28gY2hhbmNlcyBhcmUgeW91J2QgbmVlZCB0byBydW4gdGVz dHMgd2l0aCB4dmZiIHRvIG1vY2sgYW4gWCANCnNlc3Npb24uDQoNCk5vdGUgdGhhdCBpdCBp cyBteSBwZXJzb25hbCBwb2xpY3kgbm90IHRvIHNwb25zb3IgcGFja2FnZXMgdGhhdCBkbyBu b3QgDQpydW4gdXBzdHJlYW0gdGVzdHMuIEkgbWFrZSBzb21lIGV4Y2VwdGlvbnMgZm9yIHVu dXN1YWwgY2FzZXMgKHRoaXMgbWlnaHQgDQpiZSBvbmU/KSwgYnV0IHJhcmVseS4NCg0KU29t ZSBvdGhlciBwZW9wbGUgbWlnaHQgbm90IGJlIGFzIHJpZ2lkIGFzIEkgYW0gb24gdGhpcywg YnV0IEkgdGhvdWdodCANCnlvdSBzaG91bGQga25vdy4NCg0KLS0tLS0tLS0tLS0tLS0tLS0t LQ0KDQpUaGF0J3MgaXQhIEkndmUgcmVtb3ZlZCB5b3VyIHBhY2thZ2UgZnJvbSB0aGUgc3Bv bnNvciBxdWV1ZSBmb3Igbm93LCBidXQgDQpmZWVsIGZyZWUgdG8gcmUtYWRkIGl0IHdoZW4g eW91IGZlZWwgbGlrZSB5b3UndmUgZGVhbHQgd2l0aCBteSByZXZpZXcuDQoNCkFwYXJ0IGZy b20gdGhlIHRlc3QgcHJvYmxlbSwgdGhpcyBpcyBhIHByZXR0eSBnb29kIHBhY2thZ2UhDQoN ClRoYW5rcyBmb3IgeW91IGNvbnRyaWJ1dGlvbiB0byBEZWJpYW4uDQoNCi0tIA0KICAg4qKA 4qO04qC+4qC74qK24qOm4qCADQogICDio77ioIHioqDioJLioIDio7/ioYEgIExvdWlzLVBo aWxpcHBlIFbDqXJvbm5lYXUNCiAgIOKiv+KhhOKgmOKgt+KgmuKgiyAgIHBvbGxvQGRlYmlh bi5vcmcgLyB2ZXJvbm5lYXUub3JnDQogICDioIjioLPio4QNCg== --------------2m6l5yl83UIchihGcbhh0Y0c
    Content-Type: application/pgp-keys; name="OpenPGP_0xE1E5457C8BAD4113.asc" Content-Disposition: attachment; filename="OpenPGP_0xE1E5457C8BAD4113.asc" Content-Description: OpenPGP public key
    Content-Transfer-Encoding: quoted-printable

    -----BEGIN PGP PUBLIC KEY BLOCK-----

    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 +BzH/o7byibkUa4O
    =hixQ
    -----END PGP PUBLIC KEY BLOCK-----

    --------------2m6l5yl83UIchihGcbhh0Y0c--

    --------------0705V3RZP0M1Uw370P0AqIID--

    -----BEGIN PGP SIGNATURE-----

    iHUEARYKAB0WIQTKp0AHB6gWsCAvw830JXpQshz6hQUCY1NjXwAKCRD0JXpQshz6 hey6AP9wDiF9XSN1oSoJF9dHqZpptAjL8zc2gmI/lJn+ufvk0wD8DyvWxT029mJV U5K/3KuhAtZnyXqIJewD4D0UkAr83wk=
    =ajKv
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Louis-Philippe_V=c3=a9ron@21:1/5 to Claudius Heine on Mon Nov 7 18:50:02 2022
    Copy: debian-python@lists.debian.org (debian-python)

    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------c33oBnXOAjB2nYMx8mJOR1RS
    Content-Type: multipart/mixed; boundary="------------00EyhHlP3KBB9lRXcy5Ar4gT"

    --------------00EyhHlP3KBB9lRXcy5Ar4gT
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    T24gMjAyMi0xMC0yMSAyMyBoIDI4LCBMb3Vpcy1QaGlsaXBwZSBWw6lyb25uZWF1IHdyb3Rl Og0KPiBIZWxsbywNCj4gDQo+IFRoaXMgaXMgbXkgcmV2aWV3IG9mIHRoZSBweXN0cmF5IHBh Y2thZ2UgeW91IGFza2VkIHRoZSBEZWJpYW4gUHl0aG9uIA0KPiBUZWFtIHRvIHNwb25zb3Ig aW4gdGhlIERlYmlhbiBhcmNoaXZlLg0KPiANCj4gMS4gSSBkb3VidCBkL1JFQURNRS5zb3Vy Y2UgaXMgbmVlZGVkLCBhcyB0aGlzIGlzIGEgdGVhbS1tYWludGFpbmVkIA0KPiBwYWNrYWdl IGFuZCBtb3N0IG9mIHRoYXQgaW5mbyBpcyBpbiB0aGUgUG9saWN5IDopDQo+IA0KPiAyLiBp biBkL3J1bGVzLCB5b3UgYXJlIHVzaW5nICJvdmVycmlkZV9kaF9zcGhpbnhkb2MiIGFuZCB0 aGVuIGNhbGxpbmcgDQo+IGRoX3NwaGlueGRvYy4NCj4gDQo+IFlvdSBzaG91bGQgaW5zdGVh ZCB1c2UgImV4ZWN1dGVfYmVmb3JlX2RoX3NwaGlueGRvYyIuDQo+IA0KPiAzLiBZb3UgYXJl IG5vdCBydW5uaW5nIGFueSB1cHN0cmVhbSB0ZXN0cywgbmVpdGhlciBhdCBidWlsZCBub3Qg YXMgDQo+IGF1dG9wa2d0ZXN0cy4NCj4gDQo+IFRlc3RzIGFyZSB2ZXJ5IGltcG9ydGFudC4g SG93IGRvIHlvdSBrbm93IHlvdXIgcGFja2FnZSBpc24ndCBicm9rZW4sIG9yIA0KPiBoYXMg bm90IGJlZW4gYnJva2VuIGJ5IGEgY2hhbmdlIGluIHRoZSBhcmNoaXZlPyBPbmx5IHRlc3Rz IGNhbiB0ZWxsIHlvdSANCj4gdGhhdC4NCj4gDQo+IEkgc2VlIHlvdSd2ZSBub3RlZCB0aGF0 IHNvbWUgdGVzdHMgcmVxdWlyZSB1c2VyIGNvbmZpcm1hdGlvbnMgYW5kIGl0IA0KPiBpbmRl ZWQgc2VlbXMgdG8gYmUgdGhlIGNhc2UgZm9yIG1vc3Qgb2YgdGhlIG9uZXMgaW4gaWNvbl90 ZXN0cy5weS4NCj4gDQo+ICogaXMgdGhlcmUgYSB3YXkgdG8gYnlwYXNzIHRoaXMgb3IgYXJl IHRob3NlIHRlc3RzIHNpbXBseSBub3QgcmVsZXZhbnQgDQo+IGluIGEgYXV0b21hdGVkIGVu dmlyb25tZW50Pw0KPiANCj4gKiB3aGF0IGFib3V0IG1lbnVfZGVzY3JpcHRvcl90ZXN0cy5w eT8gSSBnYXZlIGl0IGEgdmVyeSBjdXJzb3J5IGxvb2ssIA0KPiBidXQgaXQgZG9lc24ndCBz ZWVtIHRvIHVzZSB0aGUgY29uZmlybSgpIGZ1bmN0aW9uLiBUcnlpbmcgdG8gcnVuIGl0IA0K PiBnaXZlcyBtZSBhbsKgICJYbGliLmVycm9yLkRpc3BsYXlOYW1lRXJyb3I6IEJhZCBkaXNw bGF5IG5hbWUiIGVycm9yIA0KPiB0aG91Z2gsIHNvIGNoYW5jZXMgYXJlIHlvdSdkIG5lZWQg dG8gcnVuIHRlc3RzIHdpdGggeHZmYiB0byBtb2NrIGFuIFggDQo+IHNlc3Npb24uDQo+IA0K PiBOb3RlIHRoYXQgaXQgaXMgbXkgcGVyc29uYWwgcG9saWN5IG5vdCB0byBzcG9uc29yIHBh Y2thZ2VzIHRoYXQgZG8gbm90IA0KPiBydW4gdXBzdHJlYW0gdGVzdHMuIEkgbWFrZSBzb21l IGV4Y2VwdGlvbnMgZm9yIHVudXN1YWwgY2FzZXMgKHRoaXMgbWlnaHQgDQo+IGJlIG9uZT8p LCBidXQgcmFyZWx5Lg0KPiANCj4gU29tZSBvdGhlciBwZW9wbGUgbWlnaHQgbm90IGJlIGFz IHJpZ2lkIGFzIEkgYW0gb24gdGhpcywgYnV0IEkgdGhvdWdodCANCj4geW91IHNob3VsZCBr bm93Lg0KPiANCj4gLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiANCj4gVGhhdCdzIGl0ISBJJ3Zl IHJlbW92ZWQgeW91ciBwYWNrYWdlIGZyb20gdGhlIHNwb25zb3IgcXVldWUgZm9yIG5vdywg YnV0IA0KPiBmZWVsIGZyZWUgdG8gcmUtYWRkIGl0IHdoZW4geW91IGZlZWwgbGlrZSB5b3Un dmUgZGVhbHQgd2l0aCBteSByZXZpZXcuDQo+IA0KPiBBcGFydCBmcm9tIHRoZSB0ZXN0IHBy b2JsZW0sIHRoaXMgaXMgYSBwcmV0dHkgZ29vZCBwYWNrYWdlIQ0KPiANCj4gVGhhbmtzIGZv ciB5b3UgY29udHJpYnV0aW9uIHRvIERlYmlhbi4NCj4gDQoNCkhlbGxvLA0KDQpJJ3ZlIHRh a2VuIGFub3RoZXIgbG9vayBhdCBweXN0cmF5Lg0KDQpGaXJzdCBvZiBhbGwsIG5leHQgdGlt ZSwgcGxlYXNlIGRvbid0IGZvcmNlIHB1c2gsIGl0IG1hZGUgaXQgaGFyZGVyIHRvIA0Ka25v dyB3aGF0IGhhZCBjaGFuZ2VkIHNpbmNlIG15IGxhc3QgcmV2aWV3IGFuZCBJIGhhZCB0byBz dGFydCBmcm9tIA0Kc2NyYXRjaCA6KA0KDQpUaGUgYXV0b3BrZ3Rlc3RzIGFyZSBjdXJyZW50 bHkgZmFpbGluZy4gSSBzdXNwZWN0IHlvdSBhcmUgbm90IHJ1bm5pbmcgDQp0aG9zZSBsb2Nh bGx5IHdoZW4geW91IGFyZSBidWlsZGluZyB0aGUgcGFja2FnZT8gSXQncyBmYWlybHkgZWFz eSB0byBkbyANCm9uIHNidWlsZCBbMV0gYW5kIEkgd291bGQgaGlnaGx5IHJlY29tbWVuZCB5 b3UgYWRkIHRoaXMgdG8geW91ciBzdGFuZGFyZCANCmJ1aWxkIHByb2Nlc3MuDQoNCkluIGFu eSBjYXNlLCBJIGdldCB0aGUgZm9sbG93aW5nIGVycm9yOg0KDQpFICAgWGxpYi5lcnJvci5E aXNwbGF5TmFtZUVycm9yOiBCYWQgZGlzcGxheSBuYW1lICIiDQoNCkkgc2VlIHlvdSBwYXRj aGVkIHRoZSB1cHN0cmVhbSBjb2RlIHRvIGJlIGFibGUgdG8gcnVuIHRoZSB0ZXN0cyBhdCBi dWlsZCANCihrdWRvcykuIEkgc3VzcGVjdCBlaXRoZXIgZGVwZW5kZW5jaWVzIGFyZSBtaXNz aW5nIGluIHRoZSBhdXRvcGtndGVzdCwgDQpvciB5b3UgYXJlbid0IHBhc3NpbmcgeW91ciBU RVNUX1NLSVBfSU5URVJBQ1RJVkUgdmFyIHRoZXJlLg0KDQpJbiBlaXRoZXIgY2FzZSwgdGhv c2UgdGVzdHMgbmVlZCB0byBwYXNzLCBvdGhlcndpc2UgdGhlIHBhY2thZ2Ugd29uJ3QgDQpt aWdyYXRlIHRvIHRlc3RpbmcuDQoNCk5vdGUgdGhhdDoNCg0KMS4gWW91IGhhdmUgZHVwbGlj YXRlIGJ1aWxkLWRlcCBlbnRyaWVzIGluIGQvY29udHJvbA0KMi4gWW91ciBkL3NhbHNhLWNp LnltbCBmaWxlIGlzIGN1cnJlbnRseSBza2lwcGluZyBhdXRvcGtndGVzdHMNCg0KSSB3b3Vs ZCd2ZSBoYXZlIGZpeGVkIHRob3NlIGJlZm9yZSB1cGxvYWRpbmcsIGJ1dCB3aXRoIHRoZSBm YWlsaW5nIA0KYXV0b3BrZ3Rlc3RzIGl0IHNlZW1zIHdlJ2xsIG5lZWQgYW5vdGhlciBiYWNr LWFuZC1mb3J0aCByb3VuZCBhbnl3YXkuDQoNCkNoZWVycywNCg0KWzFdOiBMb29rIGZvciAi cnVuX2F1dG9wa2d0ZXN0ID0gMSIgaW4gL2V0Yy9zYnVpbGQvc2J1aWxkLmNvbmYNCg0KLS0g DQogICDiooDio7TioL7ioLviorbio6bioIANCiAgIOKjvuKggeKioOKgkuKggOKjv+KhgSAg TG91aXMtUGhpbGlwcGUgVsOpcm9ubmVhdQ0KICAg4qK/4qGE4qCY4qC34qCa4qCLICAgcG9s bG9AZGViaWFuLm9yZyAvIHZlcm9ubmVhdS5vcmcNCiAgIOKgiOKgs+KjhA0KDQo= --------------00EyhHlP3KBB9lRXcy5Ar4gT
    Content-Type: application/pgp-keys; name="OpenPGP_0xE1E5457C8BAD4113.asc" Content-Disposition: attachment; filename="OpenPGP_0xE1E5457C8BAD4113.asc" Content-Description: OpenPGP public key
    Content-Transfer-Encoding: quoted-printable

    -----BEGIN PGP PUBLIC KEY BLOCK-----

    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 +BzH/o7byibkUa4O
    =hixQ
    -----END PGP PUBLIC KEY BLOCK-----

    --------------00EyhHlP3KBB9lRXcy5Ar4gT--

    --------------c33oBnXOAjB2nYMx8mJOR1RS--

    -----BEGIN PGP SIGNATURE-----

    iHUEARYKAB0WIQTKp0AHB6gWsCAvw830JXpQshz6hQUCY2lEVwAKCRD0JXpQshz6 hcckAQCfnSfT/PJAliW7G2swbOgkozNeoZSiBaxukYHrnTS2agEAnltA05q6QmYr C7EHyR6qeHzfUofcH9vbKSAbdYvU4gc=
    =qV+P
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Claudius Heine@21:1/5 to All on Tue Nov 8 15:50:02 2022
    Hi,

    On 2022-11-07 18:45, Louis-Philippe Véronneau wrote:
    On 2022-10-21 23 h 28, Louis-Philippe Véronneau wrote:
    Hello,

    This is my review of the pystray package you asked the Debian Python
    Team to sponsor in the Debian archive.

    1. I doubt d/README.source is needed, as this is a team-maintained
    package and most of that info is in the Policy :)

    2. in d/rules, you are using "override_dh_sphinxdoc" and then calling
    dh_sphinxdoc.

    You should instead use "execute_before_dh_sphinxdoc".

    3. You are not running any upstream tests, neither at build not as
    autopkgtests.

    Tests are very important. How do you know your package isn't broken,
    or has not been broken by a change in the archive? Only tests can tell
    you that.

    I see you've noted that some tests require user confirmations and it
    indeed seems to be the case for most of the ones in icon_tests.py.

    * is there a way to bypass this or are those tests simply not relevant
    in a automated environment?

    * what about menu_descriptor_tests.py? I gave it a very cursory look,
    but it doesn't seem to use the confirm() function. Trying to run it
    gives me an  "Xlib.error.DisplayNameError: Bad display name" error
    though, so chances are you'd need to run tests with xvfb to mock an X
    session.

    Note that it is my personal policy not to sponsor packages that do not
    run upstream tests. I make some exceptions for unusual cases (this
    might be one?), but rarely.

    Some other people might not be as rigid as I am on this, but I thought
    you should know.

    -------------------

    That's it! I've removed your package from the sponsor queue for now,
    but feel free to re-add it when you feel like you've dealt with my
    review.

    Apart from the test problem, this is a pretty good package!

    Thanks for you contribution to Debian.


    Hello,

    I've taken another look at pystray.

    First of all, next time, please don't force push, it made it harder to
    know what had changed since my last review and I had to start from
    scratch :(

    Sorry about that.

    The autopkgtests are currently failing. I suspect you are not running
    those locally when you are building the package? It's fairly easy to do
    on sbuild [1] and I would highly recommend you add this to your standard build process.

    In any case, I get the following error:

    E   Xlib.error.DisplayNameError: Bad display name ""

    I see you patched the upstream code to be able to run the tests at build (kudos). I suspect either dependencies are missing in the autopkgtest,
    or you aren't passing your TEST_SKIP_INTERACTIVE var there.

    In either case, those tests need to pass, otherwise the package won't
    migrate to testing.

    Note that:

    1. You have duplicate build-dep entries in d/control
    2. Your d/salsa-ci.yml file is currently skipping autopkgtests

    I would've have fixed those before uploading, but with the failing autopkgtests it seems we'll need another back-and-forth round anyway.

    Thanks, I fixed those and autopkgtest on salsa now seems to work.

    I wasn't really sure how to set the environment variable for autodep8,
    so I just wrote the output of autodep8 into d/tests/control and added
    the environment variable as well as xvfb and xauth call and depends. I
    am not sure if that is the correct way, though. I guess that means that autodep8 is no longer used and instead autopkgtest is used directly...

    Cheers,

    [1]: Look for "run_autopkgtest = 1" in /etc/sbuild/sbuild.conf

    Well, I have issues building with sbuild [1] and could not yet figure
    out why. So I just build the packages directly on my machine and relied
    on the salsa-ci for the rest.

    regards,
    Claudius


    [1] It fails with:
    ```
    Setup apt archive
    -----------------

    Merged Build-Depends: debhelper-compat (= 13), dh-python, dunst, gir1.2-ayatanaappindicator3-0.1, gir1.2-glib-2.0, gir1.2-gtk-3.0, libglib2.0-tests, python3-all, python3-pil, python3-setuptools,
    python3-six, python3-sphinx, python3-xlib, xauth, xvfb, build-essential, fakeroot
    Filtered Build-Depends: debhelper-compat (= 13), dh-python, dunst, gir1.2-ayatanaappindicator3-0.1, gir1.2-glib-2.0, gir1.2-gtk-3.0, libglib2.0-tests, python3-all, python3-pil, python3-setuptools,
    python3-six, python3-sphinx, python3-xlib, xauth, xvfb, build-essential, fakeroot
    dpkg-deb: building package 'sbuild-build-depends-main-dummy' in '/<<RESOLVERDIR>>/apt_archive/sbuild-build-depends-main-dummy.deb'.
    dpkg-deb: error: failed to make temporary file (control member): No such
    file or directory
    Dummy package creation failed
    E: Setting up apt archive failed
    ```

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jeroen Ploemen@21:1/5 to All on Sat Dec 3 09:40:01 2022
    hi Claudius,

    took a look at the pystray package up for sponsorship in the Python
    team. Overall it's in really good shape, still a few comments left
    though:

    * control: the long description is really short and mentions neither
    supported environment nor any other pystray features.

    * tests:
    + please loop over py3versions -s rather than -r;
    + both tests have the same test-name;
    + the upstream testsuite autopkgtest doesn't actually run any tests
    according to ci logs [1];
    + for the upstream testsuite, you want to copy the test files to the
    $AUTOPKGTEST_TMP dir and run from there, to avoid testing the
    extracted sources rather than the installed package;
    + keeping the test commands/script in a separate file (rather than
    d/tests/control) tends to greatly increase readability for all but
    the smallest and most trivial autopkgtests.


    [1]https://salsa.debian.org/python-team/packages/pystray/-/jobs/3596337#L411

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEEd8lhnEnWos3N8v+qQoMEoXSNzHoFAmOLCTIACgkQQoMEoXSN zHqPDA//QvdgMLmDa7c/sRsOBzX5LiHTR4CVnET790xVRV/aWTPwbvrE3tEEbsRf ohwlQ0kQvlgZB5/muC/kXZB5UiOKc846GexaH+Gzc6G7OTMKWvVtIJ+lLMxjTi0s mesN31J0m/73hnEedkVg+WLq6L20LP9gMHLbGhKHup7t0fXYMLmd5B6dvRIQWbyi aJN6rjCPd/GYujJRK1J/56doChkFOGj0P98QuXSZvwG8/f493wMhZx94fJOeKkNq zUV1Vq0hJzR2hpTh80948Upx5vTo330sUvHgOWfo/NdXRbeMjC9fFPN8g7+uZurN QRYerk+374mbSIm85/y2SsrUmUBWzfu7ZGgPYphr9OJRY2u/hAjOsIO4UVWq3v80 b8aVm8eYydv41sfhEeV6P2qDnF4uPO1HfTte1pmw5sgmKHl+O2MBkptCN06YaYtz N8L9zUU04PT6dwYcfO2eIpT3YaOM2EY89PmGzLQ2vIQZ8ZWh6OrifIJB4g1NF+7M ZHh+rKoBhrSrkYJv8AoU3bQ+SHQAogaHvNRNKaR+C3Qxe8KyUcQ0Hc0s93nDoSnJ AqxAtMRqcCWFyRRiQTcNyMjvqSBO8p3O5qdzYS6S8NN7yEooG6BUI018zJA/lJA8 nYpdcjOe+lPGOb7z6fM3TKiWy7+LvMpySIGrnOmrKbs/nPfE0Z4=
    =PDmZ
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)