Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add grinder to test the language directories #2562

Merged
merged 4 commits into from
Mar 9, 2021

Conversation

jcollins-g
Copy link
Contributor

A quick and dirty grinder to automatically build pub-like packages out of Dart SDK language test directories and run dartdoc against them. Already found one stack overflow with it.

usage example:

jcollins-macbookpro2:dartdoc jcollins$ LANGUAGE_TESTS=~/dart/sdk/sdk/tests/language/type LANGUAGE_EXPERIMENTS=nonfunction-type-aliases grind serve-language-test-docs
grinder running build-language-test-docs serve-language-test-docs

build-language-test-docs
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/constants_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/intersection_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/conversion_ssa_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/alias_equality_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/guard_conversion_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/checks_in_factory_method_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/check_const_function_typedef2_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/hoisting_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/check_const_function_typedef_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/error_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/checks_in_factory_method_runtime_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
  copying /Users/jcollins/dart/sdk/sdk/tests/language/type/check_test.dart to /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/lib/.
build-language-test-docs: + (cd "/var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm" &&  pub get)
build-language-test-docs: Resolving dependencies...
build-language-test-docs: Got dependencies!
build-language-test-docs: + (cd "/var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm" &&  /Users/jcollins/dart/all_sdks/2.13.0-117.0.dev/bin/dart --enable-asserts /Users/jcollins/dart/dartdoc/bin/dartdoc.dart --json --link-to-remote --show-progress --enable-experiment nonfunction-type-aliases)
build-language-test-docs: Documenting _language_test_package...
build-language-test-docs: Initialized dartdoc with 49 libraries in 17.2 seconds
build-language-test-docs: Generating docs for library constants_test from package:_language_test_package/constants_test.dart...
build-language-test-docs: Generating docs for library intersection_test from package:_language_test_package/intersection_test.dart...
build-language-test-docs: Generating docs for library conversion_ssa_test from package:_language_test_package/conversion_ssa_test.dart...
build-language-test-docs: Generating docs for library alias_equality_test from package:_language_test_package/alias_equality_test.dart...
build-language-test-docs: Generating docs for library guard_conversion_test from package:_language_test_package/guard_conversion_test.dart...
build-language-test-docs: Generating docs for library checks_in_factory_method_test from package:_language_test_package/checks_in_factory_method_test.dart...
build-language-test-docs: Generating docs for library check_const_function_typedef2_test from package:_language_test_package/check_const_function_typedef2_test.dart...
build-language-test-docs: Generating docs for library hoisting_test from package:_language_test_package/hoisting_test.dart...
build-language-test-docs: Generating docs for library check_const_function_typedef_test from package:_language_test_package/check_const_function_typedef_test.dart...
build-language-test-docs: Generating docs for library error_test from package:_language_test_package/error_test.dart...
build-language-test-docs: Generating docs for library checks_in_factory_method_runtime_test from package:_language_test_package/checks_in_factory_method_runtime_test.dart...
build-language-test-docs: Generating docs for library check_test from package:_language_test_package/check_test.dart...
build-language-test-docs: Validating docs...
build-language-test-docs: no issues found
build-language-test-docs: Documented 12 public libraries in 1.8 seconds
build-language-test-docs: Success! Docs generated into /private/var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/doc/api

serve-language-test-docs
  launching dhttpd on port 8004 for language tests
serve-language-test-docs: +  /Users/jcollins/dart/all_sdks/2.13.0-117.0.dev/bin/pub get
serve-language-test-docs: Resolving dependencies...
serve-language-test-docs:   checked_yaml 1.0.4 (2.0.1 available)
serve-language-test-docs:   coverage 0.15.2 (1.0.1 available)
serve-language-test-docs:   graphs 0.2.0 (1.0.0 available)
serve-language-test-docs:   http_multi_server 2.2.0 (3.0.0 available)
serve-language-test-docs:   io 0.3.5 (1.0.0 available)
serve-language-test-docs:   node_preamble 1.4.13 (2.0.0 available)
serve-language-test-docs:   pubspec_parse 0.1.8 (1.0.0 available)
serve-language-test-docs:   shelf_web_socket 0.2.4+1 (1.0.0 available)
serve-language-test-docs:   web_socket_channel 1.2.0 (2.0.0 available)
serve-language-test-docs: Got dependencies!
serve-language-test-docs: +  /Users/jcollins/dart/all_sdks/2.13.0-117.0.dev/bin/pub global run dhttpd --port 8004 --path /var/folders/b8/jg3_spkj02d51bcz3fsb5jjc000b33/T/languageTestPackageDirREirmm/doc/api
serve-language-test-docs: Server started on port 8004

Screen Shot 2021-03-08 at 3 49 05 PM

@google-cla google-cla bot added the cla: yes Google CLA check succeeded. label Mar 8, 2021
@coveralls
Copy link

coveralls commented Mar 9, 2021

Coverage Status

Coverage increased (+0.02%) to 91.749% when pulling d711e2a on jcollins-g:grind-language-tests into 48b0149 on dart-lang:master.

@jcollins-g jcollins-g requested a review from srawlins March 9, 2021 17:05
Copy link
Member

@srawlins srawlins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very cool! Love that it already caught a crash.

tool/grind.dart Outdated
Future<void> buildLanguageTestDocs() async {
var launcher = SubprocessLauncher('build-language-test-docs');
if (languageTestPath == null) {
fail('LANGUAGE_TESTS must be set to the directory to build language tests');
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line isn't clear to me. Is it the directory in which language tests are to be built? Or the directory of language tests?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@jcollins-g jcollins-g merged commit fbd999e into dart-lang:master Mar 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Google CLA check succeeded.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants