[pytest-dev] xdist and data sharing during execution in parallel
Anatoly Bubenkov
bubenkoff at gmail.com
Wed Sep 24 08:57:58 CEST 2014
I would just use something like redis for that, seriously
Don't overcomplicate things in pytest-xdist
As a side note, if you need the communication between the tests, then
you're probably doing something wrong, as it's the rule of thumb - tests
cannot share state with other tests
On 17 September 2014 18:32, Ayelet Regev <ayelet at fabrixsystems.com> wrote:
> Hi,
>
> I'm creating a time-line based on pytest.
> im using xdist with multiple slaves (in the amount of the tests). Each
> test is started by time and dependency. which mean some of the gateways
> will be waiting for others to be "Done".
>
> for that, io need some data sharing between them all, and cannot use
> "slaveoutput".
>
> i created my own dict object using file handler, and i want to create
> instance once on master and share it will all slaves.
>
> but i cannot pass object to "slaveinput"
>
> Do you have any advice?
>
>
>
> *def pytest_configure(config):*
>
> config.global_time_line_json = config.getoption("timeline",None)
> unicode_to_ascii(config.global_time_line_json)
> if config.global_time_line_json is None:
> raise Exception("no timeline data was provided to command")
> config.properties = config.getoption("properties")
> unicode_to_ascii(config.properties)
> logfile = config.properties.get("logfile",None)
> if logfile is None:
> raise Exception("no logfile path was provided to command under
> properties")
> config.flow_dir = config.properties.get("flow_dir",None)
> logfile_basename = os.path.basename(logfile)
> _logger = Logger(config.flow_dir,logfile_basename)
> config.logger = _logger.logger()
> config.active_dir = "%s/%s" % (config.flow_dir,ACTIVE_DIR)
> *if not hasattr(config,"slaveinput"):*
> * config.logger.info2("Master")*
> * config.global_data = PersistentDict('%s/%s' %
> (config.active_dir,FLOW_JSON), 'c', format='json')*
>
> *def pytest_configure_node(node):*
> # runs only on Master
> node.config.logger.info2("on Master sending data to Slave")
> * node.slaveinput["global_data"] = node.config.global_data*
>
> --
> Best Regards,
>
> Ayelet Regev Dabah
> Email: ayelet at fabrixsystems.com
>
>
> _______________________________________________
> Pytest-dev mailing list
> Pytest-dev at python.org
> https://mail.python.org/mailman/listinfo/pytest-dev
>
>
--
Anatoly Bubenkov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pytest-dev/attachments/20140924/21cfe62c/attachment.html>
More information about the Pytest-dev
mailing list