drafts, minor updates

This commit is contained in:
Dmitry Isaenko 2025-08-18 00:40:20 +03:00
parent 6d243a2be1
commit 37db634a23
8 changed files with 1168 additions and 56 deletions

View file

@ -29,7 +29,7 @@ public class AppPreferences {
private final Preferences preferences; private final Preferences preferences;
private final Locale locale; private final Locale locale;
public static final String[] GOLDLEAF_SUPPORTED_VERSIONS = {"v0.5", "v0.7.x", "v0.8-0.9", "v0.10+"}; public static final String[] GOLDLEAF_SUPPORTED_VERSIONS = {"v0.5", "v0.7.x", "v0.8-0.9", "v0.10-1.1.0", "v1.1.1+"};
private static final Font DEFAULT_FONT = Font.getDefault(); private static final Font DEFAULT_FONT = Font.getDefault();
private AppPreferences(){ private AppPreferences(){

View file

@ -352,8 +352,8 @@ public class BinToAsmPrinter {
int conditionalJumpLocation = ((instructionExpression >> 5 & 0x7FFFF) * 4 + offset) & 0xfffff; int conditionalJumpLocation = ((instructionExpression >> 5 & 0x7FFFF) * 4 + offset) & 0xfffff;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " CBZ " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "#0x%x" + ANSI_RESET + " (" + ANSI_BLUE + "#0x%x" + ANSI_RESET + ")\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " CBZ " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "#0x%x" + ANSI_RESET + " (" + ANSI_BLUE + "#0x%x" + ANSI_RESET + ")\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
(instructionExpression >> 31 == 0) ? "w" : "x", (instructionExpression & 0b11111), (instructionExpression >> 31 == 0) ? "w" : "x", (instructionExpression & 0b11111),
conditionalJumpLocation, (conditionalJumpLocation + 0x100)); conditionalJumpLocation, (conditionalJumpLocation + 0x100));
} }
@ -362,8 +362,8 @@ public class BinToAsmPrinter {
int conditionalJumpLocation = ((instructionExpression >> 5 & 0x7FFFF) * 4 + offset) & 0xfffff; int conditionalJumpLocation = ((instructionExpression >> 5 & 0x7FFFF) * 4 + offset) & 0xfffff;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " CBNZ " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "#0x%x" + ANSI_RESET + " (" + ANSI_BLUE + "#0x%x" + ANSI_RESET + ")\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " CBNZ " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "#0x%x" + ANSI_RESET + " (" + ANSI_BLUE + "#0x%x" + ANSI_RESET + ")\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
(instructionExpression >> 31 == 0) ? "w" : "x", (instructionExpression & 0b11111), (instructionExpression >> 31 == 0) ? "w" : "x", (instructionExpression & 0b11111),
conditionalJumpLocation, (conditionalJumpLocation + 0x100)); conditionalJumpLocation, (conditionalJumpLocation + 0x100));
} }
@ -372,8 +372,8 @@ public class BinToAsmPrinter {
int conditionalJumpLocationPatch = ((instructionExpression & 0x3ffffff) * 4 + offset) & 0xfffff; int conditionalJumpLocationPatch = ((instructionExpression & 0x3ffffff) * 4 + offset) & 0xfffff;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " B " + ANSI_BLUE + "#0x%x" + ANSI_RESET + " (Real: " + ANSI_BLUE + "#0x%x" + ANSI_RESET + ")\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " B " + ANSI_BLUE + "#0x%x" + ANSI_RESET + " (Real: " + ANSI_BLUE + "#0x%x" + ANSI_RESET + ")\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
conditionalJumpLocationPatch, (conditionalJumpLocationPatch + 0x100)); conditionalJumpLocationPatch, (conditionalJumpLocationPatch + 0x100));
} }
@ -382,8 +382,8 @@ public class BinToAsmPrinter {
int conditionalJumpLocationPatch = ((instructionExpression & 0x3ffffff) * 4 + offset) & 0xfffff; int conditionalJumpLocationPatch = ((instructionExpression & 0x3ffffff) * 4 + offset) & 0xfffff;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " BL " + ANSI_BLUE + "#0x%x" + ANSI_RESET + " (Real: " + ANSI_BLUE + "#0x%x" + ANSI_RESET + ")\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " BL " + ANSI_BLUE + "#0x%x" + ANSI_RESET + " (Real: " + ANSI_BLUE + "#0x%x" + ANSI_RESET + ")\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
conditionalJumpLocationPatch, (conditionalJumpLocationPatch + 0x100)); conditionalJumpLocationPatch, (conditionalJumpLocationPatch + 0x100));
} }
@ -392,15 +392,15 @@ public class BinToAsmPrinter {
int sfHw = (instructionExpression >> 22 & 1); int sfHw = (instructionExpression >> 22 & 1);
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " MOV " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "#0x%x" + ANSI_RESET + "\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " MOV " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "#0x%x" + ANSI_RESET + "\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
(sfHw == 0) ? "w" : "x", (instructionExpression & 0b11111), imm16); (sfHw == 0) ? "w" : "x", (instructionExpression & 0b11111), imm16);
} }
private static String printNOPSimplified(int instructionExpression, int offset){ private static String printNOPSimplified(int instructionExpression, int offset){
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " NOP " + ANSI_RESET + "\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " NOP " + ANSI_RESET + "\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression); offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression);
} }
private static String printTBZSimplified(int instructionExpression, int offset){ private static String printTBZSimplified(int instructionExpression, int offset){
@ -410,8 +410,8 @@ public class BinToAsmPrinter {
int label = offset + (instructionExpression >> 5 & 0x3fff) * 4; int label = offset + (instructionExpression >> 5 & 0x3fff) * 4;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " TBZ " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "#0x%x" + ANSI_RESET + ", " + ANSI_PURPLE + "%x" + ANSI_RESET + "\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " TBZ " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "#0x%x" + ANSI_RESET + ", " + ANSI_PURPLE + "%x" + ANSI_RESET + "\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
(xwSelector == 0) ? "w" : "x", Rt, imm, label); (xwSelector == 0) ? "w" : "x", Rt, imm, label);
} }
@ -419,15 +419,15 @@ public class BinToAsmPrinter {
int conditionalJumpLocation = ((instructionExpression >> 4 & 0b1111111111111111111) * 4 + offset) & 0xfffff; int conditionalJumpLocation = ((instructionExpression >> 4 & 0b1111111111111111111) * 4 + offset) & 0xfffff;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " B.%s " + ANSI_BLUE + "#0x%x" + ANSI_RESET + " (Real: " + ANSI_BLUE + "#0x%x" + ANSI_RESET + ")\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " B.%s " + ANSI_BLUE + "#0x%x" + ANSI_RESET + " (Real: " + ANSI_BLUE + "#0x%x" + ANSI_RESET + ")\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
getBConditionalMarker(instructionExpression & 0xf), getBConditionalMarker(instructionExpression & 0xf),
conditionalJumpLocation, (conditionalJumpLocation + 0x100)); conditionalJumpLocation, (conditionalJumpLocation + 0x100));
} }
private static String printImTooLazy(String name, int instructionExpression, int offset){ private static String printImTooLazy(String name, int instructionExpression, int offset){
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " "+name+" . . . \n"+ ANSI_RESET, "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " "+name+" . . . \n"+ ANSI_RESET,
offset, Integer.reverseBytes(instructionExpression), instructionExpression); offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression);
} }
private static String printSUBSimplified(int instructionExpression, int offset){ private static String printSUBSimplified(int instructionExpression, int offset){
@ -437,8 +437,8 @@ public class BinToAsmPrinter {
int imm12 = instructionExpression >> 10 & 0xFFF; // unsigned only int imm12 = instructionExpression >> 10 & 0xFFF; // unsigned only
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " SUB (imm) " + ANSI_GREEN + "%s%d, " + ANSI_BLUE + "%s%d, #0x%x" + ANSI_RESET + "\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " SUB (imm) " + ANSI_GREEN + "%s%d, " + ANSI_BLUE + "%s%d, #0x%x" + ANSI_RESET + "\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
wx, Rt, wx, Rn, imm12); wx, Rt, wx, Rn, imm12);
} }
@ -448,8 +448,8 @@ public class BinToAsmPrinter {
int Rd = instructionExpression & 0x1F; int Rd = instructionExpression & 0x1F;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " MOV (reg) " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "%s%d" + ANSI_RESET + "\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " MOV (reg) " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "%s%d" + ANSI_RESET + "\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
sfHw, Rm, sfHw, Rd); sfHw, Rm, sfHw, Rd);
} }
@ -458,8 +458,8 @@ public class BinToAsmPrinter {
int imm = instructionExpression >> 10 & 0xFFF; int imm = instructionExpression >> 10 & 0xFFF;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " CMN " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "#0x%x" + ANSI_RESET + "\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " CMN " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "#0x%x" + ANSI_RESET + "\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
(instructionExpression >> 31 == 0) ? "w" : "x", Rn, imm); (instructionExpression >> 31 == 0) ? "w" : "x", Rn, imm);
} }
@ -471,8 +471,8 @@ public class BinToAsmPrinter {
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " LDR(imm) " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "[%s%d, #0x%x]" + ANSI_RESET + " (note: unsigned offset)\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " LDR(imm) " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "[%s%d, #0x%x]" + ANSI_RESET + " (note: unsigned offset)\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
wx, Rt, wx, Rn, imm12); wx, Rt, wx, Rn, imm12);
} }
private static String printLRDBImmUnsignSimplified(int instructionExpression, int offset){ private static String printLRDBImmUnsignSimplified(int instructionExpression, int offset){
@ -482,8 +482,8 @@ public class BinToAsmPrinter {
int imm12 = (instructionExpression >> 10 & 0xFFF) * 8; // unsigned only int imm12 = (instructionExpression >> 10 & 0xFFF) * 8; // unsigned only
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " LDRB(imm) " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "[%s%d, #0x%x]" + ANSI_RESET + " (note: unsigned offset)\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " LDRB(imm) " + ANSI_GREEN + "%s%d " + ANSI_BLUE + "[%s%d, #0x%x]" + ANSI_RESET + " (note: unsigned offset)\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
wx, Rt, wx, Rn, imm12); wx, Rt, wx, Rn, imm12);
} }
@ -494,9 +494,9 @@ public class BinToAsmPrinter {
int LSL = (instructionExpression >> 22 & 0b1) == 1 ? 12 : 0; int LSL = (instructionExpression >> 22 & 0b1) == 1 ? 12 : 0;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " CMP " + ANSI_GREEN + sf + "%d," + "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " CMP " + ANSI_GREEN + sf + "%d," +
ANSI_BLUE + "0x%x" + ANSI_RESET + " (Real: " + ANSI_BLUE + "#0x%x" + ANSI_RESET + ") " + ANSI_PURPLE + "LSL #%d" + ANSI_RESET + "\n", ANSI_BLUE + "0x%x" + ANSI_RESET + " (Real: " + ANSI_BLUE + "#0x%x" + ANSI_RESET + ") " + ANSI_PURPLE + "LSL #%d" + ANSI_RESET + "\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
Rn, Rn,
conditionalJumpLocation, (conditionalJumpLocation + 0x100), conditionalJumpLocation, (conditionalJumpLocation + 0x100),
LSL); LSL);
@ -527,9 +527,9 @@ public class BinToAsmPrinter {
} }
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " CMP (sr) " + ANSI_GREEN + sf + "%d," + "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " CMP (sr) " + ANSI_GREEN + sf + "%d," +
ANSI_BLUE + sf + "%d " + ANSI_BLUE + LSLStr + ANSI_PURPLE + " %d" + ANSI_RESET + "\n", ANSI_BLUE + sf + "%d " + ANSI_BLUE + LSLStr + ANSI_PURPLE + " %d" + ANSI_RESET + "\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression,
Rn, Rm, imm6); Rn, Rm, imm6);
} }
@ -544,23 +544,23 @@ public class BinToAsmPrinter {
imm = instructionExpression >> 10 & 0x1fff; imm = instructionExpression >> 10 & 0x1fff;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " AND " + ANSI_GREEN + sf + "%d, " + ANSI_BLUE + "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " AND " + ANSI_GREEN + sf + "%d, " + ANSI_BLUE +
sf + "%d" + ANSI_PURPLE + " # ??? 0b%s " + ANSI_RESET + "\n", sf + "%d" + ANSI_PURPLE + " # ??? 0b%s " + ANSI_RESET + "\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, Rn, Rd, Converter.intToBinaryString(imm)); offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression, Rn, Rd, Converter.intToBinaryString(imm));
} }
private static String printRetSimplified(int instructionExpression, int offset){ private static String printRetSimplified(int instructionExpression, int offset){
int Xn = (instructionExpression >> 5) & 0x1F; int Xn = (instructionExpression >> 5) & 0x1F;
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " RET " + ANSI_GREEN + " X%d" + ANSI_RESET + "\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " RET " + ANSI_GREEN + " X%d" + ANSI_RESET + "\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression, Xn == 0 ? 30 : Xn); offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression, Xn == 0 ? 30 : Xn);
} }
private static String printUnknownSimplified(int instructionExpression, int offset){ private static String printUnknownSimplified(int instructionExpression, int offset){
return String.format( return String.format(
"%05x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " ??? 0b"+ANSI_RESET+ Converter.intToBinaryString(instructionExpression) +"\n", "%06x 7100%06x "+ANSI_CYAN+"%08x (%08x)"+ANSI_YELLOW + " ??? 0b"+ANSI_RESET+ Converter.intToBinaryString(instructionExpression) +"\n",
offset, Integer.reverseBytes(instructionExpression), instructionExpression); offset+0x100, offset,Integer.reverseBytes(instructionExpression), instructionExpression);
} }
private static String intAsBinString(int number) { private static String intAsBinString(int number) {

View file

@ -148,7 +148,7 @@ public class FsPatch {
private void findAllOffsets() throws Exception{ private void findAllOffsets() throws Exception{
this.wizard = new HeuristicFsWizard(_textSection); this.wizard = new HeuristicFsWizard(_textSection);
String errorsAndNotes = wizard.getErrorsAndNotes(); String errorsAndNotes = wizard.getErrorsAndNotes();
if (errorsAndNotes.length() > 0) if (! errorsAndNotes.isEmpty())
logPrinter.print(errorsAndNotes, EMsgType.WARNING); logPrinter.print(errorsAndNotes, EMsgType.WARNING);
} }
private void mkDirs(){ private void mkDirs(){

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
/* /*
Copyright 2019-2020 Dmitry Isaenko Copyright 2019-2025 Dmitry Isaenko
This file is part of NS-USBloader. This file is part of NS-USBloader.
@ -66,7 +66,10 @@ public class UsbCommunications extends CancellableRunnable {
case "TinFoil": case "TinFoil":
module = new TinFoil(handler, nspMap, this, logPrinter); module = new TinFoil(handler, nspMap, this, logPrinter);
break; break;
case "GoldLeafv0.10+": case "GoldLeafv1.1.1+":
module = new GoldLeaf_111(handler, nspMap, this, logPrinter, nspFilterForGl);
break;
case "GoldLeafv0.10-1.1.0":
module = new GoldLeaf_010(handler, nspMap, this, logPrinter, nspFilterForGl); module = new GoldLeaf_010(handler, nspMap, this, logPrinter, nspFilterForGl);
break; break;
case "GoldLeafv0.8-0.9": case "GoldLeafv0.8-0.9":

View file

@ -8,7 +8,7 @@ import org.junit.jupiter.api.*;
import java.io.File; import java.io.File;
import java.util.Arrays; import java.util.Arrays;
@Disabled //@Disabled
public class EsIntegrationTest { public class EsIntegrationTest {
static String pathToFirmware; static String pathToFirmware;
static String pathToFirmwares; static String pathToFirmwares;
@ -22,18 +22,17 @@ public class EsIntegrationTest {
pathToKeysFile = environment.getProdkeysLocation(); pathToKeysFile = environment.getProdkeysLocation();
saveTo = environment.getSaveToLocation() + File.separator + "ES_LPR"; saveTo = environment.getSaveToLocation() + File.separator + "ES_LPR";
pathToFirmwares = environment.getFirmwaresLocation(); pathToFirmwares = environment.getFirmwaresLocation();
pathToFirmware = environment.getFirmwaresLocation() + File.separator + "Firmware 17.0.0"; pathToFirmware = environment.getFirmwaresLocation() + File.separator + "Firmware 19.0.1";
} }
@DisplayName("ES Integration validation - everything") @DisplayName("ES Integration validation - everything")
@Test @Test
void makeEss() throws Exception{ void makeEss() throws Exception{
File[] fwDirs = new File(pathToFirmwares).listFiles((file, s) -> { File[] fwDirs = new File(pathToFirmwares).listFiles((file, s) ->
return s.matches("^Firmware (9\\.|[0-9][0-9]\\.).*"); s.matches("^Firmware (9\\.|[0-9][0-9]\\.).*"));
//return s.matches("^Firmware 10.0.1.*");
});
assert fwDirs != null; assert fwDirs != null;
Arrays.sort(fwDirs); Arrays.sort(fwDirs);
Arrays.stream(fwDirs).forEach(System.out::println);
for (File dir : fwDirs){ for (File dir : fwDirs){
EsPatchMaker esPatchMaker = new EsPatchMaker(dir.getAbsolutePath(), pathToKeysFile, saveTo); EsPatchMaker esPatchMaker = new EsPatchMaker(dir.getAbsolutePath(), pathToKeysFile, saveTo);
Thread workThread = new Thread(esPatchMaker); Thread workThread = new Thread(esPatchMaker);
@ -42,6 +41,7 @@ public class EsIntegrationTest {
} }
} }
@Disabled
@DisplayName("ES Integration validation - one particular firmware") @DisplayName("ES Integration validation - one particular firmware")
@Test @Test
void makeEs() throws Exception{ void makeEs() throws Exception{

View file

@ -11,7 +11,7 @@ import org.junit.jupiter.api.Test;
import java.io.File; import java.io.File;
import java.util.Arrays; import java.util.Arrays;
@Disabled //@Disabled
public class FsIntegrationTest { public class FsIntegrationTest {
static String pathToFirmware; static String pathToFirmware;
static String pathToFirmwares; static String pathToFirmwares;
@ -25,19 +25,17 @@ public class FsIntegrationTest {
pathToKeysFile = environment.getProdkeysLocation(); pathToKeysFile = environment.getProdkeysLocation();
saveTo = environment.getSaveToLocation() + File.separator + "FS_LPR"; saveTo = environment.getSaveToLocation() + File.separator + "FS_LPR";
pathToFirmwares = environment.getFirmwaresLocation(); pathToFirmwares = environment.getFirmwaresLocation();
pathToFirmware = environment.getFirmwaresLocation() + File.separator + "Firmware 17.0.0"; pathToFirmware = environment.getFirmwaresLocation() + File.separator + "Firmware 15.0.0";
} }
@DisplayName("FS Integration validation - everything") @DisplayName("FS Integration validation - everything")
@Test @Test
void makeFss() throws Exception{ void makeFss() throws Exception{
File[] fwDirs = new File(pathToFirmwares).listFiles((file, s) -> { File[] fwDirs = new File(pathToFirmwares).listFiles((file, s) ->
return (s.matches("^Firmware (9\\.|[0-9][0-9]\\.).*") && ! s.endsWith(".zip")); s.matches("^Firmware (9\\.|[0-9][0-9]\\.).*") && ! s.endsWith(".zip"));
//return s.matches("^Firmware 10.0.1.*");
});
assert fwDirs != null; assert fwDirs != null;
Arrays.sort(fwDirs); Arrays.sort(fwDirs);
Arrays.stream(fwDirs).forEach(System.out::println);
for (File dir : fwDirs){ for (File dir : fwDirs){
System.out.println("\n\t\t\t"+dir.getName()); System.out.println("\n\t\t\t"+dir.getName());
FsPatchMaker fsPatchMaker = new FsPatchMaker(dir.getAbsolutePath(), pathToKeysFile, saveTo); FsPatchMaker fsPatchMaker = new FsPatchMaker(dir.getAbsolutePath(), pathToKeysFile, saveTo);
@ -47,6 +45,7 @@ public class FsIntegrationTest {
} }
} }
@Disabled
@DisplayName("FS Integration validation - one particular firmware") @DisplayName("FS Integration validation - one particular firmware")
@Test @Test
void makeFs() throws Exception{ void makeFs() throws Exception{

View file

@ -10,7 +10,7 @@ import org.junit.jupiter.api.Test;
import java.io.File; import java.io.File;
@Disabled //@Disabled
public class LoaderIntegrationTest { public class LoaderIntegrationTest {
static String pathToAtmo; static String pathToAtmo;
static String saveTo; static String saveTo;