コード例 #1
0
ファイル: test_Artifact.py プロジェクト: jacquev6/ViDE
    def testGetProductionActionWhenOrderOnlyDependencyMustBeProduced( self ):
        AtomicArtifact._AtomicArtifact__fileIsMissing( os.path.join( "tmp1", "file1" ) ).returns( False )
        self.strongDependency.computeIfMustBeProduced( [], [], False ).returns( False )
        self.automaticDependency.computeIfMustBeProduced( [], [], False ).returns( False )
        self.artifact.getOldestFile( [], [] ).returns( 1200001 )
        self.strongDependency.getNewestFile( [], [] ).returns( 1200000 )
        self.automaticDependency.getNewestFile( [], [] ).returns( 1200000 )
        self.orderOnlyDependency.computeIfMustBeProduced( [], [], False ).returns( True )
        self.orderOnlyDependency.computeProductionAction( [], [], False, DontCheck() ).returns( self.orderOnlyDependencyProductionAction )
        
        self.orderOnlyDependencyProductionAction.computePreview().returns( "create orderOnlyDependency" )

        self.m.startTest()

        action = self.artifact.getProductionAction()
        
        model = Graph( "action" )
        model.nodeAttr[ "shape" ] = "box"
        n0 = Node( "" )
        n1 = Node( "create orderOnlyDependency" )
        model.add( n0 )
        model.add( n1 )
        model.add( Link( n0, n1 ) )
        
        self.assertTrue( actionHasGraph( action, model ) )
コード例 #2
0
ファイル: test_Artifact.py プロジェクト: jacquev6/ViDE
    def testGetProductionActionWhenAutomaticDependencyMustBeProduced( self ):
        AtomicArtifact._AtomicArtifact__fileIsMissing( os.path.join( "tmp1", "file1" ) ).returns( False )
        self.strongDependency.computeIfMustBeProduced( [], [], False ).returns( False )
        self.automaticDependency.computeIfMustBeProduced( [], [], False ).returns( True )
        self.artifact.doGetProductionAction().returns( self.productionAction )
        self.orderOnlyDependency.computeIfMustBeProduced( [], [], False ).returns( False )
        self.automaticDependency.computeProductionAction( [], [], False, DontCheck() ).returns( self.automaticDependencyProductionAction )

        self.productionAction.computePreview().returns( "create file1" )
        self.automaticDependencyProductionAction.computePreview().returns( "create automaticDependency" )

        self.m.startTest()

        action = self.artifact.getProductionAction()
        
        model = Graph( "action" )
        model.nodeAttr[ "shape" ] = "box"
        n0 = Node( "create file1" )
        n2 = Node( "create automaticDependency" )
        n3 = Node( "mkdir -p tmp1" )
        n4 = Node( "rm -f " + os.path.join( "tmp1", "file1" ) )
        model.add( n0 )
        model.add( n2 )
        model.add( n3 )
        model.add( n4 )
        model.add( Link( n0, n2 ) )
        model.add( Link( n0, n3 ) )
        model.add( Link( n0, n4 ) )
        
        self.assertTrue( actionHasGraph( action, model ) )
コード例 #3
0
ファイル: test_Artifact.py プロジェクト: jacquev6/ViDE
    def testGetProductionActionWithNoReasonToProduce( self ):
        AtomicArtifact._AtomicArtifact__fileIsMissing( os.path.join( "tmp1", "file1" ) ).returns( False )
        self.strongDependency.computeIfMustBeProduced( [], [], False ).returns( False )
        self.automaticDependency.computeIfMustBeProduced( [], [], False ).returns( False )
        self.artifact.getOldestFile( [], [] ).returns( 1200001 )
        self.strongDependency.getNewestFile( [], [] ).returns( 1200000 )
        self.automaticDependency.getNewestFile( [], [] ).returns( 1200000 )
        self.orderOnlyDependency.computeIfMustBeProduced( [], [], False ).returns( False )

        self.m.startTest()

        action = self.artifact.getProductionAction()
        model = Graph( "action" )
        model.nodeAttr[ "shape" ] = "box"
        model.add( Node( "" ) )
        self.assertTrue( actionHasGraph( action, model ) )
コード例 #4
0
ファイル: test_Artifact.py プロジェクト: jacquev6/ViDE
 def recordGetProductionAction( self ):
     AtomicArtifact._AtomicArtifact__fileIsMissing( os.path.join( "tmp1", "file1" ) ).returns( True )
     self.atomicArtifact1.doGetProductionAction().returns( self.fileProductionAction1 )
     AtomicArtifact._AtomicArtifact__fileIsMissing( os.path.join( "tmp2", "file2" ) ).returns( True )
     self.atomicArtifact2.doGetProductionAction().returns( self.fileProductionAction2 )
コード例 #5
0
ファイル: test_Artifact.py プロジェクト: jacquev6/ViDE
 def recordGetProductionAction( self ):
     AtomicArtifact._AtomicArtifact__fileIsMissing( os.path.join( "tmp1", "file1" ) ).returns( False )
     AtomicArtifact._AtomicArtifact__fileIsMissing( os.path.join( "tmp2", "file2" ) ).returns( True )
     self.artifact.doGetProductionAction().returns( self.productionAction )