patches and low-level development discussion
 help / color / mirror / code / Atom feed
From: Demi Marie Obenour <demiobenour@gmail.com>
To: Alyssa Ross <hi@alyssa.is>
Cc: Spectrum OS Development <devel@spectrum-os.org>
Subject: Re: Test for portals passes even when file portal is broken
Date: Sat, 6 Dec 2025 09:19:34 -0500	[thread overview]
Message-ID: <9e46e5d0-b2a7-4753-afcd-61ea74d1ddf9@gmail.com> (raw)
In-Reply-To: <875xajlojr.fsf@alyssa.is>


[-- Attachment #1.1.1: Type: text/plain, Size: 3147 bytes --]

On 12/6/25 08:36, Alyssa Ross wrote:
> Demi Marie Obenour <demiobenour@gmail.com> writes:
> 
>> On 12/6/25 07:32, Alyssa Ross wrote:
>>> Demi Marie Obenour <demiobenour@gmail.com> writes:
>>>
>>>> On 12/6/25 07:26, Alyssa Ross wrote:
>>>>> Demi Marie Obenour <demiobenour@gmail.com> writes:
>>>>>
>>>>>> While trying to sandbox the file chooser portal, I broke it.
>>>>>> This caused files not to be saved, resulting in silent data loss.
>>>>>> Unfortunately, the integration test still passed.
>>>>>>
>>>>>> Is this a bug in the test?  Is there a better alternative to manual
>>>>>> testing?
>>>>>
>>>>> Not presently, but we can work on improving the test.  The current
>>>>> portal test was written as a regression test for a specific issue we
>>>>> had.  It's quite hard to test completely end to end but we could do a
>>>>> lot better.
>>>>>
>>>>> I would quite like to spend some time in February or so working on our
>>>>> tests.
>>>>
>>>> Would it make sense to use openQA for this?  Qubes OS uses openQA
>>>> and it works very well.  openQA is written in Perl, but it’s the
>>>> best tool I know of for this.
>>>
>>> First blocker there would be packaging openQA in Nixpkgs.  I do not
>>> personally relish the idea of doing that.
>>
>> Would it be possible to instead use a Fedora container?  openQA is
>> packaged in Fedora.  Qubes OS uses dedicated CI machines for openQA,
>> so I'm not worried about whether this would be permitted on your dev
>> box or the binary cache builders.
>>
>> I use Fedora for everything that isn't Spectrum-related dev work,
>> so I know how to maintain a Fedora system.  That said, a container
>> shouldn't need much (if any) ongoing maintenance.
> 
> I think the hermicity and bisectability of our build and tests are
> important properties worth preserving.  We lose that if we start relying
> on an opaque container image.  If an openQA update breaks something,
> it's not possible to easily figure out why.
Fedora container images contain an RPM database that can be used
to determine which packages changed.  There will likely be many
packages that changed between images, but the same is true of Nixpkgs.
I totally agree that using a mutable Fedora system that is upgraded
in-place would be a mistake.

> I'm also not sure whether we'd be able to keep our tests as lightweight
> and fast as they currently are with openQA.

openQA is an alternative to manual testing, not to unit or integration
testing.  openQA tests are very slow, but they are still faster,
cheaper, and much more repeatable than having a human do the work.
Qubes OS runs tests on many GitHub pull requests at once to amortize
the cost.

The workflow I envision is that openQA is run on patch series
immediately before committing them to the main branch.  There could
even be a separate branch from which openQA tests are run, and from
which patches are cherry-picked to main if openQA succeeds.

In any case, this a very large task in its own right, not something
that should be implemented for a single issue.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 7253 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2025-12-06 14:19 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-06 11:12 Test for portals passes even when file portal is broken Demi Marie Obenour
2025-12-06 12:26 ` Alyssa Ross
2025-12-06 12:29   ` Demi Marie Obenour
2025-12-06 12:32     ` Alyssa Ross
2025-12-06 13:27       ` Demi Marie Obenour
2025-12-06 13:36         ` Alyssa Ross
2025-12-06 14:19           ` Demi Marie Obenour [this message]
2025-12-06 14:22             ` Alyssa Ross
2025-12-06 14:47               ` openQA bisectability Demi Marie Obenour
2025-12-06 14:52                 ` [qubes-devel] " Alyssa Ross
2025-12-06 15:29                 ` Marek Marczykowski-Górecki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9e46e5d0-b2a7-4753-afcd-61ea74d1ddf9@gmail.com \
    --to=demiobenour@gmail.com \
    --cc=devel@spectrum-os.org \
    --cc=hi@alyssa.is \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://spectrum-os.org/git/crosvm
	https://spectrum-os.org/git/doc
	https://spectrum-os.org/git/mktuntap
	https://spectrum-os.org/git/nixpkgs
	https://spectrum-os.org/git/spectrum
	https://spectrum-os.org/git/ucspi-vsock
	https://spectrum-os.org/git/www

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).