7c653a2490
bj собирает версии своих компонентов и внешних систем (в фоне, кэш 10 минут, прогрев при старте): ядро и модули bj (components.json или «-version»), экспортёр ARQA (служба bj-quikexport, /version), криптосервис (Health), «Валидата CSP» (zpki1utl), Java, ИШ НРД (deps.json + сайт НРД), МНП QUIK (VersionInfo), DEPO (OD_DATA_VERSION), PostgreSQL, ОС. «Настройка → Обзор» — таблица «Версии систем» с кнопкой «Обновить сведения»; в разделах БД, Fancy, QUIK МНП, Экспорт QUIK, Криптография, НРД, ЛК, НПР и Обновления — строка с версией. В таблице обновлений у компонентов, выложенных вручную, вместо «неизвестна» — версия самого компонента. bj-component-install: -version. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
26 lines
921 B
Go
26 lines
921 B
Go
package quikexport
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestExporterVersion(t *testing.T) {
|
|
dir := t.TempDir()
|
|
// В программе встречаются и чужие версии библиотек — берётся та, что совпадает с установщиком.
|
|
bin := []byte("\x00ELF\x008.0.4.2\x00codecvt\x0012.1.5.2\x000123456789\x00")
|
|
if err := os.WriteFile(filepath.Join(dir, "export"), bin, 0o755); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if err := os.WriteFile(filepath.Join(dir, ".actions.log"), []byte("[14/09/26][./install_quikexport-12.1.5.run][root] Done\n"), 0o644); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if v := exporterVersion(dir); v != "12.1.5.2" {
|
|
t.Fatalf("версия экспортёра = %q", v)
|
|
}
|
|
if v := exporterVersion(t.TempDir()); v != "" {
|
|
t.Fatalf("без экспортёра версия должна быть пустой, получено %q", v)
|
|
}
|
|
}
|