Compare commits
1
Commits
v1.0.0
..
acd9334c16
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
acd9334c16 |
No files matched your search
@@ -402,6 +402,13 @@ void FakeInternet::respond(QPointer<QTcpSocket> socket, const FakeResponse &resp
|
||||
socket->write(response.body.left(response.truncateTo));
|
||||
socket->flush();
|
||||
socket->disconnectFromHost();
|
||||
// Schannel (Windows) на disconnectFromHost шлёт только TLS close_notify и держит
|
||||
// TCP открытым, ожидая ответного close_notify, — клиент тогда висит до таймаута.
|
||||
// Обрыв на то и обрыв: если сокет не закрылся сам, рвём соединение.
|
||||
QTimer::singleShot(200, socket, [socket] {
|
||||
if (socket && socket->state() != QAbstractSocket::UnconnectedState)
|
||||
socket->abort();
|
||||
});
|
||||
return;
|
||||
}
|
||||
socket->write(response.body);
|
||||
|
||||
@@ -103,7 +103,8 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
if (!argsFile.empty()) {
|
||||
std::ofstream out(argsFile, std::ios::trunc);
|
||||
// binary: в текстовом режиме Windows превратит '\n' в "\r\n", и тесты увидят «-jar\r».
|
||||
std::ofstream out(argsFile, std::ios::trunc | std::ios::binary);
|
||||
for (int i = 1; i < argc; ++i)
|
||||
out << argv[i] << '\n';
|
||||
for (const std::string &name : dumpEnv) {
|
||||
|
||||
@@ -112,8 +112,11 @@ private slots:
|
||||
QCOMPARE(c.result.userType, QStringLiteral("msa"));
|
||||
QCOMPARE(c.result.clientToken, MsaAuthService::clientId());
|
||||
QVERIFY(!c.result.licenseMissing);
|
||||
const qint64 lifetime = before.secsTo(c.result.expiresAt);
|
||||
QVERIFY(lifetime > 3500 && lifetime <= 3600);
|
||||
// expiresAt = момент ответа login_with_xbox + expires_in; на медленном раннере
|
||||
// вся цепочка может идти дольше секунды, поэтому границы — до и после логина.
|
||||
const QDateTime after = QDateTime::currentDateTimeUtc();
|
||||
QVERIFY(c.result.expiresAt >= before.addSecs(3600));
|
||||
QVERIFY(c.result.expiresAt <= after.addSecs(3600));
|
||||
QVERIFY(progress.count() >= 5);
|
||||
|
||||
// Порядок шагов и формат запроса токена.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Дымовая проверка установленного дерева (результат cmake --install) на Windows.
|
||||
# Дымовая проверка установленного дерева (результат cmake --install) на Windows.
|
||||
#
|
||||
# powershell -File tests\scripts\smoke_installed.ps1 -Prefix C:\r\bl-smoke-stage
|
||||
#
|
||||
|
||||
@@ -11,8 +11,10 @@
|
||||
опустить планку, чтобы достигнутое не откатилось.
|
||||
3. CHANGELOG.md содержит раздел для версии из project(BiLauncher VERSION …):
|
||||
без него release.yml создаст релиз с пустым описанием (только предупреждение).
|
||||
4. Скрипты .ps1 с не-ASCII символами сохранены в UTF-8 с BOM: без BOM Windows
|
||||
PowerShell 5.1 читает их в ANSI-кодировке и падает на разборе кириллицы.
|
||||
"""
|
||||
import os, re, subprocess, sys
|
||||
import glob, os, re, subprocess, sys
|
||||
|
||||
ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
BASELINE = os.path.join(ROOT, "tests", "qmllint-baseline.txt")
|
||||
@@ -75,12 +77,27 @@ def check_changelog():
|
||||
return True
|
||||
|
||||
|
||||
def check_ps1_bom():
|
||||
step("Кодировка .ps1")
|
||||
ok = True
|
||||
for path in glob.glob(os.path.join(ROOT, "**", "*.ps1"), recursive=True):
|
||||
if os.path.relpath(path, ROOT).startswith("build"): # папки сборки
|
||||
continue
|
||||
data = open(path, "rb").read()
|
||||
if not data.startswith(b"\xef\xbb\xbf") and any(b > 0x7F for b in data):
|
||||
print(f"ОШИБКА: {os.path.relpath(path, ROOT)} содержит не-ASCII, но сохранён без UTF-8 BOM")
|
||||
ok = False
|
||||
if ok:
|
||||
print("все .ps1 читаются Windows PowerShell 5.1")
|
||||
return ok
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) != 2:
|
||||
print(__doc__)
|
||||
return 2
|
||||
build_dir = os.path.abspath(sys.argv[1])
|
||||
results = [check_translations(), check_qmllint(build_dir), check_changelog()]
|
||||
results = [check_translations(), check_qmllint(build_dir), check_changelog(), check_ps1_bom()]
|
||||
print("\nИТОГ:", "OK" if all(results) else "ЕСТЬ ОШИБКИ")
|
||||
return 0 if all(results) else 1
|
||||
|
||||
|
||||
Reference in new issue
Block a user