Skip to content

Commit 35bde68

Browse files
nixel2007claude
andcommitted
build(tests)!: тесты переведены с 1testrunner на oneunit
1testrunner под oscript 2.1.0 уже не поднимается - `Тестер` не определен, - а `ПолучитьСписокТестов` в каждом наборе был ручным перебором методов через `reflector` с гейтом по переменной среды. oneunit требует среду 2.0.0, поэтому `ВерсияСреды` поднята с 1.9.2, а матрица CI переехала с 1.9.2 на 2.0.0. Единственный известный потребитель, autumn-data, уже требует 2.0.0. Что изменилось в наборах: - `ПолучитьСписокТестов` и `#Использовать reflector` убраны; - `ПередЗапускомТеста` и `ПослеЗапускаТеста` получили `&ПередКаждым` и `&ПослеКаждого`; - три набора, которым нужна конкретная база, выключаются аннотацией `&ВключенЕсли` с лямбдой, читающей ту же переменную среды, что и раньше. Механизм остается один: переменные среды. Теги сознательно не заводились, чтобы не держать два способа сказать одно и то же. `tasks/` удален целиком: oneunit сам умеет и прогон, и отчеты. Отчеты пишутся в те же пути, что ждет `sonar-project.properties`, поэтому конфигурация Sonar не тронута. Зависимости в `packagedef` получили явные версии и подняты до актуальных, дубль `fs` убран, dev-зависимость осталась одна - `oneunit`. Появился `tests/oscript.cfg`: oneunit ищет конфиг локальных зависимостей в каталоге тестов. Прогон: 157 тестов на SQLite, все зеленые. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AGG5hA6ksvzxJcdWASuc35
1 parent 7240ea1 commit 35bde68

21 files changed

Lines changed: 85 additions & 166 deletions

.github/copilot-instructions.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,17 @@ docker run --rm --name postgres -d -p 5432:5432 -e POSTGRES_PASSWORD=postgres -e
2323
Для запуска тестов используется команда:
2424

2525
```sh
26-
TESTRUNNER_RUN_POSTGRES_TESTS=true TESTRUNNER_RUN_SQLITE_TESTS=false oscript tasks/test.os
26+
TESTRUNNER_RUN_POSTGRES_TESTS=true TESTRUNNER_RUN_SQLITE_TESTS=false \
27+
./oscript_modules/bin/oneunit execute
2728
```
2829

2930
Для запуска тестов с замером покрытия используется команда:
3031

3132
```sh
32-
TESTRUNNER_RUN_POSTGRES_TESTS=true TESTRUNNER_RUN_SQLITE_TEST=false oscript tasks/coverage.os
33+
TESTRUNNER_RUN_POSTGRES_TESTS=true TESTRUNNER_RUN_SQLITE_TESTS=false \
34+
./oscript_modules/bin/oneunit execute \
35+
--genericExecution out/tests.xml \
36+
--genericCoverage out/genericCoverage.xml
3337
```
3438

3539
Замеры покрытия доступны в подкаталоге `out`.

.github/workflows/main.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
fail-fast: false
1515
matrix:
1616
os: [ubuntu-latest, windows-latest, macos-15-intel]
17-
oscript_version: ['1.9.2', 'stable']
17+
oscript_version: ['2.0.0', 'stable']
1818
steps:
1919
- uses: actions/checkout@v7
2020

@@ -34,7 +34,7 @@ jobs:
3434
run: |
3535
opm install opm@1.0.2
3636
opm install -l
37-
opm install -l 1commands 1testrunner coverage@0.6.1
37+
opm install -l --dev
3838
3939
- name: Install docker
4040
uses: docker/setup-docker-action@v5
@@ -53,4 +53,4 @@ jobs:
5353
TESTRUNNER_RUN_POSTGRES_TESTS: true
5454
TESTRUNNER_RUN_SQLITE_TESTS: "${{ matrix.os == 'windows-latest' }}"
5555
run: |
56-
oscript ./tasks/test.os
56+
./oscript_modules/bin/oneunit execute

.github/workflows/qa.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ jobs:
1717
- name: Setup Onescript Action
1818
uses: otymko/setup-onescript@v1.5
1919
with:
20-
version: "1.9.2"
20+
version: "2.0.0"
2121

2222
- name: Install dependencies
2323
run: |
2424
opm install opm@1.0.2
2525
opm install -l
26-
opm install -l 1commands 1testrunner coverage@0.6.1
26+
opm install -l --dev
2727
2828
- name: Install docker
2929
uses: docker/setup-docker-action@v5
@@ -49,7 +49,9 @@ jobs:
4949
TESTRUNNER_RUN_POSTGRES_TESTS: true
5050
TESTRUNNER_RUN_SQLITE_TESTS: false
5151
run: |
52-
oscript ./tasks/coverage.os
52+
./oscript_modules/bin/oneunit execute \
53+
--genericExecution out/tests.xml \
54+
--genericCoverage out/genericCoverage.xml
5355
5456
- name: Setup sonarqube
5557
uses: warchant/setup-sonar-scanner@v10

CLAUDE.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,12 @@
1414
```
1515
opm install opm@1.0.2
1616
opm install -l
17-
opm install -l 1commands 1testrunner coverage@0.6.1
18-
oscript ./tasks/test.os
17+
opm install -l --dev
18+
./oscript_modules/bin/oneunit execute
1919
```
2020

21-
Переменные среды `TESTRUNNER_RUN_SQLITE_TESTS` и `TESTRUNNER_RUN_POSTGRES_TESTS`
22-
включают наборы, требующие соответствующей базы.
21+
Тесты гоняет [oneunit](https://github.com/sfaqer/oneunit). Переменные среды
22+
`TESTRUNNER_RUN_SQLITE_TESTS` и `TESTRUNNER_RUN_POSTGRES_TESTS` — единственный
23+
способ сказать, какие базы доступны. Наборы, которым нужна конкретная база,
24+
выключаются аннотацией `&ВключенЕсли`, читающей ту же переменную; наборы,
25+
работающие с любой из двух, выбирают по ним базу сами.

packagedef

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,23 @@
88
.Автор("Nikita Fedkin")
99
.АдресАвтора("nixel2007@gmail.com")
1010
.Описание("entity")
11-
.ВерсияСреды("1.9.2")
11+
.ВерсияСреды("2.0.0")
1212
.ВключитьФайл("src")
1313
.ВключитьФайл("tests")
1414
.ВключитьФайл("lib.config")
1515
.ВключитьФайл("README.md")
1616
.ВключитьФайл("docs")
1717
.ВключитьФайл("LICENSE.md")
18-
.ЗависитОт("annotations", "1.2.0")
18+
.ЗависитОт("annotations", "1.6.0")
1919
.ЗависитОт("asserts", "1.6.2")
2020
.ЗависитОт("collectionos", "0.8.3")
2121
.ЗависитОт("fluent", "0.6.1")
22-
.ЗависитОт("fs", "1.0.0")
23-
.ЗависитОт("lambdas", "0.3.1")
24-
.ЗависитОт("logos", "1.2.1")
25-
.ЗависитОт("decorator", "1.5.1")
26-
.ЗависитОт("reflector", "0.6.1")
27-
.ЗависитОт("sql", "1.3.2")
22+
.ЗависитОт("fs", "1.2.0")
23+
.ЗависитОт("lambdas", "0.3.4")
24+
.ЗависитОт("logos", "1.7.1")
25+
.ЗависитОт("decorator", "2.0.8")
26+
.ЗависитОт("reflector", "0.7.1")
27+
.ЗависитОт("sql", "1.3.3")
2828
.ЗависитОт("strings", "0.5.0")
29-
.РазработкаЗависитОт("1commands")
30-
.РазработкаЗависитОт("1testrunner")
31-
.РазработкаЗависитОт("coverage")
32-
.РазработкаЗависитОт("fs")
29+
.РазработкаЗависитОт("oneunit", "0.4.1")
3330
;

tasks/coverage.os

Lines changed: 0 additions & 34 deletions
This file was deleted.

tasks/oscript.cfg

Lines changed: 0 additions & 1 deletion
This file was deleted.

tasks/test.os

Lines changed: 0 additions & 46 deletions
This file was deleted.

tests/oscript.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
lib.additional=../oscript_modules

tests/БлокировкаЧтенияЗаписи.os

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
// Результат попытки захвата, выполненной в фоновом задании.
1313
Перем РезультатПробы;
1414

15+
&ПередКаждым
1516
Процедура ПередЗапускомТеста() Экспорт
1617
Блокировка = Новый БлокировкаЧтенияЗаписи();
1718
РезультатПробы = Неопределено;

0 commit comments

Comments
 (0)