Home | History | Annotate | Download | only in Types
      1 # -*-coding:utf-8 -*
      2 
      3 # Copyright (c) 2011-2015, Intel Corporation
      4 # All rights reserved.
      5 #
      6 # Redistribution and use in source and binary forms, with or without modification,
      7 # are permitted provided that the following conditions are met:
      8 #
      9 # 1. Redistributions of source code must retain the above copyright notice, this
     10 # list of conditions and the following disclaimer.
     11 #
     12 # 2. Redistributions in binary form must reproduce the above copyright notice,
     13 # this list of conditions and the following disclaimer in the documentation and/or
     14 # other materials provided with the distribution.
     15 #
     16 # 3. Neither the name of the copyright holder nor the names of its contributors
     17 # may be used to endorse or promote products derived from this software without
     18 # specific prior written permission.
     19 #
     20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
     21 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     22 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     23 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
     24 # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     25 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     26 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
     27 # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     28 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     29 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     30 
     31 """
     32 Raw Value testcases.
     33 
     34 List of tested functions :
     35 --------------------------
     36     - [setParameter]  function
     37     - [getParameter] function
     38 
     39 Initial Settings :
     40 ------------------
     41     UINT16_MAX :
     42         - 16 bits Unsigned Integer
     43         - range [0x0, 0xFFFF]
     44     UINT_16 :
     45         - 16 bits Unsigned Integer
     46         - range [0x0, 0x03E8]
     47 
     48 Test cases :
     49 ------------
     50     - Testing setValueSpace/getValueSpace functions
     51     - Testing setOutputRawFormat/getOutputRawFormat functions
     52     - UINT16_max parameter in nominal case = 50 / 0x32 :
     53         - Writing Raw / Reading Hex
     54         - Writing Raw / Reading Dec
     55         - Writing Real / Reading Hex
     56     - UINT16_max parameter min value = 0 :
     57         - Writing Raw / Reading Hex
     58         - Writing Raw / Reading Dec
     59         - Writing Real / Reading Hex
     60     - UINT16_max parameter max value = 65535 / 0xFFFF :
     61         - Writing Raw / Reading Hex
     62         - Writing Raw / Reading Dec
     63         - Writing Real / Reading Hex
     64     - UINT16_max parameter max value out of bounds = 0x10000 :
     65         - Writing Raw
     66     - UINT16 parameter max value out of bounds = 0x03E9 :
     67         - Writing Raw
     68 """
     69 import os
     70 import commands
     71 from Util.PfwUnitTestLib import PfwTestCase
     72 from Util import ACTLogging
     73 log=ACTLogging.Logger()
     74 
     75 # Test of type UINT16 - range [0, 1000]
     76 class TestCases(PfwTestCase):
     77     def setUp(self):
     78         self.param_name = "/Test/Test/TEST_DIR/UINT16_Max"
     79         self.filesystem_name=os.environ["PFW_RESULT"] + "/UINT16_Max"
     80         self.param_name_2 = "/Test/Test/TEST_DIR/UINT16"
     81         self.filesystem_name_2=os.environ["PFW_RESULT"] + "/UINT16"
     82         self.pfw.sendCmd("setTuningMode", "on")
     83 
     84     def tearDown(self):
     85         self.pfw.sendCmd("setTuningMode", "off")
     86 
     87 
     88     def test_01_SettingOutputRawFormat(self):
     89         """
     90         Testing RAW - setOutputRawFormat/getOutputRawFormat functions
     91         -------------------------------------------------------------
     92             Test case description :
     93             ~~~~~~~~~~~~~~~~~~~~~~~
     94                 - set hex in output raw format
     95                 - get output raw format
     96                 - set dec in output raw format
     97                 - get output raw format
     98             Tested commands :
     99             ~~~~~~~~~~~~~~~~~
    100                 - [setOutputRawFormat] function
    101                 - [getOutputRawFormat] function
    102             Expected result :
    103             ~~~~~~~~~~~~~~~~~
    104                 - getOutputRawFormat return hex after setting hex
    105                 - getOutputRawFormat return dec after setting dec
    106         """
    107         log.D(self.test_01_SettingOutputRawFormat.__doc__)
    108         value = "hex"
    109         log.I("Setting %s in output raw format"
    110               %(value))
    111         out, err = self.pfw.sendCmd("setOutputRawFormat", value)
    112         assert err == None, log.E("When setting output raw format : %s"
    113                                   % (err))
    114         assert out == "Done", log.F("setOutputRawFormat - expected : Done , found : %s"
    115                                     % (out))
    116         log.I("Check output raw format state")
    117         out, err = self.pfw.sendCmd("getOutputRawFormat","")
    118         assert err == None, log.E("When getting output raw format : %s"
    119                                   % (err))
    120         assert out == value, log.F("getOutputRawFormat - expected : %s , found : %s"
    121                                    % (value,out))
    122         value = "dec"
    123         log.I("Setting %s in output raw format"
    124               %(value))
    125         out, err = self.pfw.sendCmd("setOutputRawFormat", value)
    126         assert err == None, log.E("When setting output raw format : %s"
    127                                   % (err))
    128         assert out == "Done", log.F("setOutputRawFormat - expected : Done , found : %s"
    129                                     % (out))
    130         log.I("Check output raw format state")
    131         out, err = self.pfw.sendCmd("getOutputRawFormat","")
    132         assert err == None, log.E("When getting output raw format : %s"
    133                                   % (err))
    134         assert out == value, log.F("getOutputRawFormat - expected : %s , found : %s"
    135                                    % (value,out))
    136 
    137     def test_02_SettingValueSpace(self):
    138         """
    139         Testing RAW - setValueSpace/getValueSpace functions
    140         ---------------------------------------------------
    141             Test case description :
    142             ~~~~~~~~~~~~~~~~~~~~~~~
    143                 - set raw in value space
    144                 - get value space
    145                 - set real in value space
    146                 - get value space
    147             Tested commands :
    148             ~~~~~~~~~~~~~~~~~
    149                 - [setValueSpace] function
    150                 - [getValueSpace] function
    151             Expected result :
    152             ~~~~~~~~~~~~~~~~~
    153                 - getValueSpace return 'raw' after setting raw
    154                 - getValueSpace return 'real' after setting real
    155         """
    156         log.D(self.test_02_SettingValueSpace.__doc__)
    157         value = "raw"
    158         log.I("Setting %s in value space"
    159               % (value))
    160         out, err = self.pfw.sendCmd("setValueSpace", value)
    161         assert err == None, log.E("When setting value space : %s"
    162                                   % (err))
    163         assert out == "Done", log.F("setValueSpace - expected : done , found : %s"
    164                                     % (out))
    165         log.I("check value space state")
    166         out, err = self.pfw.sendCmd("getValueSpace","")
    167         assert err == None, log.E("When setting value space : %s"
    168                                   % (err))
    169         assert out == value, log.F("getValueSpace - expected : %s , found : %s"
    170                                    % (value,out))
    171         value = "real"
    172         log.I("Setting %s in value space" % (value))
    173         out, err = self.pfw.sendCmd("setValueSpace", value)
    174         assert err == None, log.E("When setting value space : %s"
    175                                   % (err))
    176         assert out == "Done", log.F("setValueSpace - expected : done , found : %s"
    177                                     % (out))
    178         log.I("check value space state")
    179         out, err = self.pfw.sendCmd("getValueSpace","")
    180         assert err == None, log.E("When setting value space : %s"
    181                                   % (err))
    182         assert out == value, log.F("getValueSpace - expected : %s , found : %s"
    183                                    % (value,out))
    184 
    185     def test_03_WRaw_RHex_Nominal_Case(self):
    186         """
    187         Testing RAW - Nominal Case - UINT16_Max - Writing Raw / Reading Hex
    188         -------------------------------------------------------------------
    189             Test case description :
    190             ~~~~~~~~~~~~~~~~~~~~~~~
    191                 - UINT16_Max parameter in nominal case = 0x32
    192             Tested commands :
    193             ~~~~~~~~~~~~~~~~~
    194                 - [setParameter] function
    195             Used commands :
    196             ~~~~~~~~~~~~~~~
    197                 - [getParameter] function
    198             Expected result :
    199             ~~~~~~~~~~~~~~~~~
    200                 - UINT16_Max parameter set to 0x32
    201                 - Blackboard and filesystem values checked
    202         """
    203         log.D(self.test_03_WRaw_RHex_Nominal_Case.__doc__)
    204         value = "0xFF00"
    205         # When read back, parameter value will be in lowercase
    206         filesystem_value = "0xff00"
    207         blackboard_value = "0xFF00"
    208         value_space = "raw"
    209         outputraw_format = "hex"
    210 
    211         log.I("UINT16_Max parameter in nominal case = %s"
    212               %(value))
    213         log.I("Value space = %s - Output Raw Format = %s"
    214               %(value_space,outputraw_format))
    215         self.pfw.sendCmd("setValueSpace", value_space)
    216         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    217         #Set parameter value
    218         out, err = self.pfw.sendCmd("setParameter", self.param_name, value)
    219         assert err == None, log.E("When setting parameter %s : %s"
    220                                   % (self.param_name, err))
    221         assert out == "Done", log.F("setParameter - Unable to set the value %s for the  parameter %s"
    222                                     % (value,self.param_name))
    223         #Check parameter value on blackboard
    224         out, err = self.pfw.sendCmd("getParameter", self.param_name, "")
    225         assert err == None, log.E("When setting parameter %s : %s"
    226                                   % (self.param_name, err))
    227         assert out == blackboard_value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s"
    228                                               % (self.param_name, blackboard_value, out))
    229         #Check parameter value on filesystem
    230         assert open(self.filesystem_name).read()[:-1] == filesystem_value, log.F("FILESYSTEM : parameter update error for %s"
    231                                                                                               % (self.param_name))
    232 
    233     def test_04_WReal_RHex_Nominal_Case(self):
    234         """
    235         Testing RAW - Nominal Case - UINT16_Max - Writing Real / Reading Hex
    236         --------------------------------------------------------------------
    237             Test case description :
    238             ~~~~~~~~~~~~~~~~~~~~~~~
    239                 - UINT16_Max parameter in nominal case = 0x32
    240             Tested commands :
    241             ~~~~~~~~~~~~~~~~~
    242                 - [setParameter] function
    243             Used commands :
    244             ~~~~~~~~~~~~~~~
    245                 - [getParameter] function
    246             Expected result :
    247             ~~~~~~~~~~~~~~~~~
    248                 - UINT16_Max parameter set to 0x32
    249                 - Blackboard and filesystem values checked
    250                 - When value space setting to Real, Output Raw Format is
    251                 disabled. Even if Output Raw Format is setting to Hex, the
    252                 output is in decimal.
    253         """
    254         log.D(self.test_04_WReal_RHex_Nominal_Case.__doc__)
    255         value = "50"
    256         filesystem_value = "0x32"
    257         blackboard_value = "50"
    258         value_space = "real"
    259         outputraw_format = "hex"
    260 
    261         log.I("UINT16_Max parameter in nominal case = %s"
    262               %(value))
    263         log.I("Value space = %s - Output Raw Format = %s"
    264               %(value_space,outputraw_format))
    265         self.pfw.sendCmd("setValueSpace", value_space)
    266         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    267         #Set parameter value
    268         out, err = self.pfw.sendCmd("setParameter", self.param_name, value)
    269         assert err == None, log.E("When setting parameter %s : %s"
    270                                   % (self.param_name, err))
    271         assert out == "Done", log.F("setParameter - Unable to set the value %s for the  parameter %s"
    272                                     % (value,self.param_name))
    273         #Check parameter value on blackboard
    274         out, err = self.pfw.sendCmd("getParameter", self.param_name, "")
    275         assert err == None, log.E("When setting parameter %s : %s"
    276                                   % (self.param_name, err))
    277         assert out == blackboard_value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s"
    278                                               % (self.param_name, blackboard_value, out))
    279         #Check parameter value on filesystem
    280         assert open(self.filesystem_name).read()[:-1] == filesystem_value, log.F("FILESYSTEM : parameter update error for %s"
    281                                                                                               %(self.param_name))
    282 
    283     def test_05_WRaw_RDec_Nominal_Case(self):
    284         """
    285         Testing RAW - Nominal Case - UINT16_Max - Writing Raw / Reading Dec
    286         -------------------------------------------------------------------
    287             Test case description :
    288             ~~~~~~~~~~~~~~~~~~~~~~~
    289                 - UINT16_Max parameter in nominal case = 0x32
    290             Tested commands :
    291             ~~~~~~~~~~~~~~~~~
    292                 - [setParameter] function
    293                 - [setValueSpace] function
    294                 - [setOutputRawFormat] function
    295             Used commands :
    296             ~~~~~~~~~~~~~~~
    297                 - [getParameter] function
    298             Expected result :
    299             ~~~~~~~~~~~~~~~~~
    300                 - UINT16_Max parameter set to 0x32
    301                 - Blackboard and filesystem values checked
    302         """
    303         log.D(self.test_05_WRaw_RDec_Nominal_Case.__doc__)
    304         value = "0x32"
    305         filesystem_value = "0x32"
    306         blackboard_value = "50"
    307         value_space = "raw"
    308         outputraw_format = "dec"
    309 
    310         log.I("UINT16_Max parameter in nominal case = %s"
    311               %(value))
    312         log.I("Value space = %s - Output Raw Format = %s"
    313               %(value_space,outputraw_format))
    314         self.pfw.sendCmd("setValueSpace", value_space)
    315         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    316         #Set parameter value
    317         out, err = self.pfw.sendCmd("setParameter", self.param_name, value)
    318         assert err == None, log.E("When setting parameter %s : %s"
    319                                   % (self.param_name, err))
    320         assert out == "Done", log.F("setParameter - Unable to set the value %s for the  parameter %s"
    321                                     % (value,self.param_name))
    322         #Check parameter value on blackboard
    323         out, err = self.pfw.sendCmd("getParameter", self.param_name, "")
    324         assert err == None, log.E("When setting parameter %s : %s"
    325                                   % (self.param_name, err))
    326         assert out == blackboard_value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s"
    327                                               % (self.param_name, blackboard_value, out))
    328         #Check parameter value on filesystem
    329         assert open(self.filesystem_name).read()[:-1] == filesystem_value, log.F("FILESYSTEM : parameter update error for %s"
    330                                                                                               %(self.param_name))
    331 
    332 
    333 
    334     def test_06_WRaw_RHex_TypeMin_Case(self):
    335         """
    336         Testing RAW - Minimum Case - UINT16_Max - Writing Raw / Reading Hex
    337         -------------------------------------------------------------------
    338             Test case description :
    339             ~~~~~~~~~~~~~~~~~~~~~~~
    340                 - UINT16_Max parameter in nominal case = 0x0
    341             Tested commands :
    342             ~~~~~~~~~~~~~~~~~
    343                 - [setParameter] function
    344                 - [setValueSpace] function
    345                 - [setOutputRawFormat] function
    346             Used commands :
    347             ~~~~~~~~~~~~~~~
    348                 - [getParameter] function
    349             Expected result :
    350             ~~~~~~~~~~~~~~~~~
    351                 - UINT16_Max parameter set to 0x0
    352                 - Blackboard and filesystem values checked
    353 
    354         """
    355         log.D(self.test_06_WRaw_RHex_TypeMin_Case.__doc__)
    356         value = "0x0"
    357         filesystem_value = "0x0"
    358         blackboard_value = "0x0000"
    359         value_space = "raw"
    360         outputraw_format = "hex"
    361 
    362         log.I("UINT16_Max parameter in nominal case = %s"
    363               %(value))
    364         log.I("Value space = %s - Output Raw Format = %s"
    365               %(value_space,outputraw_format))
    366         self.pfw.sendCmd("setValueSpace", value_space)
    367         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    368         #Set parameter value
    369         out, err = self.pfw.sendCmd("setParameter", self.param_name, value)
    370         assert err == None, log.E("When setting parameter %s : %s"
    371                                   % (self.param_name, err))
    372         assert out == "Done", log.F("setParameter - Unable to set the value %s for the  parameter %s"
    373                                     %(value,self.param_name))
    374         #Check parameter value on blackboard
    375         out, err = self.pfw.sendCmd("getParameter", self.param_name, "")
    376         assert err == None, log.E("When setting parameter %s : %s"
    377                                   % (self.param_name, err))
    378         assert out == blackboard_value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s"
    379                                               % (self.param_name, blackboard_value, out))
    380         #Check parameter value on filesystem
    381         assert open(self.filesystem_name).read()[:-1] == filesystem_value, log.F("FILESYSTEM : parameter update error for %s"
    382                                                                                               %(self.param_name))
    383 
    384     def test_07_WReal_RHex_TypeMin_Case(self):
    385         """
    386         Testing RAW - Minimum Case - UINT16_Max - Writing Real / Reading Hex
    387         --------------------------------------------------------------------
    388             Test case description :
    389             ~~~~~~~~~~~~~~~~~~~~~~~
    390                 - UINT16_Max parameter in nominal case = 0x0
    391             Tested commands :
    392             ~~~~~~~~~~~~~~~~~
    393                 - [setParameter] function
    394                 - [setValueSpace] function
    395                 - [setOutputRawFormat] function
    396             Used commands :
    397             ~~~~~~~~~~~~~~~
    398                 - [getParameter] function
    399             Expected result :
    400             ~~~~~~~~~~~~~~~~~
    401                 - UINT16_Max parameter set to 0x0
    402                 - Blackboard and filesystem values checked
    403                 - When value space setting to Real, Output Raw Format is
    404                 disabled. Even if Output Raw Format is setting to Hex, the
    405                 output is in decimal.
    406         """
    407         log.D(self.test_07_WReal_RHex_TypeMin_Case.__doc__)
    408         value = "0"
    409         filesystem_value = "0x0"
    410         blackboard_value = "0"
    411         value_space = "real"
    412         outputraw_format = "hex"
    413 
    414         log.I("UINT16_Max parameter in nominal case = %s"
    415               %(value))
    416         log.I("Value space = %s - Output Raw Format = %s"
    417               %(value_space,outputraw_format))
    418         self.pfw.sendCmd("setValueSpace", value_space)
    419         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    420         #Set parameter value
    421         out, err = self.pfw.sendCmd("setParameter", self.param_name, value)
    422         assert err == None, log.E("When setting parameter %s : %s"
    423                                   % (self.param_name, err))
    424         assert out == "Done", log.F("setParameter - Unable to set the value %s for the  parameter %s"
    425                                     % (value,self.param_name))
    426         #Check parameter value on blackboard
    427         out, err = self.pfw.sendCmd("getParameter", self.param_name, "")
    428         assert err == None, log.E("When setting parameter %s : %s"
    429                                   % (self.param_name, err))
    430         assert out == blackboard_value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s"
    431                                               % (self.param_name, blackboard_value, out))
    432         #Check parameter value on filesystem
    433         assert open(self.filesystem_name).read()[:-1] == filesystem_value, log.F("FILESYSTEM : parameter update error for %s"
    434                                                                                               %(self.param_name))
    435 
    436     def test_08_WRaw_RDec_TypeMin_Case(self):
    437         """
    438         Testing RAW - Minimum Case - UINT16_Max - Writing raw / Reading dec
    439         -------------------------------------------------------------------
    440             Test case description :
    441             ~~~~~~~~~~~~~~~~~~~~~~~
    442                 - UINT16_Max parameter in nominal case = 0x0
    443             Tested commands :
    444             ~~~~~~~~~~~~~~~~~
    445                 - [setParameter] function
    446                 - [setValueSpace] function
    447                 - [setOutputRawFormat] function
    448             Used commands :
    449             ~~~~~~~~~~~~~~~
    450                 - [getParameter] function
    451             Expected result :
    452             ~~~~~~~~~~~~~~~~~
    453                 - UINT16_Max parameter set to 0x0
    454                 - Blackboard and filesystem values checked
    455                 - When value space setting to Real, Output Raw Format is
    456                 disabled. Even if Output Raw Format is setting to Hex, the
    457                 output is in decimal.
    458         """
    459         log.D(self.test_08_WRaw_RDec_TypeMin_Case.__doc__)
    460         value = "0x0"
    461         filesystem_value = "0x0"
    462         blackboard_value = "0"
    463         value_space = "raw"
    464         outputraw_format = "dec"
    465 
    466         log.I("UINT16_Max parameter in nominal case = %s"
    467               %(value))
    468         log.I("Value space = %s - Output Raw Format = %s"
    469               %(value_space,outputraw_format))
    470         self.pfw.sendCmd("setValueSpace", value_space)
    471         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    472         #Set parameter value
    473         out, err = self.pfw.sendCmd("setParameter", self.param_name, value)
    474         assert err == None, log.E("When setting parameter %s : %s"
    475                                   % (self.param_name, err))
    476         assert out == "Done", log.F("setParameter - Unable to set the value %s for the  parameter %s"
    477                                     % (value,self.param_name))
    478         #Check parameter value on blackboard
    479         out, err = self.pfw.sendCmd("getParameter", self.param_name, "")
    480         assert err == None, log.E("When setting parameter %s : %s"
    481                                   % (self.param_name, err))
    482         assert out == blackboard_value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s"
    483                                               % (self.param_name, blackboard_value, out))
    484         #Check parameter value on filesystem
    485         assert open(self.filesystem_name).read()[:-1] == filesystem_value, log.F("FILESYSTEM : parameter update error for %s"
    486                                                                                               %(self.param_name))
    487 
    488 
    489     def test_09_WRaw_RHex_TypeMax_Case(self):
    490         """
    491         Testing RAW - Maximum Case - UINT16_Max - Writing Raw / Reading Hex
    492         -------------------------------------------------------------------
    493             Test case description :
    494             ~~~~~~~~~~~~~~~~~~~~~~~
    495                 - UINT16_Max parameter in nominal case = 0xFFFF / 65535
    496             Tested commands :
    497             ~~~~~~~~~~~~~~~~~
    498                 - [setParameter] function
    499                 - [setValueSpace] function
    500                 - [setOutputRawFormat] function
    501             Used commands :
    502             ~~~~~~~~~~~~~~~
    503                 - [getParameter] function
    504             Expected result :
    505             ~~~~~~~~~~~~~~~~~
    506                 - UINT16_Max parameter set to 0xFFFF
    507                 - Blackboard and filesystem values checked
    508         """
    509         log.D(self.test_09_WRaw_RHex_TypeMax_Case.__doc__)
    510         value = "0xFFFF"
    511         filesystem_value = "0xffff"
    512         blackboard_value = "0xFFFF"
    513         value_space = "raw"
    514         outputraw_format = "hex"
    515 
    516         log.I("UINT16_Max parameter in nominal case = %s"
    517               %(value))
    518         log.I("Value space = %s - Output Raw Format = %s"
    519               %(value_space,outputraw_format))
    520         self.pfw.sendCmd("setValueSpace", value_space)
    521         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    522         #Set parameter value
    523         out, err = self.pfw.sendCmd("setParameter", self.param_name, value)
    524         assert err == None, log.E("When setting parameter %s : %s"
    525                                   % (self.param_name, err))
    526         assert out == "Done", log.F("setParameter - Unable to set the value %s for the  parameter %s"
    527                                     % (value,self.param_name))
    528         #Check parameter value on blackboard
    529         out, err = self.pfw.sendCmd("getParameter", self.param_name, "")
    530         assert err == None, log.E("When setting parameter %s : %s"
    531                                   % (self.param_name, err))
    532         assert out == blackboard_value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s"
    533                                               % (self.param_name, blackboard_value, out))
    534         #Check parameter value on filesystem
    535         assert open(self.filesystem_name).read()[:-1] == filesystem_value, log.F("FILESYSTEM : parameter update error for %s"
    536                                                                                               %(self.param_name))
    537 
    538     def test_10_WReal_RHex_TypeMax_Case(self):
    539         """
    540         Testing RAW - Maximum Case - UINT16_Max - Writing Real / Reading Hex
    541         --------------------------------------------------------------------
    542             Test case description :
    543             ~~~~~~~~~~~~~~~~~~~~~~~
    544                 - UINT16_Max parameter in nominal case = 0xFFFF / 65535
    545             Tested commands :
    546             ~~~~~~~~~~~~~~~~~
    547                 - [setParameter] function
    548                 - [setValueSpace] function
    549                 - [setOutputRawFormat] function
    550             Used commands :
    551             ~~~~~~~~~~~~~~~
    552                 - [getParameter] function
    553             Expected result :
    554             ~~~~~~~~~~~~~~~~~
    555                 - UINT16_Max parameter set to 0xFFFF
    556                 - Blackboard and filesystem values checked
    557                 - When value space setting to Real, Output Raw Format is
    558                 disabled. Even if Output Raw Format is setting to Hex, the
    559                 output is in decimal.
    560         """
    561         log.D(self.test_10_WReal_RHex_TypeMax_Case.__doc__)
    562         value = "65535"
    563         filesystem_value = "0xffff"
    564         blackboard_value = "65535"
    565         value_space = "real"
    566         outputraw_format = "hex"
    567 
    568         log.I("UINT16_Max parameter in nominal case = %s"
    569               %(value))
    570         log.I("Value space = %s - Output Raw Format = %s"
    571               %(value_space,outputraw_format))
    572         self.pfw.sendCmd("setValueSpace", value_space)
    573         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    574         #Set parameter value
    575         out, err = self.pfw.sendCmd("setParameter", self.param_name, value)
    576         assert err == None, log.E("When setting parameter %s : %s"
    577                                   % (self.param_name, err))
    578         assert out == "Done", log.F("setParameter - Unable to set the value %s for the  parameter %s"
    579                                     % (value,self.param_name))
    580         #Check parameter value on blackboard
    581         out, err = self.pfw.sendCmd("getParameter", self.param_name, "")
    582         assert err == None, log.E("When setting parameter %s : %s"
    583                                   % (self.param_name, err))
    584         assert out == blackboard_value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s"
    585                                               % (self.param_name, blackboard_value, out))
    586         #Check parameter value on filesystem
    587         assert open(self.filesystem_name).read()[:-1] == filesystem_value, log.F("FILESYSTEM : parameter update error for %s"
    588                                                                                               %(self.param_name))
    589 
    590     def test_11_WRaw_RDec_TypeMax_Case(self):
    591         """
    592         Testing RAW - Maximum Case - UINT16_Max - Writing Real / Reading Hex
    593         --------------------------------------------------------------------
    594             Test case description :
    595             ~~~~~~~~~~~~~~~~~~~~~~~
    596                 - UINT16_Max parameter in nominal case = 0xFFFF / 65535
    597             Tested commands :
    598             ~~~~~~~~~~~~~~~~~
    599                 - [setParameter] function
    600                 - [setValueSpace] function
    601                 - [setOutputRawFormat] function
    602             Used commands :
    603             ~~~~~~~~~~~~~~~
    604                 - [getParameter] function
    605             Expected result :
    606             ~~~~~~~~~~~~~~~~~
    607                 - UINT16_Max parameter set to 0xFFFF
    608                 - Blackboard and filesystem values checked
    609                 - When value space setting to Real, Output Raw Format is
    610                 disabled. Even if Output Raw Format is setting to Hex, the
    611                 output is in decimal.
    612         """
    613         log.D(self.test_11_WRaw_RDec_TypeMax_Case.__doc__)
    614         value = "0xFFFF"
    615         filesystem_value = "0xffff"
    616         blackboard_value = "65535"
    617         value_space = "raw"
    618         outputraw_format = "dec"
    619 
    620         log.I("UINT16_Max parameter in nominal case = %s"
    621               %(value))
    622         log.I("Value space = %s - Output Raw Format = %s"
    623               %(value_space,outputraw_format))
    624         self.pfw.sendCmd("setValueSpace", value_space)
    625         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    626         #Set parameter value
    627         out, err = self.pfw.sendCmd("setParameter", self.param_name, value)
    628         assert err == None, log.E("When setting parameter %s : %s"
    629                                   % (self.param_name, err))
    630         assert out == "Done", log.F("setParameter - Unable to set the value %s for the  parameter %s"
    631                                     % (value,self.param_name))
    632         #Check parameter value on blackboard
    633         out, err = self.pfw.sendCmd("getParameter", self.param_name, "")
    634         assert err == None, log.E("When setting parameter %s : %s"
    635                                   % (self.param_name, err))
    636         assert out == blackboard_value, log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s"
    637                                               % (self.param_name, blackboard_value, out))
    638         #Check parameter value on filesystem
    639         assert open(self.filesystem_name).read()[:-1] == filesystem_value, log.F("FILESYSTEM : parameter update error for %s"
    640                                                                                               %(self.param_name))
    641 
    642 
    643     def test_12_WRaw_UINT16_Max_OutOfBound(self):
    644         """
    645         Testing RAW - Out of range Case - UINT16_Max - Writing Raw
    646         ----------------------------------------------------------
    647             Test case description :
    648             ~~~~~~~~~~~~~~~~~~~~~~~
    649                 - UINT16_Max parameter in nominal case = 0x10000 / 65536
    650             Tested commands :
    651             ~~~~~~~~~~~~~~~~~
    652                 - [setParameter] function
    653                 - [setValueSpace] function
    654                 - [setOutputRawFormat] function
    655             Used commands :
    656             ~~~~~~~~~~~~~~~
    657                 - [getParameter] function
    658             Expected result :
    659             ~~~~~~~~~~~~~~~~~
    660                 - error detected
    661                 - UINT16_max parameter not updated
    662                 - Blackboard and filesystem values checked
    663         """
    664         log.D(self.test_12_WRaw_UINT16_Max_OutOfBound.__doc__)
    665         value = "0x10000"
    666         filesystem_value = open(self.filesystem_name).read()[:-1]
    667         value_space = "raw"
    668         outputraw_format = "hex"
    669 
    670         log.I("UINT16_Max parameter max value out of bound = %s"%(value))
    671         log.I("Value space = %s - Output Raw Format = %s"
    672               %(value_space,outputraw_format))
    673         self.pfw.sendCmd("setValueSpace", value_space)
    674         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    675         #Set parameter value
    676         out, err = self.pfw.sendCmd("setParameter", self.param_name, value, expectSuccess=False)
    677         assert err == None, log.E("when setting parameter %s -> %s"
    678                                   % (self.param_name, err))
    679         assert out != "Done", log.F("Error not detected when setting parameter %s out of bound"
    680                                     % (self.param_name))
    681         #Check parameter value on blackboard
    682         assert open(self.filesystem_name).read()[:-1] == filesystem_value, "FILESYSTEM : Forbiden parameter change"
    683 
    684 
    685     def test_13_WRaw_UINT16_OutOfBound(self):
    686         """
    687         Testing RAW - Out of range Case - UINT16 - Writing Raw
    688         ------------------------------------------------------
    689             Test case description :
    690             ~~~~~~~~~~~~~~~~~~~~~~~
    691                 - UINT16_Max parameter in nominal case = 0x03E9 / 1001
    692             Tested commands :
    693             ~~~~~~~~~~~~~~~~~
    694                 - [setParameter] function
    695                 - [setValueSpace] function
    696                 - [setOutputRawFormat] function
    697             Used commands :
    698             ~~~~~~~~~~~~~~~
    699                 - [getParameter] function
    700             Expected result :
    701             ~~~~~~~~~~~~~~~~~
    702                 - error detected
    703                 - UINT16 parameter not updated
    704                 - Blackboard and filesystem values checked
    705         """
    706         log.D(self.test_13_WRaw_UINT16_OutOfBound.__doc__)
    707         value = "0x03E9"
    708         filesystem_value = open(self.filesystem_name_2).read()[:-1]
    709         value_space = "raw"
    710         outputraw_format = "hex"
    711 
    712         log.I("UINT16_Max parameter max value out of bound = %s"%(value))
    713         log.I("Value space = %s - Output Raw Format = %s"
    714               %(value_space,outputraw_format))
    715         self.pfw.sendCmd("setValueSpace", value_space)
    716         self.pfw.sendCmd("setOutputRawFormat", outputraw_format)
    717         #Set parameter value
    718         out, err = self.pfw.sendCmd("setParameter", self.param_name_2, value, expectSuccess=False)
    719         assert err == None, log.E("when setting parameter %s -> %s"
    720                                   % (self.param_name_2, err))
    721         assert out != "Done", log.F("Error not detected when setting parameter %s out of bound"
    722                                     % (self.param_name_2))
    723         #Check parameter value on blackboard
    724         assert open(self.filesystem_name_2).read()[:-1] == filesystem_value, "FILESYSTEM : Forbiden parameter change"
    725