mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 12:24:24 +00:00
6b6b28e065
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18 260f80e4-7a28-3924-810f-c04153c831b5
81 lines
2.6 KiB
Python
Executable file
81 lines
2.6 KiB
Python
Executable file
#!/usr/bin/env python
|
|
#
|
|
# Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
|
|
# for details. All rights reserved. Use of this source code is governed by a
|
|
# BSD-style license that can be found in the LICENSE file.
|
|
#
|
|
|
|
"""Unit tests for make_bundle.py."""
|
|
|
|
import os
|
|
from os import path
|
|
import shutil
|
|
import subprocess
|
|
import sys
|
|
import tempfile
|
|
import unittest
|
|
|
|
import make_bundle
|
|
|
|
|
|
class BundleMakerTest(unittest.TestCase):
|
|
"""Unit test class for BundleMaker."""
|
|
|
|
def setUp(self):
|
|
self._tempdir = tempfile.mkdtemp()
|
|
self._top_dir = path.normpath(path.join(path.dirname(sys.argv[0]),
|
|
os.pardir))
|
|
self._dest = path.join(self._tempdir, 'new_bundle')
|
|
|
|
def tearDown(self):
|
|
shutil.rmtree(self._tempdir)
|
|
|
|
def testBuildOptions(self):
|
|
op = make_bundle.BundleMaker.BuildOptions()
|
|
op.parse_args(args=[])
|
|
|
|
def testCheckOptions(self):
|
|
op = make_bundle.BundleMaker.BuildOptions()
|
|
options = make_bundle.BundleMaker.CheckOptions(op, self._top_dir,
|
|
['--dest', self._dest])
|
|
self.failUnless(path.exists(self._dest))
|
|
os.rmdir(self._dest)
|
|
self.assertEquals(self._dest, options['dest'])
|
|
self.assertEquals(self._top_dir, options['top_dir'])
|
|
self.failIf(options['verbose'])
|
|
self.failIf(options['skip_build'])
|
|
options = make_bundle.BundleMaker.CheckOptions(op, self._top_dir,
|
|
['--dest', self._dest, '-v'])
|
|
self.failUnless(path.exists(self._dest))
|
|
self.assertEquals(self._dest, options['dest'])
|
|
self.assertEquals(self._top_dir, options['top_dir'])
|
|
self.failUnless(options['verbose'])
|
|
self.failIf(options['skip_build'])
|
|
|
|
def _RunCommand(self, *args):
|
|
proc = subprocess.Popen(args,
|
|
cwd=self._dest,
|
|
stdout=subprocess.PIPE,
|
|
stderr=subprocess.STDOUT)
|
|
stdout = proc.communicate()[0]
|
|
self.assertEqual(0, proc.wait(), msg='%s\n%s' % (' '.join(args), stdout))
|
|
|
|
def testMakeBundle(self):
|
|
os.mkdir(self._dest)
|
|
maker = make_bundle.BundleMaker(dest=self._dest, top_dir=self._top_dir)
|
|
self.assertEquals(0, maker.MakeBundle())
|
|
commands = [
|
|
'./dart samples/hello.dart',
|
|
'./dart samples/deltablue.dart',
|
|
'./dart samples/mandelbrot.dart',
|
|
'./dart samples/towers.dart',
|
|
]
|
|
for command in commands:
|
|
args = command.split(' ')
|
|
self._RunCommand(*args)
|
|
args.append('--arch=dartc')
|
|
self._RunCommand(*args)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|