1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.buildcache.its;
20
21 import java.util.List;
22
23 import org.apache.maven.buildcache.its.junit.IntegrationTest;
24 import org.apache.maven.it.VerificationException;
25 import org.apache.maven.it.Verifier;
26 import org.junit.jupiter.api.Test;
27
28 @IntegrationTest("src/test/projects/skip-cache-param")
29 public class SkipCacheParamTest {
30
31 @Test
32 void skipCacheAndCacheDisabled(Verifier verifier) throws VerificationException {
33
34 verifier.setAutoclean(false);
35 verifier.setLogFileName("../log-0.txt");
36 verifier.addCliOption("-Dmaven.build.cache.enabled=false");
37 verifier.addCliOption("-Dmaven.build.cache.skipCache=false");
38
39 verifier.executeGoal("package");
40
41 verifier.verifyErrorFreeLog();
42 verifier.verifyTextInLog("Building jar:");
43 verifyTextNotInLog(verifier, "Saved Build to local file:");
44 }
45
46 @Test
47 void cacheEnabledShouldCreateCache(Verifier verifier) throws VerificationException {
48
49 verifier.setAutoclean(false);
50 verifier.setLogFileName("../log-1.txt");
51 verifier.addCliOption("-Dmaven.build.cache.enabled=true");
52 verifier.addCliOption("-Dmaven.build.cache.skipCache=false");
53
54 verifier.executeGoal("package");
55
56 verifier.verifyErrorFreeLog();
57 verifier.verifyTextInLog("Going to calculate checksum for project");
58 }
59
60 @Test
61 void disabledCacheAndSkipCacheShouldNotCreateCache(Verifier verifier) throws VerificationException {
62
63 verifier.setAutoclean(false);
64
65 verifier.setLogFileName("../log-2.txt");
66 verifier.addCliOption("-Dmaven.build.cache.enabled=false");
67 verifier.addCliOption("-Dmaven.build.cache.skipCache=true");
68
69 verifier.executeGoal("package");
70
71 verifier.verifyErrorFreeLog();
72 verifier.verifyTextInLog("Building jar:");
73 verifyTextNotInLog(verifier, "Saved Build to local file:");
74 }
75
76 @Test
77 void enabledCacheAndSkippingCacheShouldNotCreateCache(Verifier verifier) throws VerificationException {
78
79 verifier.setAutoclean(false);
80 verifier.setLogFileName("../log-3.txt");
81 verifier.addCliOption("-Dmaven.build.cache.enabled=true");
82 verifier.addCliOption("-Dmaven.build.cache.skipCache=true");
83
84 verifier.executeGoal("package");
85
86 verifier.verifyErrorFreeLog();
87 verifier.verifyTextInLog("Saved Build to local file:");
88
89
90 verifier.executeGoal("package");
91
92 verifyTextNotInLog(verifier, "Found cached build, restoring");
93 }
94
95 private static void verifyTextNotInLog(Verifier verifier, String text) throws VerificationException {
96 List<String> lines = verifier.loadFile(verifier.getBasedir(), verifier.getLogFileName(), false);
97 for (String line : lines) {
98 if (Verifier.stripAnsi(line).contains(text)) {
99 throw new VerificationException("Text found in log: " + text);
100 }
101 }
102 }
103 }