コード例 #1
0
 def test_serial_execution_simple(self):
   request = self.request([Classpath], self.java)
   result = self.scheduler.execute(request)
   with temporary_dir() as tempdir:
     self.scheduler.visualize_graph_to_file(os.path.join(tempdir, 'run.0.dot'))
   self.assertEqual(Return(Classpath(creator='javac')), result.root_products[0][1])
   self.assertIsNone(result.error)
コード例 #2
0
ファイル: test_scheduler.py プロジェクト: spring-team/pants
    def test_managed_resolve(self):
        """A managed resolve should consume a ManagedResolve and ManagedJars to produce Jars."""
        build_request = self.request([Classpath],
                                     self.consumes_managed_thirdparty)
        root, = self.build(build_request)

        # Validate the root.
        self.assert_root(root, self.consumes_managed_thirdparty,
                         Classpath(creator='javac'))

        # Confirm that we produced classpaths for the managed jars.
        managed_jars = [self.managed_guava, self.managed_hadoop]
        self.assert_select_for_subjects(walk, Select(Classpath),
                                        [self.consumes_managed_thirdparty])
        self.assert_select_for_subjects(walk,
                                        Select(Classpath),
                                        managed_jars,
                                        variants={'resolve': 'latest-hadoop'})

        # Confirm that the produced jars had the appropriate versions.
        self.assertEquals(
            {
                Jar('org.apache.hadoop', 'hadoop-common', '2.7.0'),
                Jar('com.google.guava', 'guava', '18.0')
            }, {ret.value
                for node, ret in walk if node.product == Jar})
コード例 #3
0
ファイル: test_scheduler.py プロジェクト: spring-team/pants
    def test_codegen_simple(self):
        build_request = self.request([Classpath], self.java)
        root, = self.build(build_request)

        # The subgraph below 'src/thrift/codegen/simple' will be affected by its default variants.
        subjects = [self.guava, self.java, self.thrift]
        variant_subjects = [
            Jar(org='org.apache.thrift',
                name='libthrift',
                rev='0.9.2',
                type_alias='jar'),
            Jar(org='commons-lang',
                name='commons-lang',
                rev='2.5',
                type_alias='jar'),
            Address.parse('src/thrift:slf4j-api')
        ]

        # Root: expect a DependenciesNode depending on a SelectNode with compilation via javac.
        self.assert_root(root, self.java, Classpath(creator='javac'))

        # Confirm that exactly the expected subjects got Classpaths.
        self.assert_select_for_subjects(walk, Select(Classpath), subjects)
        self.assert_select_for_subjects(walk,
                                        Select(Classpath),
                                        variant_subjects,
                                        variants={'thrift': 'apache_java'})
コード例 #4
0
ファイル: test_engine.py プロジェクト: jdewald/pants
 def test_serial_execution_simple(self):
     request = self.request(['compile'], self.java)
     result = self.scheduler.execute(request)
     self.scheduler.visualize_graph_to_file(request, 'blah/run.0.dot')
     self.assertEqual(Return(Classpath(creator='javac')),
                      result.root_products[0][1])
     self.assertIsNone(result.error)
コード例 #5
0
 def assert_engine(self, engine):
     result = engine.execute(self.request(['compile'], self.java))
     self.assertEqual(
         {
             SelectNode(self.java, Classpath, None, None):
             Return(Classpath(creator='javac'))
         }, result.root_products)
     self.assertIsNone(result.error)
コード例 #6
0
    def test_dependency_inference(self):
        """Scala dependency inference introduces dependencies that do not exist in BUILD files."""
        build_request = self.request(['compile'], self.inferred_deps)
        walk = self.build_and_walk(build_request)

        # Validate the root.
        self.assert_root(
            walk, SelectNode(self.inferred_deps, None, Select(Classpath)),
            Classpath(creator='scalac'))

        # Confirm that we requested a classpath for the root and inferred targets.
        self.assert_select_for_subjects(walk, Select(Classpath),
                                        [self.inferred_deps, self.java_simple])
コード例 #7
0
    def test_consumes_resources(self):
        build_request = self.request(['compile'], self.consumes_resources)
        walk = self.build_and_walk(build_request)

        # Validate the root.
        self.assert_root(
            walk, SelectNode(self.consumes_resources, None, Select(Classpath)),
            Classpath(creator='javac'))

        # Confirm a classpath for the resources target and other subjects. We know that they are
        # reachable from the root (since it was involved in this walk).
        subjects = [self.resources, self.consumes_resources, self.guava]
        self.assert_select_for_subjects(walk, Select(Classpath), subjects)
コード例 #8
0
ファイル: test_scheduler.py プロジェクト: spring-team/pants
 def test_compile_only_3rdparty(self):
     build_request = self.request([Classpath], self.guava)
     root, = self.build(build_request)
     self.assert_root(root, self.guava, Classpath(creator='ivy_resolve'))
コード例 #9
0
ファイル: test_scheduler.py プロジェクト: spring-team/pants
 def test_dependency_inference(self):
     """Scala dependency inference introduces dependencies that do not exist in BUILD files."""
     build_request = self.request([Classpath], self.inferred_deps)
     root, = self.build(build_request)
     self.assert_root(root, self.inferred_deps, Classpath(creator='scalac'))
コード例 #10
0
ファイル: test_scheduler.py プロジェクト: spring-team/pants
 def test_consumes_resources(self):
     build_request = self.request([Classpath], self.consumes_resources)
     root, = self.build(build_request)
     self.assert_root(root, self.consumes_resources,
                      Classpath(creator='javac'))
コード例 #11
0
 def assert_engine(self, engine):
     result = engine.execute(self.request(['compile'], self.java))
     self.assertEqual([Return(Classpath(creator='javac'))],
                      result.root_products.values())
     self.assertIsNone(result.error)
コード例 #12
0
ファイル: test_engine.py プロジェクト: ttreptow/pants
 def assert_engine(self, engine):
     result = engine.execute(self.request(['compile'], self.java))
     self.scheduler.visualize_graph_to_file('blah/run.0.dot')
     self.assertEqual([Return(Classpath(creator='javac'))],
                      result.root_products.values())
     self.assertIsNone(result.error)