Dne 24. 03. 20 v 22:18 Pushpalogan napsal(a):
> Hello,
> 
> We have a test class that has a setUp and tearDown where setUp does mounting 
> and tearDown does Unmounting. There are times when an unmounting of a 
> directory fails and throws exception and I was wondering what is the best way 
> to handle exceptions in tearDown and propagate that as an error so the test 
> results are recorded appropriately. Currently that exception is being ignored 
> by avocado and the test is marked as passed. Please let me know if you need 
> additional information.
> 
> Thanks,
> Logan.
> 

Hello Pushpalogan,

that looks like a bug, can you please share the details about the exception 
that is being raised and the Avocado version you are using? I tried recent 
2ca72aa8d2660655cf02a4639b4a1691cb15694f with:

diff --git a/examples/tests/passtest.py b/examples/tests/passtest.py
index b30acdef..27a70db2 100755
--- a/examples/tests/passtest.py
+++ b/examples/tests/passtest.py
@@ -11,6 +11,8 @@ class PassTest(Test):
 
     :avocado: tags=fast
     """
+    def tearDown(self):
+        raise Exception("testing exception")
 
     def test(self):
         """

and it correctly reports a test error:

avocado.test: INIT 1-examples/tests/passtest.py:PassTest.test
avocado.test: PARAMS (key=timeout, path=*, default=None) => None
avocado.test: Test metadata:
avocado.test:   filename: 
/home/medic/Work/Projekty/avocado/avocado/examples/tests/passtest.py
avocado.test:   teststmpdir: /var/tmp/avocado_tt9f9h2i
avocado.test:   workdir: 
/var/tmp/avocado_6l2ld5d7/avocado_job_81urykeg/1-examples_tests_passtest.py_PassTest.test
 (1/1) examples/tests/passtest.py:PassTest.test:  avocado.test: START 
1-examples/tests/passtest.py:PassTest.test
avocado.test: DATA (filename=output.expected) => NOT FOUND (data sources: 
variant, test, file)
avocado.test: 
avocado.test: Reproduced traceback from: 
/home/medic/Work/Projekty/avocado/avocado/avocado/core/test.py:891
avocado.test: Traceback (most recent call last):
avocado.test:   File 
"/home/medic/Work/Projekty/avocado/avocado/examples/tests/passtest.py", line 
15, in tearDown
avocado.test:     raise Exception("testing exception")
avocado.test: Exception: testing exception
avocado.test: 
avocado.test: DATA (filename=output.expected) => NOT FOUND (data sources: 
variant, test, file)
avocado.test: DATA (filename=stdout.expected) => NOT FOUND (data sources: 
variant, test, file)
avocado.test: DATA (filename=stderr.expected) => NOT FOUND (data sources: 
variant, test, file)
avocado.test: ERROR 1-examples/tests/passtest.py:PassTest.test -> 
TestSetupFail: testing exception
avocado.test: 
ERROR: testing exception (0.03 s)
avocado.test: Test results available in 
/home/medic/avocado/job-results/job-2020-03-27T09.45-ecb36b7
RESULTS    : PASS 0 | ERROR 1 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0
JOB TIME   : 0.13 s
avocado.sysinfo: Not logging /sys/kernel/debug/sched_features (file does not 
exist)
avocado.sysinfo: Not logging 'numactl --hardware show' (command 'numactl' was 
not found)
avocado.sysinfo: Not logging /proc/pci (file does not exist)
avocado.sysinfo: Not logging /proc/slabinfo (lack of permissions)
JOB HTML   : 
/home/medic/avocado/job-results/job-2020-03-27T09.45-ecb36b7/results.html


Regards,
Lukáš

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to