blob: 5fa9fd0b8d6ea0f7d7e7dd1049ae22efa8b9a9e1 [file] [log] [blame]
# -*-coding:utf-8 -*
# Copyright (c) 2011-2015, Intel Corporation
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation and/or
# other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors
# may be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""
All listing and dumping function testcases.
List of tested functions :
--------------------------
- [dumpDomains] function
- [dumpElement] function
Test cases :
------------
- Testing dumpDomains function on nominal case
- Testing dumpElements function on nominal case
"""
import commands, os
import unittest
from Util.PfwUnitTestLib import PfwTestCase
from Util import ACTLogging
log=ACTLogging.Logger()
class TestCases(PfwTestCase):
def setUp(self):
self.pfw.sendCmd("setTuningMode", "on")
pfw_test_tools=os.getenv("PFW_TEST_TOOLS")
self.reference_dumpDomains_xml = pfw_test_tools+"/xml/XML_Test/Reference_dumpDomains.xml"
self.reference_dumpDomains_file = pfw_test_tools+"/xml/XML_Test/Reference_dumpDomains"
self.initial_xml = pfw_test_tools+"/xml/TestConfigurableDomains.xml"
self.list_domains=[]
self.list_criteria=["Crit_0", "Crit_1"]
self.list_parameters=[]
self.temp_file="tempfile"
self.domain_name = "Domain_0"
self.config_name = "Conf_0"
def tearDown(self):
self.pfw.sendCmd("setTuningMode", "off")
if os.path.exists(self.temp_file):
os.remove(self.temp_file)
def test_01_dumpDomains_Case(self):
"""
Testing dumpDomains function
----------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- import a reference XML : Reference_DumpDomains.xml
- dumpDomains
- compare out to a reference file : Reference_DumpDomains
Tested commands :
~~~~~~~~~~~~~~~~~
- [dumpDomains] function
Used commands :
~~~~~~~~~~~~~~~
- [importDomainsWithSettingsXML] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to dumpDomains is the same than string in
the reference file
"""
log.D(self.test_01_dumpDomains_Case.__doc__)
#Import a reference XML file
log.I("Import Domains with settings from %s"%(self.reference_dumpDomains_xml))
out, err = self.pfw.sendCmd("importDomainsWithSettingsXML",self.reference_dumpDomains_xml, "")
assert err == None, log.E("Command [importDomainsWithSettingsXML %s] : %s"%(self.reference_dumpDomains_xml,err))
assert out == "Done", log.F("When using function importDomainsWithSettingsXML %s]"%(self.reference_dumpDomains_xml))
log.I("Command [dumpDomains]")
out, err = self.pfw.sendCmd("dumpDomains","","")
assert err == None, log.E("Command [dumpDomains] : %s"%(err))
assert out == commands.getoutput("cat %s"%(self.reference_dumpDomains_file)), log.F("A diff is found between dumpDomains output and %s"%(self.reference_dumpDomains_file))
log.I("Command [dumpDomains] - correctly executed")
def test_03_help_Case(self):
"""
Testing help function
---------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- help
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [help] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to help is not empty
"""
log.D(self.test_03_help_Case.__doc__)
log.I("Command [help]")
out, err = self.pfw.sendCmd("help","")
assert err == None, log.E("Command [help] : %s"%(err))
assert out != ""
log.I("Command [help] - correctly executed")
def test_04_status_Case(self):
"""
Testing status function
-----------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- status
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [status] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to status is not empty
"""
log.D(self.test_04_status_Case.__doc__)
log.I("Command [status]")
out, err = self.pfw.sendCmd("status","")
assert err == None, log.E("Command [help] : %s"%(err))
assert out != ""
log.I("Command [status] - correctly executed")
def test_05_listCriteria_Case(self):
"""
Testing listCriteria function
-----------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listCriteria
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listCriteria] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listCriteria is not empty
"""
log.D(self.test_05_listCriteria_Case.__doc__)
log.I("Command [listCriteria]")
out, err = self.pfw.sendCmd("listCriteria","")
assert err == None, log.E("Command [listCriteria] : %s"%(err))
assert out != ""
log.I("Command [listCriteria] - correctly executed")
def test_06_listDomains_Case(self):
"""
Testing listDomains function
----------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listDomains
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listDomains] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listDomains is not empty
"""
log.D(self.test_06_listDomains_Case.__doc__)
log.I("Command [listDomains]")
out, err = self.pfw.sendCmd("listDomains")
assert err == None, log.E("Command [listDomains] : %s"%(err))
assert out != ""
log.I("Command [listDomains] - correctly executed")
@unittest.expectedFailure
def test_06_listDomainElements_Case(self):
"""
Testing listDomains function
----------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listDomainElements
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listDomainElements] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listDomains is not empty
"""
log.D(self.test_06_listDomainElements_Case.__doc__)
log.I("Command [listDomainElements]")
out, err = self.pfw.sendCmd("listDomainElements",self.domain_name)
assert err == None, log.E("Command [listDomainElements] : %s"%(err))
assert out != "", log.F("Fail when listDomainElements %s: stdout is empty"%(self.domain_name))
log.I("Command [listDomainElements] - correctly executed")
@unittest.expectedFailure
def test_07_listConfigurations_Case(self):
"""
Testing listConfigurations function
-----------------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listConfigurations
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listConfigurations] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listConfigurations is not empty
"""
log.D(self.test_07_listConfigurations_Case.__doc__)
log.I("Command [listConfigurations]")
out, err = self.pfw.sendCmd("listConfigurations",self.domain_name)
assert err == None, log.E("Command [listConfigurations] : %s"%(err))
assert out != "", log.F("Fail when listConfigurations %s: stdout is empty"%(self.domain_name))
log.I("Command [listConfigurations] - correctly executed")
def test_08_listElements_Case(self):
"""
Testing listElements function
-----------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listElements
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listElements] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listElements is not empty
"""
log.D(self.test_08_listElements_Case.__doc__)
log.I("Command [listElements]")
out, err = self.pfw.sendCmd("listElements")
assert err == None, log.E("Command [listElements] : %s"%(err))
out, err = self.pfw.sendCmd("listElements","/Test/")
assert err == None, log.E("Command [listElements /Test/] : %s"%(err))
assert out != ""
log.I("Command [listElements] - correctly executed")
def test_09_listParameters_Case(self):
"""
Testing listParameters function
-------------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listParameters
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listParameters] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listParameters is not empty
"""
log.D(self.test_09_listParameters_Case.__doc__)
log.I("Command [listParameters]")
out, err = self.pfw.sendCmd("listParameters")
assert err == None, log.E("Command [listParameters] : %s"%(err))
out, err = self.pfw.sendCmd("listParameters","/Test/")
assert err == None, log.E("Command [listParameters /Test/] : %s"%(err))
assert out != ""
log.I("Command [listParameters] - correctly executed")
def test_10_getElementSize_Case(self):
"""
Testing getElementSize function
-------------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listParameters
- getElementSize for all parameters
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [getElementSize] function
Used commands :
~~~~~~~~~~~~~~~
- [listParameters] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to getElementSize is not empty
"""
log.D(self.test_10_getElementSize_Case.__doc__)
log.I("Command [listParameters]")
out, err = self.pfw.sendCmd("listParameters","/Test/")
assert err == None, log.E("Command [listParameters /Test/] : %s"%(err))
assert out != ""
log.I("Command [listParameters] - correctly executed")
# Write out in temp file
f_temp_file = open(self.temp_file, "w")
f_temp_file.write(out)
f_temp_file.close()
# Extract parameter from the temp file
f_temp_file = open(self.temp_file, "r")
lines = f_temp_file.readlines()
f_temp_file.close()
for line in lines :
if not line.find("/") == -1 :
final_position_in_line= line.find("[")-1
self.list_parameters.append(line[0:final_position_in_line])
for parameter in self.list_parameters :
out, err = self.pfw.sendCmd("getElementSize",parameter)
assert err == None, log.E("Command [getElementSize %s] : %s"%(parameter,err))
assert out != ""
out, err = self.pfw.sendCmd("getElementSize","/Test/")
assert err == None, log.E("Command [getElementSize /Test/] : %s"%(err))
assert out != ""
out, err = self.pfw.sendCmd("getElementSize")
assert err == None, log.E("Command [getElementSize /Test/] : %s"%(err))
def test_11_showProperties_Case(self):
"""
Testing showProperties function
-------------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listParameters
- showProperties for all parameters
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [showProperties] function
Used commands :
~~~~~~~~~~~~~~~
- [listParameters] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to getElementSize is not empty
"""
log.D(self.test_11_showProperties_Case.__doc__)
log.I("Command [listParameters]")
out, err = self.pfw.sendCmd("listParameters","/Test/")
assert err == None, log.E("Command [listParameters /Test/] : %s"%(err))
assert out != ""
log.I("Command [listParameters] - correctly executed")
# Write out in temp file
f_temp_file = open(self.temp_file, "w")
f_temp_file.write(out)
f_temp_file.close()
# Extract parameter from the temp file
f_temp_file = open(self.temp_file, "r")
lines = f_temp_file.readlines()
f_temp_file.close()
for line in lines :
if not line.find("/") == -1 :
final_position_in_line= line.find("[")-1
self.list_parameters.append(line[0:final_position_in_line])
for parameter in self.list_parameters :
out, err = self.pfw.sendCmd("showProperties",parameter)
assert err == None, log.E("Command [showProperties %s] : %s"%(parameter,err))
assert out != ""
out, err = self.pfw.sendCmd("showProperties","/Test/")
assert err == None, log.E("Command [showProperties /Test/] : %s"%(err))
assert out != ""
out, err = self.pfw.sendCmd("showProperties")
assert err == None, log.E("Command [showProperties] : %s"%(err))
def test_12_listBelongingDomains_Case(self):
"""
Testing listBelongingDomains function
-------------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listParameters
- listBelongingDomains for all parameters
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listBelongingDomains] function
Used commands :
~~~~~~~~~~~~~~~
- [listParameters] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listBelongingDomains is not empty
"""
log.D(self.test_12_listBelongingDomains_Case.__doc__)
log.I("Command [listParameters]")
out, err = self.pfw.sendCmd("listParameters","/Test/")
assert err == None, log.E("Command [listParameters /Test/] : %s"%(err))
assert out != ""
log.I("Command [listParameters] - correctly executed")
# Write out in temp file
f_temp_file = open(self.temp_file, "w")
f_temp_file.write(out)
f_temp_file.close()
# Extract parameter from the temp file
f_temp_file = open(self.temp_file, "r")
lines = f_temp_file.readlines()
f_temp_file.close()
for line in lines :
if not line.find("/") == -1 :
final_position_in_line= line.find("[")-1
self.list_parameters.append(line[0:final_position_in_line])
for parameter in self.list_parameters :
out, err = self.pfw.sendCmd("listBelongingDomains",parameter)
assert err == None, log.E("Command [listBelongingDomains %s] : %s"%(parameter,err))
out, err = self.pfw.sendCmd("listBelongingDomains","/Test/")
assert err == None, log.E("Command [listBelongingDomains /Test/] : %s"%(err))
out, err = self.pfw.sendCmd("listBelongingDomains")
assert err == None, log.E("Command [listBelongingDomains] : %s"%(err))
def test_13_listAssociatedDomains_Case(self):
"""
Testing listAssociatedDomains function
-------------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listParameters
- listAssociatedDomains for all parameters
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listAssociatedDomains] function
Used commands :
~~~~~~~~~~~~~~~
- [listParameters] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listBelongingDomains is not empty
"""
log.D(self.test_13_listAssociatedDomains_Case.__doc__)
log.I("Command [listParameters]")
out, err = self.pfw.sendCmd("listParameters","/Test/")
assert err == None, log.E("Command [listParameters /Test/] : %s"%(err))
log.I("Command [listParameters] - correctly executed")
# Write out in temp file
f_temp_file = open(self.temp_file, "w")
f_temp_file.write(out)
f_temp_file.close()
# Extract parameter from the temp file
f_temp_file = open(self.temp_file, "r")
lines = f_temp_file.readlines()
f_temp_file.close()
for line in lines :
if not line.find("/") == -1 :
final_position_in_line= line.find("[")-1
self.list_parameters.append(line[0:final_position_in_line])
for parameter in self.list_parameters :
out, err = self.pfw.sendCmd("listAssociatedDomains",parameter)
assert err == None, log.E("Command [listAssociatedDomains %s] : %s"%(parameter,err))
out, err = self.pfw.sendCmd("listAssociatedDomains","/Test/")
assert err == None, log.E("Command [listAssociatedDomains /Test/] : %s"%(err))
def test_14_listAssociatedElements_Case(self):
"""
Testing listAssociatedElements function
-------------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listAssociatedElements
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listAssociatedElements] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listAssociatedElements is not empty
"""
log.D(self.test_14_listAssociatedElements_Case.__doc__)
log.I("Command [listAssociatedElements]")
out, err = self.pfw.sendCmd("listAssociatedElements")
assert err == None, log.E("Command [listAssociatedElements] : %s"%(err))
log.I("Command [listAssociatedElements] - correctly executed")
def test_15_listConflictingElements_Case(self):
"""
Testing listConflictingElements function
-------------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listConflictingElements
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listConflictingElements] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listConflictingElements is not empty
"""
log.D(self.test_15_listConflictingElements_Case.__doc__)
log.I("Command [listConflictingElements]")
out, err = self.pfw.sendCmd("listConflictingElements")
assert err == None, log.E("Command [listConflictingElements] : %s"%(err))
log.I("Command [listConflictingElements] - correctly executed")
def test_16_listRogueElements_Case(self):
"""
Testing listRogueElements function
-------------------------------
Test case description :
~~~~~~~~~~~~~~~~~~~~~~~
- listRogueElements
- check results
Tested commands :
~~~~~~~~~~~~~~~~~
- [listRogueElements] function
Expected result :
~~~~~~~~~~~~~~~~~
- string stdout due to listRogueElements is not empty
"""
log.D(self.test_16_listRogueElements_Case.__doc__)
log.I("Command [listRogueElements]")
out, err = self.pfw.sendCmd("listRogueElements")
assert err == None, log.E("Command [listRogueElements] : %s"%(err))
log.I("Command [listRogueElements] - correctly executed")