예제 #1
0
 def test_mutable(self):
   tree = SourceRootTree()
   tree.add_root("mutable/foo", set([NotTestTarget, TestTarget]), mutable=True)
   tree.add_root("immutable/foo", set([NotTestTarget, TestTarget]), mutable=False)
   with self.assertRaises(SourceRootTree.DuplicateSourceRootError):
     # Can't add an immutable root to a mutable root
     tree.add_root("mutable/foo", set([AnotherTarget]))
   with self.assertRaises(SourceRootTree.DuplicateSourceRootError):
     # Can't add an mutable root to an immutable root
     tree.add_root("immutable/foo", set([AnotherTarget]), mutable=True)
   # But can add a mutable root to a mutable root
   tree.add_root("mutable/foo", set([AnotherTarget]), mutable=True)
   self.assertEquals(set([AnotherTarget, NotTestTarget, TestTarget]),
                     set(tree.get_root_and_types("mutable/foo")[1]),
                     msg="Failed for tree: {dump}".format(dump=tree._dump()))
예제 #2
0
    def test_source_root_tree(self):
        tree = SourceRootTree()
        self.assertEquals((None, None), tree.get_root_and_types(""))
        self.assertEquals((None, None), tree.get_root_and_types("tests/language"))
        self.assertEquals((None, None), tree.get_root_and_types("tests/language/foo"))
        self.assertEquals((None, None), tree.get_root_and_types("src/language"))
        self.assertEquals((None, None), tree.get_root_and_types("src"))

        tree.add_root("tests/language", set([NotTestTarget, TestTarget]))
        self.assertEquals(
            ("tests/language", OrderedSet([NotTestTarget, TestTarget])),
            tree.get_root_and_types("tests/language"),
            msg="Failed for tree: {dump}".format(dump=tree._dump()),
        )
        root, types = tree.get_root_and_types("tests/language/foo")
        self.assertEquals("tests/language", root, msg="Failed for tree: {dump}".format(dump=tree._dump()))
        self.assertEquals(
            set(types), set([NotTestTarget, TestTarget]), msg="Failed for tree: {dump}".format(dump=tree._dump())
        )
        self.assertEquals(
            (None, None), tree.get_root_and_types("src"), msg="Failed for tree: {dump}".format(dump=tree._dump())
        )
        self.assertEquals(
            (None, None), tree.get_root_and_types("src/bar"), msg="Failed for tree: {dump}".format(dump=tree._dump())
        )
        self.assertEquals(
            (None, None), tree.get_root_and_types("s"), msg="Failed for tree: {dump}".format(dump=tree._dump())
        )

        tree.add_root("src/language", set([NotTestTarget]))
        self.assertEquals(
            ("tests/language", OrderedSet([NotTestTarget, TestTarget])),
            tree.get_root_and_types("tests/language"),
            msg="Failed for tree: {dump}".format(dump=tree._dump()),
        )
        self.assertEquals(
            ("tests/language", OrderedSet([NotTestTarget, TestTarget])),
            tree.get_root_and_types("tests/language/foo"),
            msg="Failed for tree: {dump}".format(dump=tree._dump()),
        )
        self.assertEquals(
            ("src/language", OrderedSet([NotTestTarget])),
            tree.get_root_and_types("src/language"),
            msg="Failed for tree: {dump}".format(dump=tree._dump()),
        )
        self.assertEquals(
            ("src/language", OrderedSet([NotTestTarget])),
            tree.get_root_and_types("src/language/bar"),
            msg="Failed for tree: {dump}".format(dump=tree._dump()),
        )
        self.assertEquals(
            (None, None), tree.get_root_and_types("src"), msg="Failed for tree: {dump}".format(dump=tree._dump())
        )
        with self.assertRaises(SourceRootTree.DuplicateSourceRootError):
            tree.add_root("tests/language", set([NotTestTarget]))
        with self.assertRaises(SourceRootTree.NestedSourceRootError):
            tree.add_root("tests", set([NotTestTarget]))
예제 #3
0
 def test_mutable(self):
     tree = SourceRootTree()
     tree.add_root("mutable/foo",
                   set([NotTestTarget, TestTarget]),
                   mutable=True)
     tree.add_root("immutable/foo",
                   set([NotTestTarget, TestTarget]),
                   mutable=False)
     with self.assertRaises(SourceRootTree.DuplicateSourceRootError):
         # Can't add an immutable root to a mutable root
         tree.add_root("mutable/foo", set([AnotherTarget]))
     with self.assertRaises(SourceRootTree.DuplicateSourceRootError):
         # Can't add an mutable root to an immutable root
         tree.add_root("immutable/foo", set([AnotherTarget]), mutable=True)
     # But can add a mutable root to a mutable root
     tree.add_root("mutable/foo", set([AnotherTarget]), mutable=True)
     self.assertEquals(
         set([AnotherTarget, NotTestTarget, TestTarget]),
         set(tree.get_root_and_types("mutable/foo")[1]),
         msg="Failed for tree: {dump}".format(dump=tree._dump()))
예제 #4
0
  def test_source_root_tree(self):
    tree = SourceRootTree()
    self.assertEquals((None, None), tree.get_root_and_types(""))
    self.assertEquals((None, None), tree.get_root_and_types("tests/language"))
    self.assertEquals((None, None), tree.get_root_and_types("tests/language/foo"))
    self.assertEquals((None, None), tree.get_root_and_types("src/language"))
    self.assertEquals((None, None), tree.get_root_and_types("src"))

    tree.add_root("tests/language", set([NotTestTarget, TestTarget]))
    self.assertEquals(("tests/language", OrderedSet([NotTestTarget, TestTarget])),
                      tree.get_root_and_types("tests/language"),
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))
    root, types = tree.get_root_and_types("tests/language/foo")
    self.assertEquals("tests/language", root,
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))
    self.assertEquals(set(types),
                      set([NotTestTarget, TestTarget]),
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))
    self.assertEquals((None, None), tree.get_root_and_types("src"),
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))
    self.assertEquals((None, None), tree.get_root_and_types("src/bar"),
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))
    self.assertEquals((None, None), tree.get_root_and_types("s"),
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))

    tree.add_root("src/language", set([NotTestTarget]))
    self.assertEquals(("tests/language", OrderedSet([NotTestTarget, TestTarget])),
                      tree.get_root_and_types("tests/language"),
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))
    self.assertEquals(("tests/language", OrderedSet([NotTestTarget, TestTarget])),
                       tree.get_root_and_types("tests/language/foo"),
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))
    self.assertEquals(("src/language", OrderedSet([NotTestTarget])),
                      tree.get_root_and_types("src/language"),
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))
    self.assertEquals(("src/language", OrderedSet([NotTestTarget])),
                      tree.get_root_and_types("src/language/bar"),
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))
    self.assertEquals((None, None), tree.get_root_and_types("src"),
                      msg="Failed for tree: {dump}".format(dump=tree._dump()))
    with self.assertRaises(SourceRootTree.DuplicateSourceRootError):
      tree.add_root("tests/language", set([NotTestTarget]))
    with self.assertRaises(SourceRootTree.NestedSourceRootError):
      tree.add_root("tests", set([NotTestTarget]))