SHA256
29 12 25
Тесты работают - запускаются из специальной кнопки - возле билд. Не совсем всё по стандарту но и это очень хорошо и удобно!
This commit is contained in:
@@ -1 +0,0 @@
|
||||
Работу с линиями
|
||||
|
||||
@@ -2,7 +2,6 @@ package test.it;
|
||||
|
||||
import org.junit.platform.suite.api.SelectClasses;
|
||||
import org.junit.platform.suite.api.Suite;
|
||||
import test.it.ws.*;
|
||||
|
||||
/**
|
||||
* Сьют, который запускает IT тесты строго в заданном порядке.
|
||||
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
package test.it.ws;
|
||||
package test.it;
|
||||
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import test.it.utils.ItRunContext;
|
||||
import test.it.utils.JsonBuilders;
|
||||
import test.it.utils.TestConfig;
|
||||
import test.it.utils.TestLog;
|
||||
import test.it.addBlockUtils.AddBlockFlow;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package test.it;
|
||||
|
||||
import server.ws.WsServer;
|
||||
|
||||
public class IT_RunAllCleanStartWsMain {
|
||||
|
||||
public static void main(String[] args) {
|
||||
// 1) Гасим всё на 7070 (если ничего нет — не падаем)
|
||||
runBash("kill -9 $(lsof -t -i:7070) 2>/dev/null || true");
|
||||
|
||||
// 2) Чистим data/
|
||||
IT_CleanAllDate.main(new String[0]);
|
||||
|
||||
// 3) Стартуем WS сервер в отдельном потоке (daemon, чтобы JVM могла завершиться)
|
||||
Thread wsThread = new Thread(() -> {
|
||||
try {
|
||||
WsServer.main(new String[0]); // внутри join() -> поток будет висеть
|
||||
} catch (Throwable t) {
|
||||
t.printStackTrace(System.out);
|
||||
}
|
||||
}, "wsServer-thread");
|
||||
wsThread.setDaemon(true);
|
||||
wsThread.start();
|
||||
|
||||
// 4) Ждём, чтобы успел стартануть
|
||||
sleepMs(1000);
|
||||
|
||||
// 5) Запускаем все IT тесты (без System.exit внутри)
|
||||
int failed = IT_RunAllMain.runAll();
|
||||
|
||||
// 6) Завершаем процесс с кодом ошибок
|
||||
System.exit(failed);
|
||||
}
|
||||
|
||||
private static void runBash(String cmd) {
|
||||
try {
|
||||
Process p = new ProcessBuilder("bash", "-lc", cmd)
|
||||
.inheritIO()
|
||||
.start();
|
||||
int code = p.waitFor();
|
||||
// тут не ругаемся: команда может быть "пустой" (ничего не слушает порт)
|
||||
// а мы уже добавили "|| true"
|
||||
} catch (Exception e) {
|
||||
System.out.println("WARN: bash command failed: " + e);
|
||||
}
|
||||
}
|
||||
|
||||
private static void sleepMs(long ms) {
|
||||
try {
|
||||
Thread.sleep(ms);
|
||||
} catch (InterruptedException ignored) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,6 @@ package test.it;
|
||||
|
||||
import test.it.utils.ItRunContext;
|
||||
import test.it.utils.TestLog;
|
||||
import test.it.ws.IT_03_AddBlock_NoAuth;
|
||||
|
||||
/**
|
||||
* Ручной запуск всех IT тестов БЕЗ JUnit / Suite.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package test.it.ws;
|
||||
package test.it.addBlockUtils;
|
||||
|
||||
import blockchain.BchBlockEntry;
|
||||
import blockchain.BchCryptoVerifier;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package test.it.ws;
|
||||
package test.it.addBlockUtils;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package test.it.ws;
|
||||
package test.it.addBlockUtils;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
Reference in New Issue
Block a user