1c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# -*-coding:utf-8 -* 2c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 3c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# Copyright (c) 2011-2015, Intel Corporation 4c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# All rights reserved. 5c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 6c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# Redistribution and use in source and binary forms, with or without modification, 7c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# are permitted provided that the following conditions are met: 8c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 9c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 1. Redistributions of source code must retain the above copyright notice, this 10c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# list of conditions and the following disclaimer. 11c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 12c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 2. Redistributions in binary form must reproduce the above copyright notice, 13c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# this list of conditions and the following disclaimer in the documentation and/or 14c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# other materials provided with the distribution. 15c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 16c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 3. Neither the name of the copyright holder nor the names of its contributors 17c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# may be used to endorse or promote products derived from this software without 18c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# specific prior written permission. 19c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 20c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 24c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 27c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 31c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero""" 32c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules CleroInteger parameter type testcases - INT16 33c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 34c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules CleroList of tested functions : 35c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero-------------------------- 36c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setParameter] function 37c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getParameter] function 38c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 39c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules CleroInitial Settings : 40c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero------------------ 41c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero INT16 : 42c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - size = 16 43c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - range : [-1000, 1000] 44c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 45c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules CleroTest cases : 46c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero------------ 47c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - INT16 parameter min value = -1000 48c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - INT16 parameter min value out of bounds = -1001 49c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - INT16 parameter max value = 1000 50c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - INT16 parameter max value out of bounds = 1001 51c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - INT16 parameter in nominal case = 50 52c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero""" 53c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Cleroimport commands 54c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clerofrom Util.PfwUnitTestLib import PfwTestCase 55c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clerofrom Util import ACTLogging 56c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clerolog=ACTLogging.Logger() 57c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 58c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# Test of type INT16 - range [-1000, 1000] 59c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Cleroclass TestCases(PfwTestCase): 60c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def setUp(self): 61c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.param_name = "/Test/Test/TEST_DIR/INT16" 62c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.pfw.sendCmd("setTuningMode", "on") 63c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 64c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def tearDown(self): 65c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.pfw.sendCmd("setTuningMode", "off") 66c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 67c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def test_Nominal_Case(self): 68c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 69c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Testing INT16 in nominal case = 50 70c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ---------------------------------- 71c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Test case description : 72c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~~~~~~~ 73c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - set INT16 parameter in nominal case = 50 74c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Tested commands : 75c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 76c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setParameter] function 77c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Used commands : 78c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~ 79c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getParameter] function 80c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Expected result : 81c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 82c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - INT16 parameter set to 50 83c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Blackboard and filesystem values checked 84c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 85c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.D(self.test_Nominal_Case.__doc__) 86c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("INT16 parameter in nominal case = 50") 87c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero value = "50" 88c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero hex_value = "0x32" 89c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Set parameter value 90c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setParameter", self.param_name, value) 91c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, log.E("when setting parameter %s : %s" 92c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, err)) 93c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", log.F("when setting parameter %s : %s" 94c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, out)) 95c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Check parameter value on blackboard 96c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("getParameter", self.param_name, "") 97c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, log.E("when setting parameter %s : %s" 98c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, err)) 99c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s" 100c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, value, out)) 101c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Check parameter value on filesystem 102ec5130b950992fe79400ba66336d19169772a530Adrien M assert commands.getoutput('cat $PFW_RESULT/INT16') == hex_value, log.F("FILESYSTEM : parameter update error") 103c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("test OK") 104c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 105c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def test_TypeMin(self): 106c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 107c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Testing INT16 minimal value = -1000 108c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ----------------------------------- 109c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Test case description : 110c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~~~~~~~ 111c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - set INT16 parameter min value = -1000 112c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Tested commands : 113c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 114c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setParameter] function 115c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Used commands : 116c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~ 117c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getParameter] function 118c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Expected result : 119c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 120c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - INT16 parameter set to -1000 121c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Blackboard and filesystem values checked 122c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 123c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.D(self.test_TypeMin.__doc__) 124c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("INT16 parameter min value = -1000") 125c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero value = "-1000" 126c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero hex_value = "0xfc18" 127c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Set parameter value 128c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setParameter", self.param_name, value) 129c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, log.E("when setting parameter %s : %s" 130c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, err)) 131c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", log.F("when setting parameter %s : %s" 132c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, out)) 133c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Check parameter value on blackboard 134c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("getParameter", self.param_name, "") 135c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, log.E("when setting parameter %s : %s" 136c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, err)) 137c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s" 138c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, value, out)) 139c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Check parameter value on filesystem 140ec5130b950992fe79400ba66336d19169772a530Adrien M assert commands.getoutput('cat $PFW_RESULT/INT16') == hex_value, log.F("FILESYSTEM : parameter update error") 141c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("test OK") 142c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 143c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def test_TypeMin_Overflow(self): 144c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 145c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Testing INT16 parameter value out of negative range 146c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero --------------------------------------------------- 147c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Test case description : 148c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~~~~~~~ 149c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - set INT16 to -1001 150c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Tested commands : 151c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 152c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setParameter] function 153c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Used commands : 154c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~ 155c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getParameter] function 156c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Expected result : 157c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 158c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - error detected 159c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - INT16 parameter not updated 160c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Blackboard and filesystem values checked 161c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 162c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.D(self.test_TypeMin_Overflow.__doc__) 163c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("INT16 parameter min value out of bounds = -1001") 164c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero value = "-1001" 165ec5130b950992fe79400ba66336d19169772a530Adrien M param_check = commands.getoutput('cat $PFW_RESULT/INT16') 166c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Set parameter value 167c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setParameter", self.param_name, value) 168c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, log.E("when setting parameter %s : %s" 169c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, err)) 170c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", log.F("PFW : Error not detected when setting parameter %s out of bounds" 171c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name)) 172c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Check parameter value on filesystem 173ec5130b950992fe79400ba66336d19169772a530Adrien M assert commands.getoutput('cat $PFW_RESULT/INT16') == param_check, log.F("FILESYSTEM : Forbiden parameter change") 174c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("test OK") 175c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 176c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def test_TypeMax(self): 177c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 178c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Testing INT16 parameter maximum value 179c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ------------------------------------- 180c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Test case description : 181c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~~~~~~~ 182c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - set INT16 to 1000 183c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Tested commands : 184c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 185c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setParameter] function 186c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Used commands : 187c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~ 188c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getParameter] function 189c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Expected result : 190c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 191c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - INT16 parameter set to 1000 192c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Blackboard and filesystem values checked 193c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 194c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.D(self.test_TypeMax.__doc__) 195c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("INT16 parameter max value = 1000") 196c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero value = "1000" 197c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero hex_value = "0x3e8" 198c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Set parameter value 199c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setParameter", self.param_name, value) 200c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, log.E("when setting parameter %s : %s" 201c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, err)) 202c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", log.F("when setting parameter %s : %s" 203c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, out)) 204c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Check parameter value on blackboard 205c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("getParameter", self.param_name, "") 206c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, log.E("when setting parameter %s : %s" 207c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, err)) 208c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s" 209c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, value, out)) 210c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Check parameter value on filesystem 211ec5130b950992fe79400ba66336d19169772a530Adrien M assert commands.getoutput('cat $PFW_RESULT/INT16') == hex_value, log.F("FILESYSTEM : parameter update error") 212c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("test OK") 213c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 214c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def test_TypeMax_Overflow(self): 215c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 216c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Testing INT16 parameter value out of positive range 217c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero --------------------------------------------------- 218c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Test case description : 219c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~~~~~~~ 220c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - set INT16 to 1001 221c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Tested commands : 222c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 223c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setParameter] function 224c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Used commands : 225c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~ 226c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getParameter] function 227c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Expected result : 228c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 229c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - error detected 230c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - INT16 parameter not updated 231c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Blackboard and filesystem values checked 232c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 233c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.D(self.test_TypeMax_Overflow.__doc__) 234c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("INT16 parameter max value out of bounds = 1001") 235c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero value = "1001" 236ec5130b950992fe79400ba66336d19169772a530Adrien M param_check = commands.getoutput('cat $PFW_RESULT/INT16') 237c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Set parameter value 238c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setParameter", self.param_name, value) 239c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, log.E("when setting parameter %s : %s" 240c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name, err)) 241c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", log.F("PFW : Error not detected when setting parameter %s out of bounds" 242c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero % (self.param_name)) 243c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Check parameter value on filesystem 244ec5130b950992fe79400ba66336d19169772a530Adrien M assert commands.getoutput('cat $PFW_RESULT/INT16') == param_check, log.F("FILESYSTEM : Forbiden parameter change") 245c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("test OK") 246