Hi Victor, i took a initial look and i believe the tooling can intersect
a "stash/storage" would be used for the live part, and its tear-down could transfer the harvest details to a more compact/permanent storage/location/bubble them up. at work we are currently working on a service that stores/tracks test results/logs/selenium screen-shots for test execution, i marked it down as a research target for integration with pytest-harvest - Ronny On Wed, 16 Oct 2019 at 16:27, Victor Maryama <victor.mary...@gmail.com> wrote: > Hi guys! I am no expert, but maybe is this something that could replace or > intersect with the functionality provided by > https://smarie.github.io/python-pytest-harvest/ (fixture_store and > results_bag fixtures)? And maybe the code that is saving fixture and test > context information like in allure-pytest. > > Although probably it would require the stashes not to be torn down, in > opposition to the original Ronny's idea. > > Le mer. 16 oct. 2019 à 15:42, Ronny Pfannschmidt <rpfan...@redhat.com> a > écrit : > >> a little side note as i was just having a little discussion about this >> with a native speaker, >> the word stash isn`t quite fitting the concept - the name scoped_storage >> came to mind, >> we might need to iterate on the concept name a bit to get to something >> that makes deeper sense >> >> - Ronny >> >> On Wed, 16 Oct 2019 at 09:45, Ronny Pfannschmidt <rpfan...@redhat.com> >> wrote: >> >>> >>> >>> On Wed, 16 Oct 2019 at 01:23, Bruno Oliveira <nicodde...@gmail.com> >>> wrote: >>> >>>> Hi Ronny, >>>> >>>> As you have shared this before in chat, at first glance it sounds like >>>> a good idea! >>>> >>>> Some questions that we can probably elaborate on once we have something >>>> more concrete to discuss: >>>> >>>> 1. You say "each stash would be a context manager", but it is not >>>> clear to me how this would work in practice, as most uses today that need >>>> to decorate the object need to do it across multiple function calls (for >>>> example, creating an object in `pytest_configure` and storing it in a >>>> stash, only to retrieve the data later in another hook). Can you provide >>>> examples to clarify this? >>>> >>> the value returned from get_stash would be the value the entering of the >>> context manager yielded >>> this also means that for a item or a class there may be multiple stashes >>> over a test-run, as each stash would have been entered in a different >>> lifecycles >>> >>> >>> >>>> >>>> 2. If we are to use the "stash" for fixtures, we need a way to specify >>>> stashes whose other lifetimes than function and session, like class, module >>>> and package. Any idea how this would look like? >>>> >>> those stashes would just be modelled on the belonging nodes, so fixtures >>> for session, stashed on session, fixtures for class, stashed on class and >>> so on >>> >>> >>> >>>> >>>> Other than that, where do you want to go from here? Keep the discussion >>>> here in the mailing list, move it to the issue tracker, or somewhere else? >>>> >>> i'd like some more iteration on the basics, then perhaps a quick video >>> conference to solidify the thinking, >>> then set up a github project. >>> >>> -- Ronny >>> >>> >>> >>>> >>>> Cheers, >>>> Bruno. >>>> >>>> >>>> On Tue, Oct 15, 2019 at 10:03 AM Ronny Pfannschmidt < >>>> rpfan...@redhat.com> wrote: >>>> >>>>> Problem: for the storage of helper objects that either tackle certain >>>>> global tracking details or that track information over the testprotocol >>>>> lifecycle of test items, we use monkeypatchs and generally just munge >>>>> around in either the pytest config object or item objects. >>>>> >>>>> I would like to propose a new API putting those details into >>>>> consideration. >>>>> >>>>> >>>>> >>>>> config.get_stash(owner, type=pytest.NamespaceStash) # valid over the >>>>> pytest session lifetime >>>>> item.get_stash(owner, type=pytest.NamespaceStash) # valid across the >>>>> run-test protocol cycle of item >>>>> >>>>> Each stash would be a context manager and construction would get >>>>> access to both item and config. >>>>> >>>>> This would for example enable to express the junit xml logger object >>>>> and configuration as >>>>> >>>>> `config.get_stash(__name__, JunitXMlTracker)` >>>>> >>>>> Just as it would allow other plugin to store node lifecycle related >>>>> details within the node using a well known mechanism >>>>> >>>>> Incidentally this would also be a good fit for the fixture system and >>>>> setup-state in general to store information. >>>>> >>>>> The basic assumption being that only the stashes of the items that are >>>>> currently active are valid, and other stashes are torn down, >>>>> then fixtures as well as the fixture request would nicely fit that >>>>> storage mechanism, and would also generalize across the node tree from >>>>> session down to individual items. >>>>> >>>>> (considering the layout, it might be sensible to even replace >>>>> config.get_stash with something >>>>> like session.get_stash) >>>>> >>>>> The idea is still rather fuzzy in my head and i would love to di >>>>> either text based brainstorming on it, or a actual video call. >>>>> >>>>> -- Ronny >>>>> >>>>> Red Hat GmbH, http://www.de.redhat.com/, Registered seat: Grasbrunn, >>>>> Commercial register: Amtsgericht Muenchen, HRB 153243, >>>>> Managing Directors: Charles Cachera, Michael Cunningham, Michael O'Neill, >>>>> Eric Shander >>>>> >>>>> _______________________________________________ >>>>> pytest-dev mailing list >>>>> pytest-dev@python.org >>>>> https://mail.python.org/mailman/listinfo/pytest-dev >>>>> >>>> >>> >>> -- >>> >>> Red Hat GmbH, http://www.de.redhat.com/, Registered seat: Grasbrunn, >>> Commercial register: Amtsgericht Muenchen, HRB 153243, >>> Managing Directors: Charles Cachera, Michael Cunningham, Michael O'Neill, >>> Eric Shander >>> >>> >> >> -- >> >> Red Hat GmbH, http://www.de.redhat.com/, Registered seat: Grasbrunn, >> Commercial register: Amtsgericht Muenchen, HRB 153243, >> Managing Directors: Charles Cachera, Michael Cunningham, Michael O'Neill, >> Eric Shander >> >> _______________________________________________ >> pytest-dev mailing list >> pytest-dev@python.org >> https://mail.python.org/mailman/listinfo/pytest-dev >> > _______________________________________________ > pytest-dev mailing list > pytest-dev@python.org > https://mail.python.org/mailman/listinfo/pytest-dev > -- Red Hat GmbH, http://www.de.redhat.com/, Registered seat: Grasbrunn, Commercial register: Amtsgericht Muenchen, HRB 153243, Managing Directors: Charles Cachera, Michael Cunningham, Michael O'Neill, Eric Shander
_______________________________________________ pytest-dev mailing list pytest-dev@python.org https://mail.python.org/mailman/listinfo/pytest-dev