[Avocado-devel] Avocado 101 questions
Lukáš Doktor
ldoktor at redhat.com
Fri Feb 8 16:09:37 UTC 2019
Dne 06. 02. 19 v 7:22 Fajun Chen napsal(a):
> Hi Lukas,
>
> As an experiment, I made the following changes to avocado/core/runner.py:
> @@ -319,7 +319,7 @@
> # be able to read from the tty, and would hang. Let's replace
> # STDIN fd (0), with the same fd previously set by
> # `multiprocessing.Process()`
> - os.dup2(sys.stdin.fileno(), 0)
> + # os.dup2(sys.stdin.fileno(), 0)
>
> instance = loader.load_test(test_factory)
> if instance.runner_queue is None:
> @@ -349,7 +349,10 @@
> TEST_LOG.info(' %s: %s', source, location)
> TEST_LOG.info('')
> try:
> + sys.stdin = open(0)
> instance.run_avocado()
> + sys.stdin.close()
> + sys.stdin = open(os.devnull)
> finally:
> try:
> state = instance.get_state()
>
> I can interact with the test manually with the change. Understood the risk
> of keeping stdin fd open, but will it be manageable if our tests don't read
> from tty unless it's warranted?
>
> Thanks,
> Fajun
Hello Fajun,
sure, this will work for now (although failures are not handled), anyway if you decide to use Avocado I'd suggest the RFC or at least to open a discussion to have a proper implementation. I can imagine something like:
```
avocado run interactive.py --enable-stdin
JOB ID : 8e9a0a9011d3e4b31d0fee5c2f727e32cf08ec7a
JOB LOG : /home/medic/avocado/job-results/job-2019-02-08T17.05-8e9a0a9/job.log
(1/1) interactive.py:InteractiveTest.test:
Waiting on stdin on localhost:12345 \
PASS (75.75 s)
RESULTS : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0
JOB TIME : 75.88 s
JOB HTML : /home/medic/avocado/job-results/job-2019-02-08T17.05-8e9a0a9/results.html
```
(or even to use STDIN directly, but as one would perhaps like to see the stdout as well I think it'd be better to use socket and pipe in/out/err there...)
Regards,
Lukáš
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/avocado-devel/attachments/20190208/1e6e8bab/attachment.sig>
More information about the Avocado-devel
mailing list