tests: Added GTests for base/str.cc
authorBobby R. Bruce <bbruce@ucdavis.edu>
Tue, 22 Oct 2019 23:16:10 +0000 (16:16 -0700)
committerBobby R. Bruce <bbruce@ucdavis.edu>
Thu, 24 Oct 2019 16:25:09 +0000 (16:25 +0000)
commit69930afa9b63c25baab86ff5fbe632fc02ce5369
treeb26df22c0621a2ab274a36a3ce332accdac1441d
parentf60383d060ed82400526a47a1ba3182253e9f2f5
tests: Added GTests for base/str.cc

Adding these tests supercedes the unittest/strnumtest.cc
and unittest/tokentest.cc tests. They have thereby been removed.

Function "to_number" in base/str.hh previously failed to cast negative
float/double numbers. This was due to the use of
std::numeric_limits<T>::min() instead of std::numeric_limits<T>::lowest()
to determine whether a string-to-float/double conversion was
"Out of range". Tests "StrTest.ToNumberFloatNegative" and
"StrTest.ToNumberDoubleNegative" exposed this bug. It has been fixed.

Methods "split_first" and "split_last" in base/str.hh have had their
documentation updated to remove abiguity in their functionality.

Change-Id: I16e0fe40d884e22dd010db4045857eb6e7f33d4a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22084
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/base/SConscript
src/base/str.hh
src/base/str.test.cc [new file with mode: 0644]
src/unittest/SConscript
src/unittest/strnumtest.cc [deleted file]
src/unittest/tokentest.cc [deleted file]