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