From 77695588812b87a089df00406f5739497a57b084 Mon Sep 17 00:00:00 2001 From: Nikolas Rimikis Date: Thu, 26 Oct 2023 10:51:35 +0200 Subject: [PATCH] test(nextcloud,dynamite_end_to_end_test): migrate to dart test configuration Signed-off-by: Nikolas Rimikis --- .github/workflows/dart.yml | 3 ++- melos.yaml | 3 ++- packages/dynamite/dynamite_end_to_end_test/dart_test.yaml | 1 + .../test/ensure_validity_test.dart | 2 +- packages/nextcloud/dart_test.yaml | 1 + packages/nextcloud/test/core_test.dart | 3 +-- packages/nextcloud/test/dashboard_test.dart | 3 +-- packages/nextcloud/test/helper.dart | 3 --- packages/nextcloud/test/news_test.dart | 3 +-- packages/nextcloud/test/notes_test.dart | 3 +-- packages/nextcloud/test/notifications_test.dart | 3 +-- packages/nextcloud/test/provisioning_api_test.dart | 3 +-- packages/nextcloud/test/settings_test.dart | 7 +++---- packages/nextcloud/test/uppush_test.dart | 3 +-- packages/nextcloud/test/user_status_test.dart | 3 +-- packages/nextcloud/test/webdav_test.dart | 3 +-- tool/dart_test_base.yaml | 5 +++++ 17 files changed, 24 insertions(+), 28 deletions(-) create mode 100644 packages/dynamite/dynamite_end_to_end_test/dart_test.yaml create mode 100644 packages/nextcloud/dart_test.yaml create mode 100644 tool/dart_test_base.yaml diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index 78706c00..a7f1fdcd 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -46,4 +46,5 @@ jobs: if [ -z "$packages" ]; then exit 0; fi packages_glob="$(printf ",%s" "${packages[@]}")" packages_glob="${packages_glob:1}" - melos exec --scope="$packages_glob" --concurrency=1 --fail-fast --dir-exists=test -- "flutter test --concurrency=$(nproc --all)" + melos exec --scope="$packages_glob" --concurrency=1 --fail-fast --dir-exists=test -- "flutter test --concurrency=$(nproc --all) -x source_verification" + melos exec --scope="$packages_glob" --concurrency=1 --fail-fast --file-exists=test/ensure_validity_test.dart -- "flutter test --concurrency=1 -t source_verification" diff --git a/melos.yaml b/melos.yaml index 0d812d87..f92112d3 100644 --- a/melos.yaml +++ b/melos.yaml @@ -22,6 +22,7 @@ scripts: format: dart format --fix --line-length 120 . format:check: dart format --output=none --set-exit-if-changed --line-length 120 . analyze: dart analyze --fatal-infos . - test: melos exec --concurrency=1 --fail-fast --dir-exists=test -- "flutter test --concurrency=$(nproc --all)" + test: melos exec --concurrency=1 --fail-fast --dir-exists=test -- "flutter test --concurrency=$(nproc --all) -x source_verification" + test:source_verification: melos exec --concurrency=1 --fail-fast --file-exists=test/ensure_validity_test.dart -- "flutter test --concurrency=1 -t source_verification" generate:neon:build_runner: melos exec --scope="neon*" --file-exists="build.yaml" -- dart run build_runner build --delete-conflicting-outputs && melos run format generate:neon:l10n: melos exec --flutter --dir-exists="lib/l10n" flutter gen-l10n && melos run format diff --git a/packages/dynamite/dynamite_end_to_end_test/dart_test.yaml b/packages/dynamite/dynamite_end_to_end_test/dart_test.yaml new file mode 100644 index 00000000..15d816e1 --- /dev/null +++ b/packages/dynamite/dynamite_end_to_end_test/dart_test.yaml @@ -0,0 +1 @@ +include: ../../../tool/dart_test_base.yaml diff --git a/packages/dynamite/dynamite_end_to_end_test/test/ensure_validity_test.dart b/packages/dynamite/dynamite_end_to_end_test/test/ensure_validity_test.dart index b951ffa0..8d771dce 100644 --- a/packages/dynamite/dynamite_end_to_end_test/test/ensure_validity_test.dart +++ b/packages/dynamite/dynamite_end_to_end_test/test/ensure_validity_test.dart @@ -8,6 +8,6 @@ void main() { packageRelativeDirectory: 'packages/dynamite/dynamite_end_to_end_test', customCommand: ['bash', 'generate.sh'], ), - timeout: const Timeout.factor(20), + tags: 'source_verification', ); } diff --git a/packages/nextcloud/dart_test.yaml b/packages/nextcloud/dart_test.yaml new file mode 100644 index 00000000..7f40623f --- /dev/null +++ b/packages/nextcloud/dart_test.yaml @@ -0,0 +1 @@ +include: ../../tool/dart_test_base.yaml diff --git a/packages/nextcloud/test/core_test.dart b/packages/nextcloud/test/core_test.dart index 0fdd1c80..d4ad11b5 100644 --- a/packages/nextcloud/test/core_test.dart +++ b/packages/nextcloud/test/core_test.dart @@ -177,7 +177,6 @@ void main() { ); }); }, - retry: retryCount, - timeout: timeout, + tags: 'integration', ); } diff --git a/packages/nextcloud/test/dashboard_test.dart b/packages/nextcloud/test/dashboard_test.dart index 9dc244dd..01e5a4f0 100644 --- a/packages/nextcloud/test/dashboard_test.dart +++ b/packages/nextcloud/test/dashboard_test.dart @@ -39,7 +39,6 @@ void main() { }); }); }, - retry: retryCount, - timeout: timeout, + tags: 'integration', ); } diff --git a/packages/nextcloud/test/helper.dart b/packages/nextcloud/test/helper.dart index 17044868..73ba3572 100644 --- a/packages/nextcloud/test/helper.dart +++ b/packages/nextcloud/test/helper.dart @@ -8,9 +8,6 @@ import 'package:process_run/cmd_run.dart'; import 'package:test/test.dart'; import 'package:universal_io/io.dart'; -const retryCount = 3; -const timeout = Timeout(Duration(seconds: 30)); - class DockerContainer { DockerContainer({ required this.id, diff --git a/packages/nextcloud/test/news_test.dart b/packages/nextcloud/test/news_test.dart index 7ca96f47..18162f00 100644 --- a/packages/nextcloud/test/news_test.dart +++ b/packages/nextcloud/test/news_test.dart @@ -426,8 +426,7 @@ void main() { expect(response.body.items, hasLength(0)); }); }, - retry: retryCount, - timeout: timeout, + tags: 'integration', ); } diff --git a/packages/nextcloud/test/notes_test.dart b/packages/nextcloud/test/notes_test.dart index 800dc371..bf73b8e8 100644 --- a/packages/nextcloud/test/notes_test.dart +++ b/packages/nextcloud/test/notes_test.dart @@ -178,7 +178,6 @@ void main() { expect(response.body.noteMode, notes.Settings_NoteMode.preview); }); }, - retry: retryCount, - timeout: timeout, + tags: 'integration', ); } diff --git a/packages/nextcloud/test/notifications_test.dart b/packages/nextcloud/test/notifications_test.dart index f34cbb05..6d6e9669 100644 --- a/packages/nextcloud/test/notifications_test.dart +++ b/packages/nextcloud/test/notifications_test.dart @@ -140,7 +140,6 @@ void main() { await client.notifications.push.removeDevice(); }); }, - retry: retryCount, - timeout: timeout, + tags: 'integration', ); } diff --git a/packages/nextcloud/test/provisioning_api_test.dart b/packages/nextcloud/test/provisioning_api_test.dart index d830c6b2..908584df 100644 --- a/packages/nextcloud/test/provisioning_api_test.dart +++ b/packages/nextcloud/test/provisioning_api_test.dart @@ -61,7 +61,6 @@ void main() { }); }); }, - retry: retryCount, - timeout: timeout, + tags: 'integration', ); } diff --git a/packages/nextcloud/test/settings_test.dart b/packages/nextcloud/test/settings_test.dart index 29906645..e4c1f280 100644 --- a/packages/nextcloud/test/settings_test.dart +++ b/packages/nextcloud/test/settings_test.dart @@ -6,11 +6,10 @@ import 'package:test/test.dart'; import 'helper.dart'; Future main() async { - await run(await getDockerImage()); -} - -Future run(final DockerImage image) async { group('settings', () { + late DockerImage image; + setUpAll(() async => image = await getDockerImage()); + late DockerContainer container; late TestNextcloudClient client; setUp(() async { diff --git a/packages/nextcloud/test/uppush_test.dart b/packages/nextcloud/test/uppush_test.dart index dd93f61f..54dbf52d 100644 --- a/packages/nextcloud/test/uppush_test.dart +++ b/packages/nextcloud/test/uppush_test.dart @@ -85,7 +85,6 @@ void main() { // Deleting an app, sending a notification (also via matrix gateway) or listening for notifications is not possible because redis is not set up }, - retry: retryCount, - timeout: timeout, + tags: 'integration', ); } diff --git a/packages/nextcloud/test/user_status_test.dart b/packages/nextcloud/test/user_status_test.dart index 542375e1..19a27ec0 100644 --- a/packages/nextcloud/test/user_status_test.dart +++ b/packages/nextcloud/test/user_status_test.dart @@ -197,7 +197,6 @@ void main() { expect(response.body.ocs.data.statusIsUserDefined, false); }); }, - retry: retryCount, - timeout: timeout, + tags: 'integration', ); } diff --git a/packages/nextcloud/test/webdav_test.dart b/packages/nextcloud/test/webdav_test.dart index bfc3eeea..722e1cc4 100644 --- a/packages/nextcloud/test/webdav_test.dart +++ b/packages/nextcloud/test/webdav_test.dart @@ -530,7 +530,6 @@ void main() { // props: Most of them are either not applicable or hard/impossible to implement because we don't allow just writing any props }); }, - retry: retryCount, - timeout: timeout, + tags: 'integration', ); } diff --git a/tool/dart_test_base.yaml b/tool/dart_test_base.yaml new file mode 100644 index 00000000..e9dbd32d --- /dev/null +++ b/tool/dart_test_base.yaml @@ -0,0 +1,5 @@ +tags: + integration: + retry: 3 + source_verification: + timeout: 20x