> On Oct. 15, 2014, 4:43 p.m., Matt Jordan wrote:
> > /asterisk/trunk/runtests.py, lines 82-83
> > <https://reviewboard.asterisk.org/r/4080/diff/1/?file=68347#file68347line82>
> >
> >     While the extra parantheses are probably needed, generally, this 
> > doesn't feel like the pythonic way to write this (although the original 
> > code isn't either). You shouldn't have to explicitly test for 0 or not 0.
> >     
> >     self.passed = ((p.returncode and self.test_config.expect_pass) or (not 
> > p.returncode and not self.test_config.expect_pass))
> >     
> >     This will evaluate self.passed to a boolean still.

test_runner.py returns 0 if passed and 1 if failed. So the above suggestion 
would need to be like so:

self.passed = ((not p.returncode and self.test_config.expect_pass) or 
(p.returncode and not self.test_config.expect_pass))

However it's still possible for self.passed to be an INT. Maybe I've gone crazy 
but the below examples say I'm not.

Example of not explicitly testing for 0 or not 0 as suggested:
>>> for returncode in (0, 1):
...     for expect_pass in (True, False):
...         ((not returncode and expect_pass) or (returncode and not 
expect_pass))
... 
True
0
False
True

Example of explicitly testing for 0 and not 0 as posted for review:
>>> for returncode in (0, 1):
...     for expect_pass in (True, False):
...         ((returncode == 0 and expect_pass) or (returncode != 0 and not 
expect_pass))
... 
True
False
False
True


- jbigelow


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4080/#review13533
-----------------------------------------------------------


On Oct. 15, 2014, 5:34 p.m., jbigelow wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4080/
> -----------------------------------------------------------
> 
> (Updated Oct. 15, 2014, 5:34 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: testsuite
> 
> 
> Description
> -------
> 
> When the 'expected-result' (or 'expectedResult') YAML property for test 
> configuration is set to False and the test fails, the test should be marked 
> as passed. However it is marked as failed. This patch should fix the issue so 
> that tests are marked as passed in this scenario.
> 
> Additionally:
> * Check if p.returncode is not zero so self.passed is a boolean rather than 
> an int in some cases.
> * Added some print statements to make it clear why a test was marked as 
> passed or failed when the 'expected-result' YAML property is set to False.
> * Added text to the failure message so it's easily known when looking at the 
> results file that the test was expected to fail but passed and therefore 
> marked as failed.
> 
> 
> Diffs
> -----
> 
>   /asterisk/trunk/runtests.py 5726 
>   /asterisk/trunk/lib/python/asterisk/test_config.py 5726 
> 
> Diff: https://reviewboard.asterisk.org/r/4080/diff/
> 
> 
> Testing
> -------
> 
> Tested the various scenarios and they all seem to properly work as expected 
> now.
> 
> 
> Thanks,
> 
> jbigelow
> 
>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to