# Copyright (c) 2014 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. import codecs import os import tempfile import unittest from tracing_build import trace2html class Trace2HTMLTests(unittest.TestCase): def testWriteHTMLForTracesToFile(self): # Note: We can't use "with" when working with tempfile.NamedTemporaryFile as # that does not work on Windows. We use the longer, more clunky version # instead. See https://bugs.python.org/issue14243 for detials. raw_tmpfile = tempfile.NamedTemporaryFile( mode='w', suffix='.html', delete=False) raw_tmpfile.close() try: with codecs.open(raw_tmpfile.name, 'w', encoding='utf-8') as tmpfile: simple_trace_path = os.path.join( os.path.dirname(__file__), '..', 'test_data', 'simple_trace.json') big_trace_path = os.path.join( os.path.dirname(__file__), '..', 'test_data', 'big_trace.json') non_json_trace_path = os.path.join( os.path.dirname(__file__), '..', 'test_data', 'android_systrace.txt') trace2html.WriteHTMLForTracesToFile( [big_trace_path, simple_trace_path, non_json_trace_path], tmpfile) finally: os.remove(raw_tmpfile.name)