Skip to content
This repository was archived by the owner on Aug 5, 2022. It is now read-only.

Commit 965b2af

Browse files
author
Sebastien Guiriec
authored
Merge pull request #404 from sguiriec/topic/fix_dump_element
topic/fix dump element
2 parents e678467 + 2bad684 commit 965b2af

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

parameter/ArrayParameter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ bool CArrayParameter::access(std::vector<string> &astrValues, bool bSet,
171171
string CArrayParameter::logValue(CParameterAccessContext &context) const
172172
{
173173
// Dump values
174-
return getValues(0, context);
174+
return getValues(getOffset() - context.getBaseOffset(), context);
175175
}
176176

177177
// Used for simulation and virtual subsystems

test/functional-tests-legacy/PfwTestCase/Types/tINT16_ARRAY.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,42 @@ def test_Min_Value(self):
157157
indexed_files_system_array_value = open(self.param_short_name).read().splitlines()[index]
158158
assert indexed_files_system_array_value == hex_indexed_array_value, log.F("FILESSYSTEM : %s[%s] update error"
159159
% (self.param_name, str(index)))
160+
def test_dump_Values(self):
161+
"""
162+
Testing INT16_ARRAY dump value
163+
---------------------------------
164+
Test case description :
165+
~~~~~~~~~~~~~~~~~~~~~~~
166+
- Set every INT16_ARRAY elements to values : 1 0 -50 0 0
167+
Tested commands :
168+
~~~~~~~~~~~~~~~~~
169+
- [setParameter] function
170+
Used commands :
171+
~~~~~~~~~~~~~~~
172+
- [getParameter] function
173+
Expected result :
174+
~~~~~~~~~~~~~~~~~
175+
- INT16_ARRAY array elements correctly recorded
176+
- Blackboard and filesystem values checked
177+
"""
178+
log.D(self.test_dump_Values.__doc__)
179+
index = 2
180+
indexed_array_value = self.array_min
181+
indexed_array_value_path = "".join([self.param_name, "/", str(index)])
182+
hex_indexed_array_value = hex(c_uint16(indexed_array_value).value)
183+
#Check parameter value setting
184+
out, err = self.pfw.sendCmd("setParameter", str(indexed_array_value_path), str(indexed_array_value))
185+
assert err == None, log.E("when setting parameter %s[%s]: %s"
186+
% (self.param_name, str(index), err))
187+
assert out == "Done", log.E("when setting parameter %s[%s]: %s"
188+
% (self.param_name, str(index), out))
189+
#Check parameter value on blackboard
190+
out, err = self.pfw.sendCmd("dumpElement", str(self.param_name), "")
191+
#out, err = self.pfw.sendCmd("getParameter", str(indexed_array_value_path), "")
192+
assert err == None, log.E("when setting parameter %s[%s] : %s"
193+
% (self.param_name, str(index), err))
194+
assert out == str("- IntegerParameter: INT16_ARRAY = 1 0 -50 0 0"), log.F("BLACKBOARD : Incorrect value for %s, expected: %s, found: %s"
195+
% (self.param_name, str("- IntegerParameter: INT16_ARRAY = 1 0 -50 0 0"), out))
160196

161197
def test_Min_Value_Overflow(self):
162198
"""

0 commit comments

Comments
 (0)