Commit 980759fb authored by Alexei Svitkine's avatar Alexei Svitkine

Reland "Make histograms/pretty_print_test.py run on the bots."

This reverts commit 9cf546ab.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Make histograms/pretty_print_test.py run on the bots."
> 
> This reverts commit 5c5ce638.
> 
> Reason for revert: broke the build
> 
> Original change's description:
> > Make histograms/pretty_print_test.py run on the bots.
> > 
> > This test was added via:
> > https://chromium-review.googlesource.com/1244553
> > 
> > This is a follow-up CL to add it to metrics_python_tests so
> > that it will run on the bots.
> > 
> > Renames Python files to avoid name collisions between
> > different scripts, so that they can run together as part of
> > metrics_python_tests. Also fixes up the rappor model test
> > and adds it to the suite.
> > 
> > Bug: 714123
> > Change-Id: I466584493f7090decdb8b21217347a905b3e6391
> > Reviewed-on: https://chromium-review.googlesource.com/c/1255596
> > Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> > Commit-Queue: Alexei Svitkine <asvitkine@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#596921}
> 
> TBR=dpranke@chromium.org,asvitkine@chromium.org,holte@chromium.org
> 
> Change-Id: Iebebe68f9c4c4da11e6e79fc14b9853bea737e5c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 714123
> Reviewed-on: https://chromium-review.googlesource.com/c/1263434
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#596931}

TBR=dcheng@chromium.org,dpranke@chromium.org,asvitkine@chromium.org,holte@chromium.org

Change-Id: Ie026170296321cd0cbd4a6fd57506f88388ba295
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 714123
Reviewed-on: https://chromium-review.googlesource.com/c/1263238Reviewed-by: default avatarAlexei Svitkine <asvitkine@chromium.org>
Commit-Queue: Alexei Svitkine <asvitkine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596936}
parent 2daf18b5
......@@ -88,10 +88,9 @@ group("metrics_python_tests") {
"//tools/metrics/metrics_python_tests.py",
"//tools/metrics/actions/action_utils.py",
"//tools/metrics/actions/actions_print_style.py",
"//tools/metrics/actions/extract_actions.py",
"//tools/metrics/actions/extract_actions_test.py",
"//tools/metrics/actions/pretty_print.py",
"//tools/metrics/actions/print_style.py",
"//tools/metrics/common/diff_util.py",
"//tools/metrics/common/models.py",
......@@ -102,13 +101,16 @@ group("metrics_python_tests") {
"//tools/metrics/histograms/extract_histograms.py",
"//tools/metrics/histograms/generate_expired_histograms_array.py",
"//tools/metrics/histograms/generate_expired_histograms_array_unittest.py",
"//tools/metrics/histograms/histograms_print_style.py",
"//tools/metrics/histograms/merge_xml.py",
"//tools/metrics/histograms/pretty_print.py",
"//tools/metrics/histograms/pretty_print_test.py",
"//tools/metrics/rappor/model.py",
"//tools/metrics/rappor/pretty_print_test.py",
"//tools/metrics/rappor/rappor_model.py",
"//tools/metrics/rappor/rappor_model_test.py",
"//tools/metrics/ukm/model.py",
"//tools/metrics/ukm/pretty_print_test.py",
"//tools/metrics/ukm/ukm_model.py",
"//tools/metrics/ukm/ukm_model_test.py",
"//tools/python/google/path_utils.py",
......
......@@ -32,7 +32,7 @@ import sys
from xml.dom import minidom
import action_utils
import print_style
import actions_print_style
# Import the metrics/common module for pretty print xml.
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common'))
......@@ -712,7 +712,7 @@ def PrettyPrint(actions_dict, comment_nodes, suffixes):
for suffix_tag in suffixes:
actions_element.appendChild(suffix_tag)
return print_style.GetPrintStyle().PrettyPrintXml(doc)
return actions_print_style.GetPrintStyle().PrettyPrintXml(doc)
def UpdateXml(original_xml):
......
#!/usr/bin/env python
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
......
......@@ -24,7 +24,7 @@ sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common'))
import diff_util
import presubmit_util
import print_style
import histograms_print_style
class Error(Exception):
......@@ -102,7 +102,7 @@ def PrettyPrintHistogramsTree(tree):
DropNodesByTagName(tree, 'enums')
canonicalizeUnits(tree)
fixObsoleteOrder(tree)
return print_style.GetPrintStyle().PrettyPrintXml(tree)
return histograms_print_style.GetPrintStyle().PrettyPrintXml(tree)
def PrettyPrintEnums(raw_xml):
......@@ -111,7 +111,7 @@ def PrettyPrintEnums(raw_xml):
# Prevent accidentally adding histograms to enums.xml
DropNodesByTagName(tree, 'histograms')
DropNodesByTagName(tree, 'histogram_suffixes_list')
return print_style.GetPrintStyle().PrettyPrintXml(tree)
return histograms_print_style.GetPrintStyle().PrettyPrintXml(tree)
def main():
......
......@@ -22,7 +22,9 @@ def resolve(*paths):
sys.exit(typ.main(tests=resolve(
'actions/extract_actions_test.py',
'histograms/generate_expired_histograms_array_unittest.py',
'ukm/pretty_print_test.py',
'histograms/pretty_print_test.py',
'rappor/rappor_model_test.py',
'ukm/ukm_model_test.py',
"../json_comment_eater/json_comment_eater_test.py",
"../json_to_struct/element_generator_test.py",
"../json_to_struct/struct_generator_test.py",
......
......@@ -7,13 +7,13 @@ import logging
import os
import sys
import model
import rappor_model
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common'))
import presubmit_util
def main(argv):
presubmit_util.DoPresubmitMain(argv, 'rappor.xml', 'rappor.old.xml',
'pretty_print.py', model.UpdateXML)
'pretty_print.py', rappor_model.UpdateXML)
if '__main__' == __name__:
......
......@@ -6,10 +6,9 @@
from __future__ import unicode_literals
import copy
import json
import unittest
import model
import rappor_model
PUBLIC_XML_SNIPPET = """
<rappor-configuration>
......@@ -90,16 +89,16 @@ PUBLIC_XML_SNIPPET = """
"""
PARSED_XML = {
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'noiseLevels': {
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'levels': [
{
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'name': 'NO_NOISE',
'summary': 'NO_NOISE description.',
'values': {
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'fake-prob': 0.0,
'fake-one-prob': 0.0,
'one-coin-prob': 1.0,
......@@ -107,11 +106,11 @@ PARSED_XML = {
},
},
{
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'name': 'NORMAL_NOISE',
'summary': 'NORMAL_NOISE description.',
'values': {
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'fake-prob': 0.5,
'fake-one-prob': 0.5,
'one-coin-prob': 0.75,
......@@ -121,14 +120,14 @@ PARSED_XML = {
]
},
'parameterTypes': {
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'types': [
{
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'name': 'ETLD_PLUS_ONE',
'summary': 'ETLD+1 parameters.',
'parameters': {
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'num-cohorts': 128,
'bytes': 16,
'hash-functions': 2,
......@@ -137,11 +136,11 @@ PARSED_XML = {
},
},
{
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'name': 'SAFEBROWSING_RAPPOR_TYPE',
'summary': 'SAFEBROWSING parameters.',
'parameters': {
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'num-cohorts': 128,
'bytes': 1,
'hash-functions': 2,
......@@ -152,24 +151,24 @@ PARSED_XML = {
]
},
'metrics': {
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'metrics': [{
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'name':
'MultiD.TestMetric',
'flags': [{
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'name':
'flags',
'summary':
'Flags Summary.',
'flags': [
{
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'summary': 'Bit 0'
},
{
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'summary': 'What it means',
'label': 'MyBit',
'bit': 1,
......@@ -178,7 +177,7 @@ PARSED_XML = {
}],
'owners': ['holte@chromium.org'],
'strings': [{
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'name': 'domain',
'summary': 'Domain Summary.',
}],
......@@ -188,7 +187,7 @@ PARSED_XML = {
'SAFEBROWSING_RAPPOR_TYPE',
'uint64': [],
}, {
model.models.COMMENT_KEY: [],
rappor_model.models.COMMENT_KEY: [],
'name': 'Search.DefaultSearchProvider',
'flags': [],
'owners': ['holte@chromium.org'],
......@@ -275,14 +274,14 @@ PRETTY_PRINTED_XML = """<rappor-configuration>
class RapporModelTest(unittest.TestCase):
def testParse(self):
parsed = model.RAPPOR_XML_TYPE.Parse(PUBLIC_XML_SNIPPET)
parsed = rappor_model.RAPPOR_XML_TYPE.Parse(PUBLIC_XML_SNIPPET)
self.assertEqual(PARSED_XML, parsed)
def testUpdate(self):
updated = model.UpdateXML(PUBLIC_XML_SNIPPET)
updated = rappor_model.UpdateXML(PUBLIC_XML_SNIPPET)
# Compare list of lines for nicer diff on errors.
self.assertEqual(PRETTY_PRINTED_XML.split('\n'), updated.split('\n'))
reprinted = model.UpdateXML(updated)
reprinted = rappor_model.UpdateXML(updated)
self.assertEqual(PRETTY_PRINTED_XML.split('\n'), reprinted.split('\n'))
def testIsValidNoise(self):
......@@ -296,19 +295,19 @@ class RapporModelTest(unittest.TestCase):
'zero-coin-prob': 0.25,
},
}
self.assertTrue(model._IsValidNoiseLevel(valid_noise_level))
self.assertTrue(rappor_model._IsValidNoiseLevel(valid_noise_level))
invalid_noise_level = copy.copy(valid_noise_level)
del invalid_noise_level['name']
self.assertFalse(model._IsValidNoiseLevel(invalid_noise_level))
self.assertFalse(rappor_model._IsValidNoiseLevel(invalid_noise_level))
invalid_noise_level = copy.copy(valid_noise_level)
del invalid_noise_level['summary']
self.assertFalse(model._IsValidNoiseLevel(invalid_noise_level))
self.assertFalse(rappor_model._IsValidNoiseLevel(invalid_noise_level))
invalid_noise_level = copy.copy(valid_noise_level)
del invalid_noise_level['values']
self.assertFalse(model._IsValidNoiseLevel(invalid_noise_level))
self.assertFalse(rappor_model._IsValidNoiseLevel(invalid_noise_level))
invalid_noise_level = copy.deepcopy(valid_noise_level)
del invalid_noise_level['values']['fake-prob']
self.assertFalse(model._IsValidNoiseLevel(invalid_noise_level))
self.assertFalse(rappor_model._IsValidNoiseLevel(invalid_noise_level))
def testIsValidRapporType(self):
noise_level_names = {'NORMAL_NOISE'}
......@@ -323,7 +322,8 @@ class RapporModelTest(unittest.TestCase):
'noise-level': 'NORMAL_NOISE',
},
}
self.assertTrue(model._IsValidRapporType(valid_type, noise_level_names))
self.assertTrue(rappor_model._IsValidRapporType(valid_type,
noise_level_names))
def testIsValidRapporMetric(self):
type_names = {'ETLD_PLUS_ONE'}
......@@ -336,19 +336,19 @@ class RapporModelTest(unittest.TestCase):
'type': 'ETLD_PLUS_ONE',
'uint64': [],
}
self.assertTrue(model._IsValidMetric(valid_metric, type_names))
self.assertTrue(rappor_model._IsValidMetric(valid_metric, type_names))
invalid_metric = copy.copy(valid_metric)
del invalid_metric['name']
self.assertFalse(model._IsValidMetric(invalid_metric, type_names))
self.assertFalse(rappor_model._IsValidMetric(invalid_metric, type_names))
invalid_metric = copy.copy(valid_metric)
del invalid_metric['summary']
self.assertFalse(model._IsValidMetric(invalid_metric, type_names))
self.assertFalse(rappor_model._IsValidMetric(invalid_metric, type_names))
invalid_metric = copy.copy(valid_metric)
invalid_metric['type'] = 'FOO'
self.assertFalse(model._IsValidMetric(invalid_metric, type_names))
self.assertFalse(rappor_model._IsValidMetric(invalid_metric, type_names))
invalid_metric = copy.copy(valid_metric)
invalid_metric['owners'] = []
self.assertFalse(model._IsValidMetric(invalid_metric, type_names))
self.assertFalse(rappor_model._IsValidMetric(invalid_metric, type_names))
if __name__ == '__main__':
......
......@@ -6,7 +6,7 @@
import os
import sys
import model
import ukm_model
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common'))
import presubmit_util
......@@ -14,7 +14,7 @@ import presubmit_util
def main(argv):
presubmit_util.DoPresubmitMain(argv, 'ukm.xml', 'ukm.old.xml',
'pretty_print.py', model.UpdateXML)
'pretty_print.py', ukm_model.UpdateXML)
if '__main__' == __name__:
......
......@@ -5,7 +5,7 @@
import unittest
import model
import ukm_model
PRETTY_XML = """
......@@ -34,7 +34,7 @@ PRETTY_XML = """
class UkmXmlTest(unittest.TestCase):
def testIsPretty(self):
result = model.UpdateXML(PRETTY_XML)
result = ukm_model.UpdateXML(PRETTY_XML)
self.assertMultiLineEqual(PRETTY_XML, result.strip())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment