Fix FullScreen crash in Webapp
[platform/framework/web/chromium-efl.git] / testing / merge_scripts / common_merge_script_tests.py
1 # Copyright 2018 The Chromium Authors
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import json
6 import os
7 import shutil
8 import tempfile
9 import unittest
10
11
12 class CommandLineTest(unittest.TestCase):
13   # pylint: disable=super-with-arguments
14   def __init__(self, methodName, module):
15     super(CommandLineTest, self).__init__(methodName)
16     self._module = module
17   # pylint: disable=super-with-arguments
18
19   def setUp(self):
20     self.temp_dir = tempfile.mkdtemp(prefix='common_merge_script_tests')
21
22   def tearDown(self):
23     shutil.rmtree(self.temp_dir)
24
25   def test_accepts_task_output_dir(self):
26     task_output_dir = os.path.join(self.temp_dir, 'task_output_dir')
27     shard0_dir = os.path.join(task_output_dir, '0')
28     os.makedirs(shard0_dir)
29     summary_json = os.path.join(task_output_dir, 'summary.json')
30     with open(summary_json, 'w') as summary_file:
31       summary_contents = {
32         u'shards': [
33           {
34             u'state': u'COMPLETED',
35           },
36         ],
37       }
38       json.dump(summary_contents, summary_file)
39
40     shard0_json = os.path.join(shard0_dir, 'output.json')
41     with open(shard0_json, 'w') as shard0_file:
42       json.dump({}, shard0_file)
43
44     output_json = os.path.join(self.temp_dir, 'merged.json')
45
46     raw_args = [
47       '--task-output-dir', task_output_dir,
48       '--summary-json', summary_json,
49       '--output-json', output_json,
50       shard0_json,
51     ]
52     self.assertEqual(0, self._module.main(raw_args))