[ https://issues.apache.org/jira/browse/CLOUDSTACK-7307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14092848#comment-14092848 ]
Alex Brett commented on CLOUDSTACK-7307: ---------------------------------------- Review request at https://reviews.apache.org/r/24552/ > [Automation] Ability to instruct nosetests not to run tests which require the > simulator > --------------------------------------------------------------------------------------- > > Key: CLOUDSTACK-7307 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7307 > Project: CloudStack > Issue Type: Improvement > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Automation > Affects Versions: 4.5.0 > Reporter: Alex Brett > Assignee: Alex Brett > > There are a number of Marvin tests which only work if using the simulator, an > example being test_deploy_vm_start_failure in > test/integration/smoke/misc/test_deploy_vm.py > When running tests via nosetests, we currently use a combination of the > 'tags' and 'required_hardware' attributes to select the right tests to run. > For example a KVM advanced zone BVT would run nosetests with {{-a > tags=advanced}}, while a simulator test would do {{-a > tags=advanced,required_hardware=false}}. > An attempt at solving this issue has been made by setting the > required_hardware attribute to "simulator only", e.g.: > {noformat} > @attr(tags = ['advanced'], required_hardware="simulator only") > def test_deploy_vm_start_failure(self): > {noformat} > Unfortunately this is not practical from nosetests, as you can't do e.g. {{-a > required_hardware!='simulator only'}}, as nosetests does not support this. > The only way now to identify all appropriate tests would be to run it with > something like {{-a tags=advanced,!required_hardware -a > tags=advanced,required_hardware=false -a > tags=advanced,required_hardware=true}}. This is both confusing, and > potentially error prone as if someone adds an additional value to > required_hardware, nosetests will miss it. > In theory it is possible to achieve something using the {{-A}} argument to > nosetests, however experimenting here shows that it would still end up being > very confusing. > I believe the solution is to add a new attribute "simulator_only", at which > point a typical advanced zone BVT could be run with just {{-a > tags=advanced,!simulator_only}}. > I've prepared a patch which adds this attribute. -- This message was sent by Atlassian JIRA (v6.2#6252)