| ... | ... |
@@ -15,8 +15,8 @@ func TestReplaceValidCmd(t *testing.T) {
|
| 15 | 15 |
cmd string |
| 16 | 16 |
replaceArgs string |
| 17 | 17 |
fileData []byte |
| 18 |
- edited bool |
|
| 19 | 18 |
expectedOutput string |
| 19 |
+ expectedDiffs int |
|
| 20 | 20 |
expectedErr error |
| 21 | 21 |
}{
|
| 22 | 22 |
{
|
| ... | ... |
@@ -24,8 +24,8 @@ func TestReplaceValidCmd(t *testing.T) {
|
| 24 | 24 |
cmd: dockercmd.From, |
| 25 | 25 |
replaceArgs: "other/image", |
| 26 | 26 |
fileData: []byte(dockerFile), |
| 27 |
- edited: true, |
|
| 28 | 27 |
expectedOutput: expectedFROM, |
| 28 |
+ expectedDiffs: 1, |
|
| 29 | 29 |
expectedErr: nil, |
| 30 | 30 |
}, |
| 31 | 31 |
{
|
| ... | ... |
@@ -33,7 +33,6 @@ func TestReplaceValidCmd(t *testing.T) {
|
| 33 | 33 |
cmd: dockercmd.Run, |
| 34 | 34 |
replaceArgs: "This test kind-of-fails before string replacement so this string won't be used", |
| 35 | 35 |
fileData: []byte(dockerFile), |
| 36 |
- edited: false, |
|
| 37 | 36 |
expectedOutput: "", |
| 38 | 37 |
expectedErr: replaceCmdErr, |
| 39 | 38 |
}, |
| ... | ... |
@@ -42,7 +41,6 @@ func TestReplaceValidCmd(t *testing.T) {
|
| 42 | 42 |
cmd: "blabla", |
| 43 | 43 |
replaceArgs: "This test fails at start so this string won't be used", |
| 44 | 44 |
fileData: []byte(dockerFile), |
| 45 |
- edited: false, |
|
| 46 | 45 |
expectedOutput: "", |
| 47 | 46 |
expectedErr: invalidCmdErr, |
| 48 | 47 |
}, |
| ... | ... |
@@ -51,7 +49,6 @@ func TestReplaceValidCmd(t *testing.T) {
|
| 51 | 51 |
cmd: dockercmd.Cmd, |
| 52 | 52 |
replaceArgs: "runme.sh", |
| 53 | 53 |
fileData: []byte(dockerFile), |
| 54 |
- edited: false, |
|
| 55 | 54 |
expectedOutput: "", |
| 56 | 55 |
expectedErr: replaceCmdErr, |
| 57 | 56 |
}, |
| ... | ... |
@@ -60,8 +57,8 @@ func TestReplaceValidCmd(t *testing.T) {
|
| 60 | 60 |
cmd: dockercmd.From, |
| 61 | 61 |
replaceArgs: "rhel", |
| 62 | 62 |
fileData: []byte(trSlashFile), |
| 63 |
- edited: true, |
|
| 64 | 63 |
expectedOutput: expectedtrSlashFile, |
| 64 |
+ expectedDiffs: 1, |
|
| 65 | 65 |
expectedErr: nil, |
| 66 | 66 |
}, |
| 67 | 67 |
{
|
| ... | ... |
@@ -69,8 +66,8 @@ func TestReplaceValidCmd(t *testing.T) {
|
| 69 | 69 |
cmd: dockercmd.From, |
| 70 | 70 |
replaceArgs: "scratch", |
| 71 | 71 |
fileData: []byte(trickierFile), |
| 72 |
- edited: true, |
|
| 73 | 72 |
expectedOutput: expectedTrickierFile, |
| 73 |
+ expectedDiffs: 1, |
|
| 74 | 74 |
expectedErr: nil, |
| 75 | 75 |
}, |
| 76 | 76 |
} |
| ... | ... |
@@ -106,12 +103,8 @@ func TestReplaceValidCmd(t *testing.T) {
|
| 106 | 106 |
|
| 107 | 107 |
diff := cmpASTs(original, edited) |
| 108 | 108 |
|
| 109 |
- // Note that these tests will probably fail for Dockerfiles where we have replaced |
|
| 110 |
- // multiline command arguments |
|
| 111 |
- if test.edited && diff != 1 {
|
|
| 112 |
- t.Errorf("%s: Edit mismatch, expected one edit, got %d", test.name, diff)
|
|
| 113 |
- } else if !test.edited && diff > 0 {
|
|
| 114 |
- t.Errorf("%s: Edit mismatch, expected no edit, got %d", test.name, diff)
|
|
| 109 |
+ if diff != test.expectedDiffs {
|
|
| 110 |
+ t.Errorf("%s: Edit mismatch, expected %d edit(s), got %d", test.name, test.expectedDiffs, diff)
|
|
| 115 | 111 |
} |
| 116 | 112 |
} |
| 117 | 113 |
} |