| Index: telemetry/telemetry/value/scalar.py
|
| diff --git a/telemetry/telemetry/value/scalar.py b/telemetry/telemetry/value/scalar.py
|
| index 2789b81319e9224333c4178683afc3b23dceebec..8dcd482f7fb0f6ee4758f854c91af4c2c452649c 100644
|
| --- a/telemetry/telemetry/value/scalar.py
|
| +++ b/telemetry/telemetry/value/scalar.py
|
| @@ -78,7 +78,15 @@ class ScalarValue(summarizable.SummarizableValue):
|
| @staticmethod
|
| def FromDict(value_dict, page_dict):
|
| kwargs = value_module.Value.GetConstructorKwArgs(value_dict, page_dict)
|
| - kwargs['value'] = value_dict['value']
|
| +
|
| + # Infinity and NaN are left out of JSON for security reasons that do not
|
| + # apply to our use cases, so TBMv2 serializes them as strings,
|
| + # but TBMv1 doesn't support them.
|
| + if value_dict['value'] in ['Infinity', '-Infinity', 'NaN']:
|
| + kwargs['value'] = None
|
| + kwargs['none_value_reason'] = 'value was ' + value_dict['value']
|
| + else:
|
| + kwargs['value'] = value_dict['value']
|
|
|
| if 'improvement_direction' in value_dict:
|
| kwargs['improvement_direction'] = value_dict['improvement_direction']
|
|
|