1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)import optparse
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)import tvcm
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)from ui import spy_project
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)def Main(port, args):
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  parser = optparse.OptionParser()
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  _, args = parser.parse_args(args)
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  project = spy_project.SpyProject()
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  server = tvcm.DevServer(
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      port=port, project=project)
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  def IsTestModuleResourcePartOfSpy(module_resource):
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    return module_resource.absolute_path.startswith(project.spy_path)
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  server.test_module_resource_filter = IsTestModuleResourcePartOfSpy
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return server.serve_forever()
24