Move conformance test invocation into package:http (#718)
diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml
index 72a425a..75cce2f 100644
--- a/.github/workflows/dart.yml
+++ b/.github/workflows/dart.yml
@@ -125,16 +125,16 @@
working-directory: pkgs/http_client_conformance_tests
run: "dart format --output=none --set-exit-if-changed ."
job_004:
- name: "unit_test; Dart 2.14.0; PKGS: pkgs/http, pkgs/http_client_conformance_tests; `dart test --platform chrome`"
+ name: "unit_test; Dart 2.14.0; PKG: pkgs/http; `dart test --platform chrome`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@v3
with:
path: "~/.pub-cache/hosted"
- key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.14.0;packages:pkgs/http-pkgs/http_client_conformance_tests;commands:test_1"
+ key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.14.0;packages:pkgs/http;commands:test_1"
restore-keys: |
- os:ubuntu-latest;pub-cache-hosted;sdk:2.14.0;packages:pkgs/http-pkgs/http_client_conformance_tests
+ os:ubuntu-latest;pub-cache-hosted;sdk:2.14.0;packages:pkgs/http
os:ubuntu-latest;pub-cache-hosted;sdk:2.14.0
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
@@ -152,30 +152,21 @@
if: "always() && steps.pkgs_http_pub_upgrade.conclusion == 'success'"
working-directory: pkgs/http
run: dart test --platform chrome
- - id: pkgs_http_client_conformance_tests_pub_upgrade
- name: pkgs/http_client_conformance_tests; dart pub upgrade
- if: "always() && steps.checkout.conclusion == 'success'"
- working-directory: pkgs/http_client_conformance_tests
- run: dart pub upgrade
- - name: "pkgs/http_client_conformance_tests; dart test --platform chrome"
- if: "always() && steps.pkgs_http_client_conformance_tests_pub_upgrade.conclusion == 'success'"
- working-directory: pkgs/http_client_conformance_tests
- run: dart test --platform chrome
needs:
- job_001
- job_002
- job_003
job_005:
- name: "unit_test; Dart 2.14.0; PKGS: pkgs/http, pkgs/http_client_conformance_tests; `dart test --platform vm`"
+ name: "unit_test; Dart 2.14.0; PKG: pkgs/http; `dart test --platform vm`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@v3
with:
path: "~/.pub-cache/hosted"
- key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.14.0;packages:pkgs/http-pkgs/http_client_conformance_tests;commands:test_0"
+ key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.14.0;packages:pkgs/http;commands:test_0"
restore-keys: |
- os:ubuntu-latest;pub-cache-hosted;sdk:2.14.0;packages:pkgs/http-pkgs/http_client_conformance_tests
+ os:ubuntu-latest;pub-cache-hosted;sdk:2.14.0;packages:pkgs/http
os:ubuntu-latest;pub-cache-hosted;sdk:2.14.0
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
@@ -193,30 +184,21 @@
if: "always() && steps.pkgs_http_pub_upgrade.conclusion == 'success'"
working-directory: pkgs/http
run: dart test --platform vm
- - id: pkgs_http_client_conformance_tests_pub_upgrade
- name: pkgs/http_client_conformance_tests; dart pub upgrade
- if: "always() && steps.checkout.conclusion == 'success'"
- working-directory: pkgs/http_client_conformance_tests
- run: dart pub upgrade
- - name: "pkgs/http_client_conformance_tests; dart test --platform vm"
- if: "always() && steps.pkgs_http_client_conformance_tests_pub_upgrade.conclusion == 'success'"
- working-directory: pkgs/http_client_conformance_tests
- run: dart test --platform vm
needs:
- job_001
- job_002
- job_003
job_006:
- name: "unit_test; Dart dev; PKGS: pkgs/http, pkgs/http_client_conformance_tests; `dart test --platform chrome`"
+ name: "unit_test; Dart dev; PKG: pkgs/http; `dart test --platform chrome`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@v3
with:
path: "~/.pub-cache/hosted"
- key: "os:ubuntu-latest;pub-cache-hosted;sdk:dev;packages:pkgs/http-pkgs/http_client_conformance_tests;commands:test_1"
+ key: "os:ubuntu-latest;pub-cache-hosted;sdk:dev;packages:pkgs/http;commands:test_1"
restore-keys: |
- os:ubuntu-latest;pub-cache-hosted;sdk:dev;packages:pkgs/http-pkgs/http_client_conformance_tests
+ os:ubuntu-latest;pub-cache-hosted;sdk:dev;packages:pkgs/http
os:ubuntu-latest;pub-cache-hosted;sdk:dev
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
@@ -234,30 +216,21 @@
if: "always() && steps.pkgs_http_pub_upgrade.conclusion == 'success'"
working-directory: pkgs/http
run: dart test --platform chrome
- - id: pkgs_http_client_conformance_tests_pub_upgrade
- name: pkgs/http_client_conformance_tests; dart pub upgrade
- if: "always() && steps.checkout.conclusion == 'success'"
- working-directory: pkgs/http_client_conformance_tests
- run: dart pub upgrade
- - name: "pkgs/http_client_conformance_tests; dart test --platform chrome"
- if: "always() && steps.pkgs_http_client_conformance_tests_pub_upgrade.conclusion == 'success'"
- working-directory: pkgs/http_client_conformance_tests
- run: dart test --platform chrome
needs:
- job_001
- job_002
- job_003
job_007:
- name: "unit_test; Dart dev; PKGS: pkgs/http, pkgs/http_client_conformance_tests; `dart test --platform vm`"
+ name: "unit_test; Dart dev; PKG: pkgs/http; `dart test --platform vm`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@v3
with:
path: "~/.pub-cache/hosted"
- key: "os:ubuntu-latest;pub-cache-hosted;sdk:dev;packages:pkgs/http-pkgs/http_client_conformance_tests;commands:test_0"
+ key: "os:ubuntu-latest;pub-cache-hosted;sdk:dev;packages:pkgs/http;commands:test_0"
restore-keys: |
- os:ubuntu-latest;pub-cache-hosted;sdk:dev;packages:pkgs/http-pkgs/http_client_conformance_tests
+ os:ubuntu-latest;pub-cache-hosted;sdk:dev;packages:pkgs/http
os:ubuntu-latest;pub-cache-hosted;sdk:dev
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
@@ -275,15 +248,6 @@
if: "always() && steps.pkgs_http_pub_upgrade.conclusion == 'success'"
working-directory: pkgs/http
run: dart test --platform vm
- - id: pkgs_http_client_conformance_tests_pub_upgrade
- name: pkgs/http_client_conformance_tests; dart pub upgrade
- if: "always() && steps.checkout.conclusion == 'success'"
- working-directory: pkgs/http_client_conformance_tests
- run: dart pub upgrade
- - name: "pkgs/http_client_conformance_tests; dart test --platform vm"
- if: "always() && steps.pkgs_http_client_conformance_tests_pub_upgrade.conclusion == 'success'"
- working-directory: pkgs/http_client_conformance_tests
- run: dart test --platform vm
needs:
- job_001
- job_002
diff --git a/pkgs/http/pubspec.yaml b/pkgs/http/pubspec.yaml
index be066ef..06fa0c9 100644
--- a/pkgs/http/pubspec.yaml
+++ b/pkgs/http/pubspec.yaml
@@ -14,6 +14,8 @@
dev_dependencies:
fake_async: ^1.2.0
+ http_client_conformance_tests:
+ path: ../http_client_conformance_tests/
lints: ^1.0.0
shelf: ^1.1.0
stream_channel: ^2.1.0
diff --git a/pkgs/http_client_conformance_tests/test/browser_client_test.dart b/pkgs/http/test/html/client_conformance_test.dart
similarity index 72%
rename from pkgs/http_client_conformance_tests/test/browser_client_test.dart
rename to pkgs/http/test/html/client_conformance_test.dart
index cbc484b..422b7cc 100644
--- a/pkgs/http_client_conformance_tests/test/browser_client_test.dart
+++ b/pkgs/http/test/html/client_conformance_test.dart
@@ -11,10 +11,8 @@
void main() {
final client = BrowserClient();
- group('testAll', () {
- testAll(client,
- redirectAlwaysAllowed: true,
- canStreamRequestBody: false,
- canStreamResponseBody: false);
- });
+ testAll(client,
+ redirectAlwaysAllowed: true,
+ canStreamRequestBody: false,
+ canStreamResponseBody: false);
}
diff --git a/pkgs/http_client_conformance_tests/test/io_client_test.dart b/pkgs/http/test/io/client_conformance_test.dart
similarity index 85%
rename from pkgs/http_client_conformance_tests/test/io_client_test.dart
rename to pkgs/http/test/io/client_conformance_test.dart
index 7a13aab..0706031 100644
--- a/pkgs/http_client_conformance_tests/test/io_client_test.dart
+++ b/pkgs/http/test/io/client_conformance_test.dart
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-@TestOn('!js')
+@TestOn('vm')
import 'package:http/io_client.dart';
import 'package:http_client_conformance_tests/http_client_conformance_tests.dart';
@@ -11,7 +11,5 @@
void main() {
final client = IOClient();
- group('testAll', () {
- testAll(client);
- });
+ testAll(client);
}
diff --git a/pkgs/http_client_conformance_tests/README.md b/pkgs/http_client_conformance_tests/README.md
index 73642a3..e96e364 100644
--- a/pkgs/http_client_conformance_tests/README.md
+++ b/pkgs/http_client_conformance_tests/README.md
@@ -34,3 +34,6 @@
});
}
```
+
+**Note**: This package does not have it's own tests, instead it is
+exercised by the tests in `package:http`.
diff --git a/pkgs/http_client_conformance_tests/lib/src/utils.dart b/pkgs/http_client_conformance_tests/lib/src/utils.dart
index 72307e6..4b52d90 100644
--- a/pkgs/http_client_conformance_tests/lib/src/utils.dart
+++ b/pkgs/http_client_conformance_tests/lib/src/utils.dart
@@ -1,4 +1,6 @@
-import 'dart:isolate';
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
import 'package:stream_channel/stream_channel.dart';
import 'package:test/test.dart';
@@ -7,20 +9,7 @@
/// 'redirect_server.dart'.
///
/// See [spawnHybridUri].
-Future<StreamChannel<Object?>> startServer(String fileName) async {
- try {
- final fileUri = await Isolate.resolvePackageUri(Uri(
+Future<StreamChannel<Object?>> startServer(String fileName) async =>
+ spawnHybridUri(Uri(
scheme: 'package',
path: 'http_client_conformance_tests/src/$fileName'));
- if (fileUri == null) {
- throw StateError('The package could not be resolved');
- }
- return spawnHybridUri(fileUri);
- // ignore: avoid_catching_errors
- } on UnsupportedError {
- // The current runtime environment (probably browser) does not support
- // `Isolate.resolvePackageUri` so try to use a relative path. This will
- // *not* work if `http_client_conformance_tests` is used as a package.
- return spawnHybridUri('../lib/src/$fileName');
- }
-}
diff --git a/pkgs/http_client_conformance_tests/mono_pkg.yaml b/pkgs/http_client_conformance_tests/mono_pkg.yaml
index 8b6b5d1..6a18a15 100644
--- a/pkgs/http_client_conformance_tests/mono_pkg.yaml
+++ b/pkgs/http_client_conformance_tests/mono_pkg.yaml
@@ -8,10 +8,3 @@
- format:
sdk:
- dev
-- unit_test:
- - test: --platform vm
- os:
- - linux
- - test: --platform chrome
- os:
- - linux
diff --git a/pkgs/http_client_conformance_tests/pubspec.yaml b/pkgs/http_client_conformance_tests/pubspec.yaml
index bc52fd4..dd8ea26 100644
--- a/pkgs/http_client_conformance_tests/pubspec.yaml
+++ b/pkgs/http_client_conformance_tests/pubspec.yaml
@@ -11,7 +11,7 @@
dependencies:
async: ^2.8.2
http: ^0.13.4
- test: ^1.21.1
+ test: ^1.21.2
dev_dependencies:
lints: ^1.0.0