Exemplo n.º 1
0
 def test_multiple_ins_multiple_outs(self):
     depfile = action_tracer.parse_depfile(["a b: c d"])
     self.assertEqual(depfile.deps, [
         action_tracer.DepEdges(ins={"c", "d"}, outs={"a", "b"}),
     ])
     self.assertEqual(depfile.all_ins, {"c", "d"})
     self.assertEqual(depfile.all_outs, {"a", "b"})
Exemplo n.º 2
0
 def test_trailing_escaped_whitespace(self):
     with self.assertRaises(ValueError):
         depfile = action_tracer.parse_depfile([
             "a \\ \r\n",
             "b: c",
         ])
     with self.assertRaises(ValueError):
         depfile = action_tracer.parse_depfile([
             "a \\ \n",
             "b: c",
         ])
     with self.assertRaises(ValueError):
         depfile = action_tracer.parse_depfile([
             "a \\    \n",
             "b: c",
         ])
Exemplo n.º 3
0
 def test_space_in_filename(self):
     depfile = action_tracer.parse_depfile(["a\\ b: c d"])
     self.assertEqual(depfile.deps, [
         action_tracer.DepEdges(ins={"c", "d"}, outs={"a b"}),
     ])
     self.assertEqual(depfile.all_ins, {"c", "d"})
     self.assertEqual(depfile.all_outs, {"a b"})
Exemplo n.º 4
0
 def test_continuation_comment(self):
     with self.assertRaises(ValueError):
         depfile = action_tracer.parse_depfile([
             "a: \\\n",
             "# comment",
             "b",
         ])
Exemplo n.º 5
0
 def test_continuation_blank_line(self):
     with self.assertRaises(ValueError):
         depfile = action_tracer.parse_depfile([
             "a: \\\n",
             "",
             "b",
         ])
Exemplo n.º 6
0
 def test_comment(self):
     depfile = action_tracer.parse_depfile([
         " # a:b",
         "b:",
     ])
     self.assertEqual(depfile.deps, [
         action_tracer.DepEdges(ins=set(), outs={"b"}),
     ])
     self.assertEqual(depfile.all_ins, set())
     self.assertEqual(depfile.all_outs, {"b"})
Exemplo n.º 7
0
 def test_two_deps(self):
     depfile = action_tracer.parse_depfile([
         "A: B",
         "C: D E",
     ])
     self.assertEqual(depfile.deps, [
         action_tracer.DepEdges(ins={"B"}, outs={"A"}),
         action_tracer.DepEdges(ins={"D", "E"}, outs={"C"}),
     ])
     self.assertEqual(depfile.all_ins, {"B", "D", "E"})
     self.assertEqual(depfile.all_outs, {"A", "C"})
Exemplo n.º 8
0
 def test_carriage_continuation(self):
     depfile = action_tracer.parse_depfile([
         "a \\\r\n",
         "b: c \\\r\n",
         "d e",
     ])
     self.assertEqual(depfile.deps, [
         action_tracer.DepEdges(ins={"c", "d", "e"}, outs={"a", "b"}),
     ])
     self.assertEqual(depfile.all_ins, {"c", "d", "e"})
     self.assertEqual(depfile.all_outs, {"a", "b"})
Exemplo n.º 9
0
 def test_blank_line(self):
     depfile = action_tracer.parse_depfile([
         "a:b",
         " ",
         "b:",
     ])
     self.assertEqual(depfile.deps, [
         action_tracer.DepEdges(ins={"b"}, outs={"a"}),
         action_tracer.DepEdges(ins=set(), outs={"b"}),
     ])
     self.assertEqual(depfile.all_ins, {"b"})
     self.assertEqual(depfile.all_outs, {"a", "b"})
Exemplo n.º 10
0
 def test_empty(self):
     depfile = action_tracer.parse_depfile([])
     self.assertEqual(depfile.deps, [])
     self.assertEqual(depfile.all_ins, set())
     self.assertEqual(depfile.all_outs, set())
Exemplo n.º 11
0
 def test_unfinished_line_continuation(self):
     with self.assertRaises(ValueError):
         depfile = action_tracer.parse_depfile([
             "a \\\n",
             "b: c \\\n",
         ])
Exemplo n.º 12
0
 def test_consecutive_backslashes(self):
     with self.assertRaises(ValueError):
         depfile = action_tracer.parse_depfile(["a\\\\ b: c"])