|
7 | 7 | import java.io.InputStream; |
8 | 8 | import java.io.OutputStream; |
9 | 9 | import java.nio.channels.FileChannel; |
| 10 | +import java.security.MessageDigest; |
| 11 | +import java.security.NoSuchAlgorithmException; |
10 | 12 | import java.util.ArrayList; |
11 | 13 | import java.util.Collections; |
12 | 14 | import java.util.HashMap; |
@@ -968,7 +970,7 @@ else if (status.equals(TestStatus.UNIMPLEMENTED)) |
968 | 970 | sb.append(currentPackageName); |
969 | 971 | sb.append(" </div>\n"); |
970 | 972 | } |
971 | | - |
| 973 | + sb.append("<div class=\"description\"> Test archive name: "+ getSha1OfTestClass(ref.getPackageName()+ "."+ref.getClassName()) +"</div>"); |
972 | 974 | sb.append(" <div class=\"coverageMethod\">"); |
973 | 975 | sb.append(ref.getClassName()); |
974 | 976 | sb.append("."); |
@@ -1292,4 +1294,22 @@ private void copyFile(File sourceFile, File targetFile) throws IOException |
1292 | 1294 | outChannel.close(); |
1293 | 1295 | } |
1294 | 1296 | } |
| 1297 | + |
| 1298 | + private String getSha1OfTestClass(String fqn){ |
| 1299 | + MessageDigest messageDigest = null; |
| 1300 | + try { |
| 1301 | + messageDigest = MessageDigest.getInstance("SHA-1"); |
| 1302 | + } catch (NoSuchAlgorithmException e) { |
| 1303 | + return null; |
| 1304 | + } |
| 1305 | + messageDigest.update(fqn.getBytes()); |
| 1306 | + byte[] digest = messageDigest.digest(); |
| 1307 | + |
| 1308 | + StringBuilder hexString = new StringBuilder(); |
| 1309 | + for (int i = 0; i < digest.length; i++) { |
| 1310 | + hexString.append(Integer.toHexString(0xFF & digest[i])); |
| 1311 | + } |
| 1312 | + return hexString.toString(); |
| 1313 | + |
| 1314 | + } |
1295 | 1315 | } |
0 commit comments