diff --git a/packages/imitation_game/CHANGELOG.md b/packages/imitation_game/CHANGELOG.md new file mode 100644 index 0000000000..d775621173 --- /dev/null +++ b/packages/imitation_game/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1 + +* Initial version (TBD). diff --git a/packages/imitation_game/LICENSE b/packages/imitation_game/LICENSE new file mode 100644 index 0000000000..bc67b8f955 --- /dev/null +++ b/packages/imitation_game/LICENSE @@ -0,0 +1,27 @@ +Copyright 2019 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/packages/imitation_game/README.md b/packages/imitation_game/README.md index cbb19a4368..5f389b9989 100644 --- a/packages/imitation_game/README.md +++ b/packages/imitation_game/README.md @@ -34,7 +34,7 @@ tested. As new tests are added please add to this list: ```text ./ ├─ imitation_game.dart -└─ tests/ +└─ imitation_tests/ ├─ smiley/ │ ├─ README.md │ ├─ flutter/ @@ -91,3 +91,13 @@ An implementation has to follow these rules: ``` A single test run can report multiple numbers. + +## Results +Date created: 2020-08-17 23:57:16.702500Z + +- smiley + - flutter + - startupTime: 0.561475s + - uikit + - startupTime: 0.373102068901062s + diff --git a/packages/imitation_game/imitation_game.dart b/packages/imitation_game/bin/imitation_game.dart similarity index 76% rename from packages/imitation_game/imitation_game.dart rename to packages/imitation_game/bin/imitation_game.dart index 3b0804975d..59a047d525 100644 --- a/packages/imitation_game/imitation_game.dart +++ b/packages/imitation_game/bin/imitation_game.dart @@ -1,6 +1,8 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; +import 'package:mustache/mustache.dart'; +import 'package:imitation_game/README_template.dart'; const int _port = 4040; @@ -33,6 +35,14 @@ Future> findFiles(Directory dir, {FileFilter where}) { return completer.future; } +String _makeMarkdownOutput(Map results) { + final Template template = Template(readmeTemplate, name: 'README.md'); + final Map values = Map.from(results); + values['date'] = DateTime.now().toUtc(); + final String output = template.renderString(values); + return output; +} + class _Script { _Script({this.path}); String path; @@ -75,6 +85,33 @@ class _ScriptRunner { } } +/// Recursively converts a map of maps to a map of lists of maps. +/// +/// For example: +/// _map2List({'a': {'b': 123}}, ['foo', 'bar']) -> +/// { +/// 'foo':[ +/// { +/// 'name': 'a', +/// 'bar': [{'name': 'b', 'value': 123}] +/// } +/// ] +/// } +Map _map2List(Map map, List names) { + final List> returnList = >[]; + final List tail = names.sublist(1); + map.forEach((String key, dynamic value) { + final Map testResult = {'name': key}; + if (tail.isEmpty) { + testResult['value'] = value; + } else { + testResult[tail.first] = _map2List(value, tail)[tail.first]; + } + returnList.add(testResult); + }); + return {names.first: returnList}; +} + class _ImitationGame { final Map results = {}; _ScriptRunner _scriptRunner; @@ -95,6 +132,7 @@ class _ImitationGame { results[test][platform] = {}; } data['results'].forEach((String k, dynamic v) { + // ignore: avoid_as results[test][platform][k] = v as double; }); return _runNext(); @@ -148,6 +186,7 @@ Future main() async { if (request.method == 'POST') { final String content = await utf8.decoder.bind(request).join(); final Map data = + // ignore: avoid_as jsonDecode(content) as Map; print('$data'); keepRunning = await game.handleResult(data); @@ -163,8 +202,9 @@ Future main() async { keepRunning = await game.handleTimeout(); } } - const JsonEncoder encoder = JsonEncoder.withIndent(' '); - final String jsonResults = encoder.convert(game.results); - print('$jsonResults'); + + final Map markdownValues = + _map2List(game.results, ['tests', 'platforms', 'measurements']); + File('README.md').writeAsStringSync(_makeMarkdownOutput(markdownValues)); await server.close(force: true); } diff --git a/packages/imitation_game/tests/smiley/README.md b/packages/imitation_game/imitation_tests/smiley/README.md similarity index 100% rename from packages/imitation_game/tests/smiley/README.md rename to packages/imitation_game/imitation_tests/smiley/README.md diff --git a/packages/imitation_game/tests/smiley/flutter/run_ios.sh b/packages/imitation_game/imitation_tests/smiley/flutter/run_ios.sh similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/run_ios.sh rename to packages/imitation_game/imitation_tests/smiley/flutter/run_ios.sh diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/.gitignore b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/.gitignore similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/.gitignore rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/.gitignore diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/.metadata b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/.metadata similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/.metadata rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/.metadata diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/README.md b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/README.md similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/README.md rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/README.md diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/.gitignore b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/.gitignore similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/.gitignore rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/.gitignore diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/build.gradle b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/build.gradle similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/build.gradle rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/build.gradle diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/debug/AndroidManifest.xml b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/debug/AndroidManifest.xml similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/debug/AndroidManifest.xml rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/debug/AndroidManifest.xml diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/AndroidManifest.xml b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/AndroidManifest.xml similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/AndroidManifest.xml rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/AndroidManifest.xml diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/kotlin/com/example/smiley/MainActivity.kt b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/kotlin/com/example/smiley/MainActivity.kt similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/kotlin/com/example/smiley/MainActivity.kt rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/kotlin/com/example/smiley/MainActivity.kt diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/drawable/launch_background.xml b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/drawable/launch_background.xml similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/drawable/launch_background.xml rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/drawable/launch_background.xml diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/values/styles.xml b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/values/styles.xml similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/main/res/values/styles.xml rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/main/res/values/styles.xml diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/profile/AndroidManifest.xml b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/profile/AndroidManifest.xml similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/app/src/profile/AndroidManifest.xml rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/app/src/profile/AndroidManifest.xml diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/build.gradle b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/build.gradle similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/build.gradle rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/build.gradle diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/gradle.properties b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/gradle.properties similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/gradle.properties rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/gradle.properties diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/gradle/wrapper/gradle-wrapper.properties b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/gradle/wrapper/gradle-wrapper.properties rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/gradle/wrapper/gradle-wrapper.properties diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/android/settings.gradle b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/settings.gradle similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/android/settings.gradle rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/android/settings.gradle diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/assets/ip.txt b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/assets/ip.txt similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/assets/ip.txt rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/assets/ip.txt diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/images/smiley.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/images/smiley.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/images/smiley.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/images/smiley.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/.gitignore b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/.gitignore similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/.gitignore rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/.gitignore diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Flutter/AppFrameworkInfo.plist b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Flutter/AppFrameworkInfo.plist similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Flutter/AppFrameworkInfo.plist rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Flutter/AppFrameworkInfo.plist diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Flutter/Debug.xcconfig b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Flutter/Debug.xcconfig similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Flutter/Debug.xcconfig rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Flutter/Debug.xcconfig diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Flutter/Release.xcconfig b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Flutter/Release.xcconfig similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Flutter/Release.xcconfig rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Flutter/Release.xcconfig diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Podfile b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Podfile similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Podfile rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Podfile diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.pbxproj b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.pbxproj similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.pbxproj rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.pbxproj diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcworkspace/contents.xcworkspacedata rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcworkspace/contents.xcworkspacedata diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/AppDelegate.swift b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/AppDelegate.swift similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/AppDelegate.swift rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/AppDelegate.swift diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Base.lproj/LaunchScreen.storyboard rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Base.lproj/LaunchScreen.storyboard diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Base.lproj/Main.storyboard b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Base.lproj/Main.storyboard similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Base.lproj/Main.storyboard rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Base.lproj/Main.storyboard diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Info.plist b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Info.plist similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Info.plist rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Info.plist diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Runner-Bridging-Header.h b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Runner-Bridging-Header.h similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/ios/Runner/Runner-Bridging-Header.h rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/ios/Runner/Runner-Bridging-Header.h diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/lib/main.dart b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/lib/main.dart similarity index 97% rename from packages/imitation_game/tests/smiley/flutter/smiley/lib/main.dart rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/lib/main.dart index 546aedb6fe..0dcab31f25 100644 --- a/packages/imitation_game/tests/smiley/flutter/smiley/lib/main.dart +++ b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/lib/main.dart @@ -26,9 +26,7 @@ Future _sendResult(double result) async { body: jsonEncode({ 'test': 'smiley', 'platform': 'flutter', - 'results': { - 'startupTime': result - }, + 'results': {'startupTime': result}, }), ); if (response.statusCode != 200) { diff --git a/packages/imitation_game/tests/smiley/flutter/smiley/pubspec.yaml b/packages/imitation_game/imitation_tests/smiley/flutter/smiley/pubspec.yaml similarity index 100% rename from packages/imitation_game/tests/smiley/flutter/smiley/pubspec.yaml rename to packages/imitation_game/imitation_tests/smiley/flutter/smiley/pubspec.yaml diff --git a/packages/imitation_game/tests/smiley/uikit/run_ios.sh b/packages/imitation_game/imitation_tests/smiley/uikit/run_ios.sh similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/run_ios.sh rename to packages/imitation_game/imitation_tests/smiley/uikit/run_ios.sh diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/exportOptions.plist b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/exportOptions.plist similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/exportOptions.plist rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/exportOptions.plist diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley.xcodeproj/project.pbxproj b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley.xcodeproj/project.pbxproj similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley.xcodeproj/project.pbxproj rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley.xcodeproj/project.pbxproj diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/AppDelegate.h b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/AppDelegate.h similarity index 75% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/AppDelegate.h rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/AppDelegate.h index 545a4e5190..9a7d7f20de 100644 --- a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/AppDelegate.h +++ b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/AppDelegate.h @@ -4,8 +4,6 @@ #import -@interface AppDelegate : UIResponder - +@interface AppDelegate : UIResponder @end - diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/AppDelegate.m b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/AppDelegate.m similarity index 51% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/AppDelegate.m rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/AppDelegate.m index 4d7550a2d3..cac844f52d 100644 --- a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/AppDelegate.m +++ b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/AppDelegate.m @@ -10,28 +10,29 @@ @implementation AppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { +- (BOOL)application:(UIApplication *)application + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. return YES; } - #pragma mark - UISceneSession lifecycle - -- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options { +- (UISceneConfiguration *)application:(UIApplication *)application + configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession + options:(UISceneConnectionOptions *)options { // Called when a new scene session is being created. // Use this method to select a configuration to create the new scene with. - return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role]; + return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" + sessionRole:connectingSceneSession.role]; } - -- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet *)sceneSessions { +- (void)application:(UIApplication *)application + didDiscardSceneSessions:(NSSet *)sceneSessions { // Called when the user discards a scene session. - // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. - // Use this method to release any resources that were specific to the discarded scenes, as they will not return. + // If any sessions were discarded while the application was not running, this will be called + // shortly after application:didFinishLaunchingWithOptions. Use this method to release any + // resources that were specific to the discarded scenes, as they will not return. } - @end diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/Assets.xcassets/AppIcon.appiconset/Contents.json rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/Assets.xcassets/Contents.json b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Assets.xcassets/Contents.json similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/Assets.xcassets/Contents.json rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Assets.xcassets/Contents.json diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/Assets.xcassets/smiley.imageset/Contents.json b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Assets.xcassets/smiley.imageset/Contents.json similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/Assets.xcassets/smiley.imageset/Contents.json rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Assets.xcassets/smiley.imageset/Contents.json diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/Assets.xcassets/smiley.imageset/smiley.png b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Assets.xcassets/smiley.imageset/smiley.png similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/Assets.xcassets/smiley.imageset/smiley.png rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Assets.xcassets/smiley.imageset/smiley.png diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/Base.lproj/LaunchScreen.storyboard b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/Base.lproj/LaunchScreen.storyboard rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Base.lproj/LaunchScreen.storyboard diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/Base.lproj/Main.storyboard b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Base.lproj/Main.storyboard similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/Base.lproj/Main.storyboard rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Base.lproj/Main.storyboard diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/Info.plist b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Info.plist similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/Info.plist rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/Info.plist diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/SceneDelegate.h b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/SceneDelegate.h similarity index 63% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/SceneDelegate.h rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/SceneDelegate.h index 2921a4af3a..bc46a078a2 100644 --- a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/SceneDelegate.h +++ b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/SceneDelegate.h @@ -4,9 +4,8 @@ #import -@interface SceneDelegate : UIResponder +@interface SceneDelegate : UIResponder -@property (strong, nonatomic) UIWindow * window; +@property(strong, nonatomic) UIWindow* window; @end - diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/SceneDelegate.m b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/SceneDelegate.m similarity index 63% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/SceneDelegate.m rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/SceneDelegate.m index 01fbd4804f..061f723671 100644 --- a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/SceneDelegate.m +++ b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/SceneDelegate.m @@ -10,45 +10,43 @@ @implementation SceneDelegate - -- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions { - // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. - // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. - // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). +- (void)scene:(UIScene *)scene + willConnectToSession:(UISceneSession *)session + options:(UISceneConnectionOptions *)connectionOptions { + // Use this method to optionally configure and attach the UIWindow `window` to the provided + // UIWindowScene `scene`. If using a storyboard, the `window` property will automatically be + // initialized and attached to the scene. This delegate does not imply the connecting scene or + // session are new (see `application:configurationForConnectingSceneSession` instead). } - - (void)sceneDidDisconnect:(UIScene *)scene { // Called as the scene is being released by the system. // This occurs shortly after the scene enters the background, or when its session is discarded. - // Release any resources associated with this scene that can be re-created the next time the scene connects. - // The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead). + // Release any resources associated with this scene that can be re-created the next time the scene + // connects. The scene may re-connect later, as its session was not neccessarily discarded (see + // `application:didDiscardSceneSessions` instead). } - - (void)sceneDidBecomeActive:(UIScene *)scene { // Called when the scene has moved from an inactive state to an active state. - // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + // Use this method to restart any tasks that were paused (or not yet started) when the scene was + // inactive. } - - (void)sceneWillResignActive:(UIScene *)scene { // Called when the scene will move from an active state to an inactive state. // This may occur due to temporary interruptions (ex. an incoming phone call). } - - (void)sceneWillEnterForeground:(UIScene *)scene { // Called as the scene transitions from the background to the foreground. // Use this method to undo the changes made on entering the background. } - - (void)sceneDidEnterBackground:(UIScene *)scene { // Called as the scene transitions from the foreground to the background. - // Use this method to save data, release shared resources, and store enough scene-specific state information - // to restore the scene back to its current state. + // Use this method to save data, release shared resources, and store enough scene-specific state + // information to restore the scene back to its current state. } - @end diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/ViewController.h b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/ViewController.h similarity index 99% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/ViewController.h rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/ViewController.h index 92e88f435d..a3585bf5c1 100644 --- a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/ViewController.h +++ b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/ViewController.h @@ -8,4 +8,3 @@ @property(nonatomic, strong) IBOutlet UIImageView* imageView; @end - diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/ViewController.m b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/ViewController.m similarity index 65% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/ViewController.m rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/ViewController.m index cfce5fd735..deaa9bb892 100644 --- a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/ViewController.m +++ b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/ViewController.m @@ -24,8 +24,7 @@ static int64_t loadStartupTime(NSError **error) { struct timeval startTime = proc.kp_proc.p_starttime; int64_t microsecondsInSecond = 1000000LL; int64_t microsecondsSinceEpoch = - (int64_t)(startTime.tv_sec * microsecondsInSecond) + - (int64_t)startTime.tv_usec; + (int64_t)(startTime.tv_sec * microsecondsInSecond) + (int64_t)startTime.tv_usec; return microsecondsSinceEpoch; } @@ -34,16 +33,13 @@ static NSString *loadIpAddress() { #if TARGET_IPHONE_SIMULATOR return @"127.0.0.1:4040"; #else - NSString *ipPath = [[NSBundle mainBundle] pathForResource:@"ip" - ofType:@"txt"]; + NSString *ipPath = [[NSBundle mainBundle] pathForResource:@"ip" ofType:@"txt"]; NSError *err; - NSString *ipAddress = [NSString stringWithContentsOfFile:ipPath - encoding:NSUTF8StringEncoding - error:&err]; + NSString *ipAddress = + [NSString stringWithContentsOfFile:ipPath encoding:NSUTF8StringEncoding error:&err]; assert(err == nil); - return [ipAddress - stringByTrimmingCharactersInSet:[NSCharacterSet - whitespaceAndNewlineCharacterSet]]; + return + [ipAddress stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; #endif } @@ -54,30 +50,27 @@ static void sendResults(NSTimeInterval result) { NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]]; NSDictionary *payload = @{ - @"test": @"smiley", - @"platform": @"uikit", + @"test" : @"smiley", + @"platform" : @"uikit", @"results" : @{ @"startupTime" : @(result), } }; NSError *error; - NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload - options:0 - error:&error]; + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload options:0 error:&error]; assert(error == nil && jsonData); [urlRequest setHTTPMethod:@"POST"]; [urlRequest setHTTPBody:jsonData]; NSURLSession *session = [NSURLSession sharedSession]; - NSURLSessionDataTask *dataTask = [session - dataTaskWithRequest:urlRequest - completionHandler:^(NSData *data, NSURLResponse *response, - NSError *error) { - NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; - if (httpResponse.statusCode != 200) { - NSLog(@"Error %@ '%@'", error, url); - } - }]; + NSURLSessionDataTask *dataTask = + [session dataTaskWithRequest:urlRequest + completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { + NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; + if (httpResponse.statusCode != 200) { + NSLog(@"Error %@ '%@'", error, url); + } + }]; [dataTask resume]; } @@ -95,10 +88,8 @@ static void sendResults(NSTimeInterval result) { - (void)loadView { [super loadView]; - self.displayLink = [CADisplayLink displayLinkWithTarget:self - selector:@selector(onTick:)]; - [self.displayLink addToRunLoop:[NSRunLoop mainRunLoop] - forMode:NSRunLoopCommonModes]; + self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(onTick:)]; + [self.displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes]; self.imageView.image = [UIImage imageNamed:@"smiley"]; _waitingForDraw = YES; } diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/ip.txt b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/ip.txt similarity index 100% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/ip.txt rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/ip.txt diff --git a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/main.m b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/main.m similarity index 59% rename from packages/imitation_game/tests/smiley/uikit/smiley/smiley/main.m rename to packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/main.m index d079e809d1..9098614813 100644 --- a/packages/imitation_game/tests/smiley/uikit/smiley/smiley/main.m +++ b/packages/imitation_game/imitation_tests/smiley/uikit/smiley/smiley/main.m @@ -5,11 +5,11 @@ #import #import "AppDelegate.h" -int main(int argc, char * argv[]) { - NSString * appDelegateClassName; +int main(int argc, char* argv[]) { + NSString* appDelegateClassName; @autoreleasepool { - // Setup code that might create autoreleased objects goes here. - appDelegateClassName = NSStringFromClass([AppDelegate class]); + // Setup code that might create autoreleased objects goes here. + appDelegateClassName = NSStringFromClass([AppDelegate class]); } return UIApplicationMain(argc, argv, nil, appDelegateClassName); } diff --git a/packages/imitation_game/lib/README_template.dart b/packages/imitation_game/lib/README_template.dart new file mode 100644 index 0000000000..be3443ee40 --- /dev/null +++ b/packages/imitation_game/lib/README_template.dart @@ -0,0 +1,109 @@ +/// Mustache template used for generating README.md. +String readmeTemplate = """# Imitation Game + +## Description + +`imitation_game` is a platform for performing automated tests to compare the +performance of different UI frameworks. For example, how much memory does the +same app written in Flutter and UIKit take? + +## Running all the tests + +You need a mobile device plugged into your computer and setup for development. +The mobile device and the computer need to be on the same network, one that +allows communication between computers since that's how the mobile phone will +report its results to the computer. + +```sh +dart imitation_game.dart +``` + +## Dependencies + +In order to run the tests you will need the union of all the platforms being +tested. As new tests are added please add to this list: + +### iOS + +- Flutter +- Xcode +- [ios_deploy](https://github.com/ios-control/ios-deploy) - used to launch apps + on the attached iOS device. + +## Example File Layout + +```text +./ +├─ imitation_game.dart +└─ tests/ + ├─ smiley/ + │ ├─ README.md + │ ├─ flutter/ + │ │ ├─ run_ios.sh + │ │ └─ + │ └─ uikit/ + │ ├─ run_ios.sh + │ └─ + └─ memory/ + ├─ README.md + ├─ flutter/ + │ ├─ run_ios.sh + │ └─ + └─ uikit/ + ├─ run_ios.sh + └─ +``` + +Here there are 2 different tests with 2 different platform implementations. The +tests are named `smiley` and `memory`, they are both implemented on the +platforms `flutter` and `uikit`. + +### Adding a test + +Tests should comprise of implementations on one or more platform. The directory +for the test should be added to `./tests`. Inside that directory there should +be a directory of implementations and a `README.md` file that explains the test. + +### Adding an implementation to a test + +An implementation has to follow these rules: + +- It needs to perform the same operations as the other implementations and + follow the description in the test's `README.md`. +- It needs to contain a `run_ios.sh` script that will build and launch the test + on the connected device. +- It should contain a file named `ip.txt` which will be overwritten by + `imitation_game.dart` with the ip address and port that should be used to + report results to. +- It needs to report its results to the ip and port in the `ip.txt` via an HTTP + POST of JSON data. + +## Data format for results + +```json +{ + "test": "name_of_test", + "platform": "name_of_platform", + "results": { + "some_result_name": 1.23, + "some_result_name2": 4.56, + } +} +``` + +A single test run can report multiple numbers. + +## Results +Date created: {{date}} + +{{#tests}} +- {{name}} + {{#platforms}} + - {{name}} + {{#measurements}} + - {{name}}: {{value}}s + {{/measurements}} + {{/platforms}} +{{/tests}} + +"""; diff --git a/packages/imitation_game/lib/imitation_game.dart b/packages/imitation_game/lib/imitation_game.dart new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/packages/imitation_game/lib/imitation_game.dart @@ -0,0 +1 @@ + diff --git a/packages/imitation_game/pubspec.yaml b/packages/imitation_game/pubspec.yaml new file mode 100644 index 0000000000..931556b15d --- /dev/null +++ b/packages/imitation_game/pubspec.yaml @@ -0,0 +1,8 @@ +name: imitation_game +version: 0.0.1 +description: Testing framework for comparing multiple frameworks' performance. +homepage: https://github.com/flutter/packages/tree/master/packages/imitation_game +dependencies: + mustache: ^1.1.1 +environment: + sdk: ">=1.8.0 <3.0.0" diff --git a/packages/imitation_game/run.sh b/packages/imitation_game/run.sh new file mode 100755 index 0000000000..f29e0eb4fb --- /dev/null +++ b/packages/imitation_game/run.sh @@ -0,0 +1 @@ +pub run imitation_game