#!/usr/bin/env python
# Copyright 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.
"""Starts the mojo spy dev server.

During normal usage of mojo spy, the spy files are compiled into standalone
HTML+JS+CSS snippets that are then embedded in the mojo shell.

The dev server allows edit-reload style development of the spy UI in isolation
of the c++ bits. To use, start the dev server, navigate to the URL the script
prints, and run any of the tests listed. Reloading in the browser loads the
latest content from disk, enabling a traditional web development workflow.
"""
import sys

import ui
from tvcm import test_runner

if __name__ == '__main__':
  runner = test_runner.TestRunner()
  runner.AddModule(ui)
  sys.exit(runner.Main())
