Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: tools/variations/fieldtrial_util_unittest.py

Issue 1209743002: Generate a static struct from fieldtrial_testing_config (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@codegen_nested_structs
Patch Set: add +x file permission Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/variations/fieldtrial_util.py ('k') | tools/variations/unittest_data/expected_output.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import unittest 5 import unittest
6
6 import fieldtrial_util 7 import fieldtrial_util
8 import os
7 import tempfile 9 import tempfile
8 10
9 11
10 class FieldTrialUtilUnittest(unittest.TestCase): 12 class FieldTrialUtilUnittest(unittest.TestCase):
11 13
12 def test_GenArgsEmptyPaths(self): 14 def test_GenArgsEmptyPaths(self):
13 args = fieldtrial_util.GenerateArgs('', '') 15 args = fieldtrial_util.GenerateArgs('')
14 self.assertEqual([], args) 16 self.assertEqual([], args)
15 17
16 def test_GenArgsOneConfig(self): 18 def test_GenArgsOneConfig(self):
17 with tempfile.NamedTemporaryFile('w') as base_file: 19 with tempfile.NamedTemporaryFile('w', delete=False) as base_file:
18 config = '''{ 20 config = '''{
19 "BrowserBlackList": [ 21 "BrowserBlackList": [
20 { "group_name": "Enabled" } 22 { "group_name": "Enabled" }
21 ], 23 ],
22 "c": [ 24 "c": [
23 { 25 {
24 "group_name": "d.", 26 "group_name": "d.",
25 "params": {"url": "http://www.google.com"} 27 "params": {"url": "http://www.google.com"}
26 } 28 }
27 ], 29 ],
28 "SimpleParams": [ 30 "SimpleParams": [
29 { 31 {
30 "group_name": "Default", 32 "group_name": "Default",
31 "params": {"id": "abc"} 33 "params": {"id": "abc"}
32 } 34 }
33 ] 35 ]
34 }''' 36 }'''
35 base_file.write(config) 37 try:
36 base_file.flush() 38 base_file.write(config)
37 39 base_file.close()
38 result = fieldtrial_util.GenerateArgs(base_file.name) 40 result = fieldtrial_util.GenerateArgs(base_file.name)
39 self.assertEqual(['--force-fieldtrials='
40 'BrowserBlackList/Enabled/c/d./SimpleParams/Default',
41 '--force-fieldtrial-params='
42 'c.d%2E:url/http%3A%2F%2Fwww%2Egoogle%2Ecom,'
43 'SimpleParams.Default:id/abc'], result)
44
45 def test_GenArgsOverrideConfig(self):
46 with tempfile.NamedTemporaryFile('w') as base_file:
47 config = '''{
48 "a": [
49 { "group_name": "b" }
50 ],
51 "c": [
52 { "group_name": "d" }
53 ]
54 }'''
55 base_file.write(config)
56 base_file.flush()
57 with tempfile.NamedTemporaryFile('w') as platform_file:
58 config = '''{
59 "a": [
60 { "group_name": "1" }
61 ],
62 "b": [
63 { "group_name": "bgroup" }
64 ]
65 }'''
66 platform_file.write(config)
67 platform_file.flush()
68 result = fieldtrial_util.GenerateArgs(base_file.name,
69 platform_file.name)
70 self.assertEqual(['--force-fieldtrials=' 41 self.assertEqual(['--force-fieldtrials='
71 'a/1/c/d/b/bgroup'], result) 42 'BrowserBlackList/Enabled/c/d./SimpleParams/Default',
43 '--force-fieldtrial-params='
44 'c.d%2E:url/http%3A%2F%2Fwww%2Egoogle%2Ecom,'
45 'SimpleParams.Default:id/abc'], result)
46 finally:
47 os.unlink(base_file.name)
72 48
73 if __name__ == '__main__': 49 if __name__ == '__main__':
74 unittest.main() 50 unittest.main()
OLDNEW
« no previous file with comments | « tools/variations/fieldtrial_util.py ('k') | tools/variations/unittest_data/expected_output.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698