Subversion Repositories DevTools

Rev

Rev 7070 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7070 Rev 7071
Line 1... Line 1...
1
package com.erggroup.buildtool.utf;
1
package com.erggroup.buildtool.utf;
2
 
2
 
3
 
3
 
4
import java.sql.SQLException;
4
import java.sql.SQLException;
5
import java.util.ArrayList;
5
import java.util.ArrayList;
6
import java.util.Date;
-
 
7
import java.util.Iterator;
6
import java.util.Iterator;
8
 
7
 
9
import com.erggroup.buildtool.daemon.BuildDaemon;
-
 
10
import com.erggroup.buildtool.daemon.BuildThread;
-
 
11
import com.erggroup.buildtool.daemon.MasterThread;
-
 
12
import com.erggroup.buildtool.daemon.SlaveThread;
-
 
13
import com.erggroup.buildtool.ripple.BuildFile;
8
import com.erggroup.buildtool.ripple.BuildFile;
14
import com.erggroup.buildtool.ripple.BuildFile.BuildFileState;
9
import com.erggroup.buildtool.ripple.BuildFile.BuildFileState;
15
import com.erggroup.buildtool.ripple.BuildStandard;
10
import com.erggroup.buildtool.ripple.BuildStandard;
16
import com.erggroup.buildtool.ripple.ReleaseConfig;
-
 
17
import com.erggroup.buildtool.ripple.ReleaseManager;
11
import com.erggroup.buildtool.ripple.ReleaseManager;
18
import com.erggroup.buildtool.ripple.Package;
12
import com.erggroup.buildtool.ripple.Package;
19
import com.erggroup.buildtool.ripple.RippleEngine;
13
import com.erggroup.buildtool.ripple.RippleEngine;
20
import com.erggroup.buildtool.ripple.RunLevelData;
-
 
21
import com.erggroup.buildtool.ripple.RunLevel.BuildState;
-
 
22
 
-
 
23
import org.slf4j.Logger;
14
import org.slf4j.Logger;
24
import org.slf4j.LoggerFactory;
15
import org.slf4j.LoggerFactory;
25
import org.junit.AfterClass;
16
import org.junit.AfterClass;
26
import org.junit.BeforeClass;
17
import org.junit.BeforeClass;
27
import org.junit.After;
18
import org.junit.After;
Line 44... Line 35...
44
    /**
35
    /**
45
     * Init the package set
36
     * Init the package set
46
     */
37
     */
47
    public void initTestPackages(String setName)
38
    public void initTestPackages(String setName)
48
    {
39
    {
-
 
40
        
-
 
41
        /*    A basic set of packages
-
 
42
         *    All buildable
-
 
43
         */
49
        releaseManager.initTestPackages(rippleEngine, testPackageCollection, setName);
44
         Package  p1 = createPackage(1, setName + "1");
-
 
45
         Package  p2 = createPackage(2, setName + "2");
-
 
46
         Package  p3 = createPackage(3, setName + "3");
-
 
47
         Package  p4 = createPackage(4, setName + "4");
-
 
48
         Package  p5 = createPackage(5, setName + "5");
-
 
49
         Package  p6 = createPackage(6, setName + "6");
-
 
50
         Package  p7 = createPackage(7, setName + "7");
-
 
51
         
-
 
52
         testPackageCollection.add(p1);
-
 
53
         testPackageCollection.add(p2);
-
 
54
         testPackageCollection.add(p3);
-
 
55
         testPackageCollection.add(p4);
-
 
56
         testPackageCollection.add(p5);
-
 
57
         testPackageCollection.add(p6);
-
 
58
         testPackageCollection.add(p7);
-
 
59
         
-
 
60
         p2.addDependency(p1);
-
 
61
         p3.addDependency(p1);
-
 
62
         p4.addDependency(p2).addDependency(p3);
-
 
63
         p5.addDependency(p2).addDependency(p4);
-
 
64
         p6.addDependency(p3).addDependency(p4);
-
 
65
         p7.addDependency(p5).addDependency(p6);
-
 
66
    
50
    }
67
    }
51
 
68
 
52
    /** Create a WIP for a package in the Release
69
    /** Create a WIP for a package in the Release
53
     * This will mark it as directlyPlanned
70
     * This will mark it as directlyPlanned
54
     * @param newPvId
71
     * @param newPvId
Line 71... Line 88...
71
            }
88
            }
72
        }
89
        }
73
        return wip;
90
        return wip;
74
    }
91
    }
75
    
92
    
-
 
93
    /** Create a TEST for a package in the Release
-
 
94
     * This will mark it as test package
-
 
95
     * @param newPvId <0 - use PVID of the base package
-
 
96
     * @param alias
-
 
97
     */
-
 
98
    private Package createTest(int newPvId, String alias) {
-
 
99
 
-
 
100
        Package wip = ReleaseManager.NULL_PACKAGE;
-
 
101
 
-
 
102
        for (Iterator<Package> it = testPackageCollection.iterator(); it.hasNext(); )
-
 
103
        {
-
 
104
            Package p = it.next();
-
 
105
 
-
 
106
            if ( p.mAlias.compareTo( alias ) == 0 )
-
 
107
            {
-
 
108
                if (newPvId < 0 )
-
 
109
                    newPvId = p.mId;
-
 
110
                wip = new Package(newPvId, p);
-
 
111
                wip.mTestBuildInstruction = 1;
-
 
112
                testPackageCollection.add(wip);
-
 
113
                break;
-
 
114
            }
-
 
115
        }
-
 
116
        return wip;
-
 
117
    }
-
 
118
    
-
 
119
    /** Create a RippleRequest for a package in the Release
-
 
120
     * This will mark it as ripple request
-
 
121
     * @param alias
-
 
122
     */
-
 
123
    private Package requestRipple(String alias) {
-
 
124
 
-
 
125
        Package wip = ReleaseManager.NULL_PACKAGE;
-
 
126
 
-
 
127
        for (Iterator<Package> it = testPackageCollection.iterator(); it.hasNext(); )
-
 
128
        {
-
 
129
            Package p = it.next();
-
 
130
 
-
 
131
            if ( p.mAlias.compareTo( alias ) == 0 )
-
 
132
            {
-
 
133
                wip = new Package(p.mId, p);
-
 
134
                wip.mForcedRippleInstruction = 1;
-
 
135
                testPackageCollection.add(wip);
-
 
136
                break;
-
 
137
            }
-
 
138
        }
-
 
139
        return wip;
-
 
140
    }
-
 
141
    
76
    /** Create a basic package
142
    /** Create a basic package
77
     * 
143
     * 
78
     */
144
     */
79
    private Package createPackage(int idx, String pName) {
145
    private Package createPackage(int idx, String pName) {
80
        Package  p = new Package(idx, idx * 100, pName, "1.0.0000", ".cr", pName + ".cr" , "CC::/vob/"+pName+".WIP", 'b', 'P');
146
        Package  p = new Package(idx, idx * 100, pName, "1.0.0000", ".cr", pName + ".cr" , "CC::/vob/"+pName+".WIP", 'b', 'P');
81
        BuildStandard bs = new BuildStandard(rippleEngine, "Linux", "Java 1.6");
147
        BuildStandard bs = new BuildStandard(rippleEngine, "Linux", "Java 1.6");
82
        p.mBuildStandardCollection.add(bs);
148
        p.mBuildStandardCollection.add(bs);
-
 
149
        p.mBuildTime = 100;
83
        return p;
150
        return p;
84
    }
151
    }
-
 
152
    
-
 
153
    /** Update build time for a package
-
 
154
     * 
-
 
155
     *  @param alias
-
 
156
     *  @param buildTime - Set a new build time
-
 
157
     */
-
 
158
    private Package setBuildTime(String alias, int buildTime) {
-
 
159
 
-
 
160
        Package wip = ReleaseManager.NULL_PACKAGE;
-
 
161
 
-
 
162
        for (Iterator<Package> it = testPackageCollection.iterator(); it.hasNext(); )
-
 
163
        {
-
 
164
            Package p = it.next();
-
 
165
 
-
 
166
            if ( p.mAlias.compareTo( alias ) == 0 )
-
 
167
            {
-
 
168
                p.mBuildTime = buildTime;
-
 
169
                break;
-
 
170
            }
-
 
171
        }
-
 
172
        return wip;
-
 
173
    }
-
 
174
    
-
 
175
    /** Setup a package so that it will be detected as being rippled
-
 
176
     *      Change its pvid so that consumers will see that they need to be rippled
-
 
177
     */
-
 
178
    private Package ripplePackage(String alias) {
-
 
179
 
-
 
180
        Package wip = ReleaseManager.NULL_PACKAGE;
-
 
181
 
-
 
182
        for (Iterator<Package> it = testPackageCollection.iterator(); it.hasNext(); )
-
 
183
        {
-
 
184
            Package p = it.next();
-
 
185
 
-
 
186
            if ( p.mAlias.compareTo( alias ) == 0 )
-
 
187
            {
-
 
188
                p.mId += 10000;
-
 
189
                break;
-
 
190
            }
-
 
191
        }
-
 
192
        return wip;
-
 
193
    }
85
 
194
 
86
    
195
    
87
       
196
       
88
    /** Subclass and override key methods so that the test can control
197
    /** Subclass and override key methods so that the test can control
89
     *  the data being used
198
     *  the data being used
Line 110... Line 219...
110
	        {
219
	        {
111
	            Package p = it.next();
220
	            Package p = it.next();
112
	            if (!p.mDirectlyPlanned && p.mTestBuildInstruction == 0 && p.mForcedRippleInstruction == 0)
221
	            if (!p.mDirectlyPlanned && p.mTestBuildInstruction == 0 && p.mForcedRippleInstruction == 0)
113
	            {
222
	            {
114
	                p.mIsNotReleased = false;
223
	                p.mIsNotReleased = false;
115
	                p.mBuildTime = 90;
-
 
116
	                packageCollection.add(p);
224
	                packageCollection.add(p);
117
	            }
225
	            }
118
	        }
226
	        }
119
		}
227
		}
120
		
228
		
Line 128... Line 236...
128
                if (p.mDirectlyPlanned )
236
                if (p.mDirectlyPlanned )
129
                {
237
                {
130
                    p.mIsNotReleased = true;
238
                    p.mIsNotReleased = true;
131
                    p.mDirectlyPlanned = true;
239
                    p.mDirectlyPlanned = true;
132
                    p.mBuildReason = BuildReason.NewVersion;
240
                    p.mBuildReason = BuildReason.NewVersion;
133
                    p.mBuildTime = 100;
-
 
134
                    packageCollection.add(p);
241
                    packageCollection.add(p);
135
                }
242
                }
136
            }
243
            }
137
 
244
 
138
        }
245
        }
Line 169... Line 276...
169
                    p.mBuildTime = 3;
276
                    p.mBuildTime = 3;
170
                    packageCollection.add(p);
277
                    packageCollection.add(p);
171
                } 
278
                } 
172
            }
279
            }
173
        }
280
        }
174
		
-
 
175
		 
-
 
176
		 /** Build a single package collection
-
 
177
		     * It will be split up when requested by the classes under test 
-
 
178
		     * 
-
 
179
		     * @param packageCollection
-
 
180
		     */
-
 
181
		    private void initTestPackages(RippleEngine rippleEngine, ArrayList<Package> packageCollection, String setName)
-
 
182
		    {
-
 
183
		        packageCollection.clear();
-
 
184
		        
-
 
185
		        /*    A basic set of packages
-
 
186
		         *    All buildable
-
 
187
		         */
-
 
188
                 Package  p1 = createPackage(1, "p1");
-
 
189
                 Package  p2 = createPackage(2, "p2");
-
 
190
                 Package  p3 = createPackage(3, "p3");
-
 
191
                 Package  p4 = createPackage(4, "p4");
-
 
192
                 Package  p5 = createPackage(5, "p5");
-
 
193
                 Package  p6 = createPackage(6, "p6");
-
 
194
                 Package  p7 = createPackage(7, "p7");
-
 
195
                 
-
 
196
                 packageCollection.add(p1);
-
 
197
                 packageCollection.add(p2);
-
 
198
                 packageCollection.add(p3);
-
 
199
                 packageCollection.add(p4);
-
 
200
                 packageCollection.add(p5);
-
 
201
                 packageCollection.add(p6);
-
 
202
                 packageCollection.add(p7);
-
 
203
                 
-
 
204
                 
-
 
205
                 p2.addDependency(p1);
-
 
206
                 p3.addDependency(p1);
-
 
207
                 p4.addDependency(p2).addDependency(p3);
-
 
208
                 p5.addDependency(p2).addDependency(p4);
-
 
209
                 p6.addDependency(p3).addDependency(p4);
-
 
210
                 p7.addDependency(p5).addDependency(p6);
-
 
211
	        
-
 
212
		    }
-
 
213
		 
281
		 
214
	}
282
	}
215
 
283
 
216
 
284
 
217
    public DaemonBuildTestCase2()
285
    public DaemonBuildTestCase2()
Line 265... Line 333...
265
    public void TestTearDown()
333
    public void TestTearDown()
266
    {
334
    {
267
        mLogger.debug("TestTearDown");
335
        mLogger.debug("TestTearDown");
268
    }
336
    }
269
 
337
 
-
 
338
    /** Check the build file contents
-
 
339
     *  @param expectedName - Name of the expected output file 
-
 
340
     */
-
 
341
    private void checkBuildFile(String expectedName) {
-
 
342
        boolean rv;
-
 
343
        BuildFile buildFile;
-
 
344
    
-
 
345
        buildFile = rippleEngine.getFirstBuildFileContent();
-
 
346
        assertTrue(buildFile != null);
-
 
347
        assertTrue(buildFile.state != BuildFileState.Dummy);
-
 
348
        assertTrue(buildFile.state != BuildFileState.Empty);
-
 
349
    
-
 
350
        rv = Utilities.checkBuildfile(buildFile.content, expectedName);
-
 
351
        assertTrue(rv);
-
 
352
    }
-
 
353
 
270
    /**
354
    /**
271
     * I'm guessing as to the function of this test
-
 
272
     * Test for:
-
 
273
     *      Circular dependencies
355
     *  Create a mesh of packages
274
     *      Build Dependency not in the release
356
     *  Ripple the one at the bottom
275
     *      Package has no build environment
-
 
276
     *      Package not built for configured platforms
-
 
277
     *      A package is selected to be built
-
 
278
     * 
-
 
279
     */
357
     */
280
    @Test
358
    @Test
281
    public void TestPlanRelease_1()
359
    public void TestPlanRelease_1()
282
    {
360
    {
283
        mLogger.debug("TestPlanRelease - Iteration 1");
361
        mLogger.debug("TestPlanRelease - Iteration 1");
Line 288... Line 366...
288
        try
366
        try
289
        {
367
        {
290
            rippleEngine.collectMetaData();
368
            rippleEngine.collectMetaData();
291
            
369
            
292
            //  Generate basic test set and then tweak for this test
370
            //  Generate basic test set and then tweak for this test
293
            initTestPackages(releaseManager.mConnectionString);
371
            initTestPackages("p");
294
            
372
            
295
            createWip(2000, "p1.cr");
373
            createWip(2000, "p1.cr");
296
            rippleEngine.planRelease(false);
374
            rippleEngine.planRelease(false);
297
        }
375
        }
298
        catch (Exception e)
376
        catch (Exception e)
299
        {
377
        {
300
        }
378
        }
301
 
379
 
-
 
380
        checkBuildFile("ripple1");
-
 
381
       
-
 
382
    }
-
 
383
    
-
 
384
    /**
-
 
385
     *  Create a mesh of packages
-
 
386
     *  Ripple the one not at the bottom
-
 
387
     */
-
 
388
    @Test
-
 
389
    public void TestPlanRelease_2()
-
 
390
    {
-
 
391
        mLogger.debug("TestPlanRelease - Iteration 2");
-
 
392
        System.out.println("TestPlanRelease - Iteration 2");
-
 
393
        releaseManager = new myReleaseManager("iteration2", "not used", "not used");
-
 
394
        rippleEngine = new RippleEngine(releaseManager, 11111, true);
-
 
395
        
-
 
396
        try
-
 
397
        {
-
 
398
            rippleEngine.collectMetaData();
-
 
399
            
-
 
400
            //  Generate basic test set and then tweak for this test
-
 
401
            initTestPackages("p");
302
        boolean rv;
402
            
-
 
403
            createWip(2000, "p2.cr");
-
 
404
            rippleEngine.planRelease(false);
-
 
405
        }
303
        BuildFile buildFile;
406
        catch (Exception e)
-
 
407
        {
-
 
408
        }
304
 
409
 
305
        buildFile = rippleEngine.getFirstBuildFileContent();
-
 
306
        assertTrue(buildFile != null);
410
        checkBuildFile("ripple2");
307
        assertTrue(buildFile.state != BuildFileState.Dummy);
-
 
308
        assertTrue(buildFile.state != BuildFileState.Empty);
-
 
-
 
411
    }
309
 
412
 
-
 
413
    /**
-
 
414
     *  Create two meshes of packages
310
        rv = Utilities.checkBuildfile(buildFile.content, "ripple1");
415
     *  One with a longer build time ( < 20% longer)
311
        assertTrue(rv);
416
     *  Create a ripple in both
-
 
417
     */
-
 
418
    @Test
-
 
419
    public void TestPlanRelease_3()
-
 
420
    {
-
 
421
        mLogger.debug("TestPlanRelease - Iteration 3");
-
 
422
        System.out.println("TestPlanRelease - Iteration 3");
-
 
423
        releaseManager = new myReleaseManager("iteration3", "not used", "not used");
-
 
424
        rippleEngine = new RippleEngine(releaseManager, 11111, true);
312
        
425
        
-
 
426
        try
-
 
427
        {
313
        buildFile = rippleEngine.getNextBuildFileContent();
428
            rippleEngine.collectMetaData();
-
 
429
            
-
 
430
            //  Generate basic test set and then tweak for this test
-
 
431
            initTestPackages("p");
-
 
432
            initTestPackages("z");
-
 
433
            setBuildTime("z4.cr", 200);
-
 
434
            
-
 
435
            createWip(2000, "p1.cr");
-
 
436
            createWip(2000, "z1.cr");
-
 
437
            
-
 
438
            rippleEngine.planRelease(false);
-
 
439
        }
-
 
440
        catch (Exception e)
-
 
441
        {
-
 
442
        }
-
 
443
 
314
        assertTrue(buildFile != null);
444
        checkBuildFile("ripple3");
-
 
445
    }
-
 
446
    
-
 
447
    /**
-
 
448
     *  Create two meshes of packages
-
 
449
     *  One with a longer build time ( > 20% longer)
-
 
450
     *  Create a ripple in both
-
 
451
     */
-
 
452
    @Test
-
 
453
    public void TestPlanRelease_4()
-
 
454
    {
-
 
455
        mLogger.debug("TestPlanRelease - Iteration 4");
315
        assertTrue(buildFile.state == BuildFileState.Empty);
456
        System.out.println("TestPlanRelease - Iteration 4");
-
 
457
        releaseManager = new myReleaseManager("iteration4", "not used", "not used");
-
 
458
        rippleEngine = new RippleEngine(releaseManager, 11111, true);
-
 
459
        
-
 
460
        try
-
 
461
        {
-
 
462
            rippleEngine.collectMetaData();
-
 
463
            
-
 
464
            //  Generate basic test set and then tweak for this test
-
 
465
            initTestPackages("p");
-
 
466
            initTestPackages("z");
-
 
467
            setBuildTime("z4.cr", 500);
-
 
468
            
-
 
469
            createWip(2000, "p1.cr");
-
 
470
            createWip(2000, "z1.cr");
-
 
471
            
-
 
472
            rippleEngine.planRelease(false);
-
 
473
        }
-
 
474
        catch (Exception e)
-
 
475
        {
-
 
476
        }
-
 
477
 
-
 
478
        checkBuildFile("ripple4");
-
 
479
    }
-
 
480
 
-
 
481
    /**
-
 
482
     *  Create a mesh of packages
-
 
483
     *      Create a test package
-
 
484
     *      Create a WIP
-
 
485
     *      Test should be built first          
-
 
486
     */
-
 
487
    @Test
-
 
488
    public void TestPlanRelease_5()
-
 
489
    {
-
 
490
        String tName = "ripple5";
-
 
491
        mLogger.debug("TestPlanRelease {}", tName);
-
 
492
        System.out.println("TestPlanRelease " + tName);
-
 
493
        releaseManager = new myReleaseManager(tName, "not used", "not used");
-
 
494
        rippleEngine = new RippleEngine(releaseManager, 11111, true);
-
 
495
        
-
 
496
        try
-
 
497
        {
-
 
498
            rippleEngine.collectMetaData();
-
 
499
            
-
 
500
            //  Generate basic test set and then tweak for this test
-
 
501
            initTestPackages("p");
-
 
502
            
-
 
503
            createWip (2000, "p1.cr");
-
 
504
            createTest(3333, "p5.cr");
-
 
505
            createTest(-1  , "p4.cr");
-
 
506
            rippleEngine.planRelease(false);
-
 
507
        }
-
 
508
        catch (Exception e)
-
 
509
        {
-
 
510
        }
-
 
511
 
-
 
512
        checkBuildFile(tName);
-
 
513
    }
-
 
514
    
-
 
515
    /**
-
 
516
     *  Create a mesh of packages
-
 
517
     *  Request a ripple (daemon Instruction)
-
 
518
     */
-
 
519
    @Test
-
 
520
    public void TestPlanRelease_6()
-
 
521
    {
-
 
522
        String tName = "ripple6";
-
 
523
        mLogger.debug("TestPlanRelease {}", tName);
-
 
524
        System.out.println("TestPlanRelease " + tName);
-
 
525
        releaseManager = new myReleaseManager(tName, "not used", "not used");
-
 
526
        rippleEngine = new RippleEngine(releaseManager, 11111, true);
-
 
527
        
-
 
528
        try
-
 
529
        {
-
 
530
            rippleEngine.collectMetaData();
-
 
531
            
-
 
532
            //  Generate basic test set and then tweak for this test
-
 
533
            initTestPackages("p");
-
 
534
           
-
 
535
            requestRipple("p5.cr");
-
 
536
            rippleEngine.planRelease(false);
-
 
537
        }
-
 
538
        catch (Exception e)
-
 
539
        {
-
 
540
        }
-
 
541
 
-
 
542
        checkBuildFile(tName);
-
 
543
    }
-
 
544
    
-
 
545
    /**
-
 
546
     * Create a mesh of packages
-
 
547
     * Create a circular dependency
-
 
548
     * Create a WIP to 'fix' the circular dependency
-
 
549
     */
-
 
550
    @Test
-
 
551
    public void TestPlanRelease_7()
-
 
552
    {
-
 
553
        String tName = "ripple7";
-
 
554
        mLogger.debug("TestPlanRelease {}", tName);
-
 
555
        System.out.println("TestPlanRelease " + tName);
-
 
556
        releaseManager = new myReleaseManager(tName, "not used", "not used");
-
 
557
        rippleEngine = new RippleEngine(releaseManager, 11111, true);
-
 
558
        
-
 
559
        try
-
 
560
        {
-
 
561
            rippleEngine.collectMetaData();
-
 
562
            
-
 
563
            //  Generate basic test set and then tweak for this test
-
 
564
            /*    A basic set of packages
-
 
565
             */
-
 
566
             Package  p1 = createPackage(1, "p1");
-
 
567
             Package  p2 = createPackage(2, "p2");
-
 
568
             Package  p3 = createPackage(3, "p3");
-
 
569
             Package  p4 = createPackage(4, "p4");
-
 
570
             
-
 
571
             testPackageCollection.add(p1);
-
 
572
             testPackageCollection.add(p2);
-
 
573
             testPackageCollection.add(p3);
-
 
574
             testPackageCollection.add(p4);
-
 
575
             
-
 
576
             // Create circular dependency
-
 
577
             p2.addDependency(p1);
-
 
578
             p3.addDependency(p2);
-
 
579
             p4.addDependency(p3);
-
 
580
             p1.addDependency(p4);
-
 
581
             
-
 
582
             
-
 
583
             Package  p1fixed = createWip(400, "p1.cr");
-
 
584
             p1fixed.resetDependencies();
-
 
585
             testPackageCollection.add(p1fixed);
-
 
586
             
-
 
587
 
-
 
588
            rippleEngine.planRelease(false);
-
 
589
        }
-
 
590
        catch (Exception e)
-
 
591
        {
-
 
592
        }
-
 
593
 
-
 
594
        checkBuildFile(tName);
316
    }
595
    }
-
 
596
    
-
 
597
    /**
-
 
598
     * Create a mesh of packages
-
 
599
     * Create a dependencies
-
 
600
     * Create a WIP to 'create' a circular dependency
-
 
601
     * 
-
 
602
     * Should build WIP, then it will have a hissy fit on the next planning session
-
 
603
     */
-
 
604
    @Test
-
 
605
    public void TestPlanRelease_8()
-
 
606
    {
-
 
607
        String tName = "ripple8";
-
 
608
        mLogger.debug("TestPlanRelease {}", tName);
-
 
609
        System.out.println("TestPlanRelease " + tName);
-
 
610
        releaseManager = new myReleaseManager(tName, "not used", "not used");
-
 
611
        rippleEngine = new RippleEngine(releaseManager, 11111, true);
-
 
612
        
-
 
613
        try
-
 
614
        {
-
 
615
            rippleEngine.collectMetaData();
-
 
616
            
-
 
617
            //  Generate basic test set and then tweak for this test
-
 
618
            /*    A basic set of packages
-
 
619
             */
-
 
620
             Package  p1 = createPackage(1, "p1");
-
 
621
             Package  p2 = createPackage(2, "p2");
-
 
622
             Package  p3 = createPackage(3, "p3");
-
 
623
             Package  p4 = createPackage(4, "p4");
-
 
624
             
-
 
625
             testPackageCollection.add(p1);
-
 
626
             testPackageCollection.add(p2);
-
 
627
             testPackageCollection.add(p3);
-
 
628
             testPackageCollection.add(p4);
-
 
629
             
-
 
630
             // Create dependency
-
 
631
             p2.addDependency(p1);
-
 
632
             p3.addDependency(p2);
-
 
633
             p4.addDependency(p3);
-
 
634
             
-
 
635
             Package  p1Broken = createWip(400, "p1.cr");
-
 
636
             p1Broken.resetDependencies().addDependency(p4);
-
 
637
 
-
 
638
            rippleEngine.planRelease(false);
-
 
639
        }
-
 
640
        catch (Exception e)
-
 
641
        {
-
 
642
        }
-
 
643
 
-
 
644
        checkBuildFile(tName);
-
 
645
    }
-
 
646
    
-
 
647
    /**
-
 
648
     * Create a WIP that will fail applyPV
-
 
649
     *      Expect it to be rejected
-
 
650
     *      Expect an email
-
 
651
     */
-
 
652
    @Test
-
 
653
    public void TestPlanRelease_9()
-
 
654
    {
-
 
655
        String tName = "ripple9";
-
 
656
        mLogger.debug("TestPlanRelease {}", tName);
-
 
657
        System.out.println("TestPlanRelease " + tName);
-
 
658
        releaseManager = new myReleaseManager(tName, "not used", "not used");
-
 
659
        rippleEngine = new RippleEngine(releaseManager, 11111, true);
-
 
660
        
-
 
661
        try
-
 
662
        {
-
 
663
            rippleEngine.collectMetaData();
-
 
664
            
-
 
665
            //  Generate basic test set and then tweak for this test
-
 
666
            /*    A basic set of packages
-
 
667
             */
-
 
668
             Package  p1 = createPackage(1, "p1");
-
 
669
             Package  p2 = createPackage(2, "p2");
-
 
670
             Package  p3 = createPackage(3, "p3");
-
 
671
             Package  p4 = createPackage(4, "p4");
-
 
672
             
-
 
673
             testPackageCollection.add(p1);
-
 
674
             testPackageCollection.add(p2);
-
 
675
             testPackageCollection.add(p3);
-
 
676
             testPackageCollection.add(p4);
-
 
677
             
-
 
678
             p2.addDependency(p1);
-
 
679
            
-
 
680
             Package  p1Broken = createWip(400, "p1.cr");
-
 
681
             p1Broken.mVersion = "BadVersion";
-
 
682
             
-
 
683
             // Create a ripple, so we get some output
-
 
684
             requestRipple("p4.cr");
317
 
685
 
-
 
686
            rippleEngine.planRelease(false);
-
 
687
        }
-
 
688
        catch (Exception e)
-
 
689
        {
-
 
690
        }
318
 
691
 
-
 
692
        checkBuildFile(tName);
-
 
693
    }
-
 
694
    
-
 
695
    
-
 
696
    
-
 
697
    
-
 
698
    /**
-
 
699
     *  Create a mesh of packages
-
 
700
     *  Mark bottom as being rippled
-
 
701
     */
-
 
702
    @Test
-
 
703
    public void TestPlanRelease_99()
-
 
704
    {
-
 
705
        String tName = "ripple99";
-
 
706
        mLogger.debug("TestPlanRelease {}", tName);
-
 
707
        System.out.println("TestPlanRelease " + tName);
-
 
708
        releaseManager = new myReleaseManager(tName, "not used", "not used");
-
 
709
        rippleEngine = new RippleEngine(releaseManager, 11111, true);
-
 
710
        
-
 
711
        try
-
 
712
        {
-
 
713
            rippleEngine.collectMetaData();
-
 
714
            
-
 
715
            //  Generate basic test set and then tweak for this test
-
 
716
            initTestPackages("p");
-
 
717
            
-
 
718
            ripplePackage("p1.cr");
-
 
719
            rippleEngine.planRelease(false);
-
 
720
        }
-
 
721
        catch (Exception e)
-
 
722
        {
-
 
723
        }
-
 
724
 
-
 
725
        checkBuildFile(tName);
-
 
726
    }
319
 
727
 
320
}
728
}