Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
e6e4406d
Unverified
Commit
e6e4406d
authored
Jan 05, 2018
by
xster
Committed by
GitHub
Jan 05, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix simulator not printing to console lines with `)` (#13920)
* it's fixed * Add test for simulator log reader
parent
f6fae1ce
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
48 additions
and
3 deletions
+48
-3
simulators.dart
packages/flutter_tools/lib/src/ios/simulators.dart
+1
-1
simulators_test.dart
packages/flutter_tools/test/ios/simulators_test.dart
+47
-2
No files found.
packages/flutter_tools/lib/src/ios/simulators.dart
View file @
e6e4406d
...
...
@@ -546,7 +546,7 @@ class _IOSSimulatorLogReader extends DeviceLogReader {
// Match the log prefix (in order to shorten it):
// * Xcode 8: Sep 13 15:28:51 cbracken-macpro localhost Runner[37195]: (Flutter) Observatory listening on http://127.0.0.1:57701/
// * Xcode 9: 2017-09-13 15:26:57.228948-0700 localhost Runner[37195]: (Flutter) Observatory listening on http://127.0.0.1:57701/
static
final
RegExp
_mapRegex
=
new
RegExp
(
r'\S+ +\S+ +\S+ +(\S+ +)?(\S+)\[\d+\]\)?: (\(.*\))? *(.*)$'
);
static
final
RegExp
_mapRegex
=
new
RegExp
(
r'\S+ +\S+ +\S+ +(\S+ +)?(\S+)\[\d+\]\)?: (\(.*
?
\))? *(.*)$'
);
// Jan 31 19:23:28 --- last message repeated 1 time ---
static
final
RegExp
_lastMessageSingleRegex
=
new
RegExp
(
r'\S+ +\S+ +\S+ --- last message repeated 1 time ---$'
);
...
...
packages/flutter_tools/test/ios/simulators_test.dart
View file @
e6e4406d
...
...
@@ -2,6 +2,8 @@ import 'dart:async';
import
'dart:io'
show
ProcessResult
,
Process
;
import
'package:file/file.dart'
;
import
'package:flutter_tools/src/device.dart'
;
import
'package:flutter_tools/src/application_package.dart'
;
import
'package:flutter_tools/src/base/file_system.dart'
;
import
'package:flutter_tools/src/ios/mac.dart'
;
import
'package:flutter_tools/src/ios/simulators.dart'
;
...
...
@@ -12,10 +14,11 @@ import 'package:test/test.dart';
import
'../src/context.dart'
;
class
MockXcode
extends
Mock
implements
Xcode
{}
class
MockFile
extends
Mock
implements
File
{}
class
Mock
ProcessManager
extends
Mock
implements
ProcessManager
{}
class
Mock
IMobileDevice
extends
Mock
implements
IMobileDevice
{}
class
MockProcess
extends
Mock
implements
Process
{}
class
MockProcessManager
extends
Mock
implements
ProcessManager
{}
class
MockXcode
extends
Mock
implements
Xcode
{}
void
main
(
)
{
FakePlatform
osx
;
...
...
@@ -264,4 +267,46 @@ void main() {
ProcessManager:
()
=>
mockProcessManager
,
});
});
group
(
'log reader'
,
()
{
MockProcessManager
mockProcessManager
;
setUp
(()
{
mockProcessManager
=
new
MockProcessManager
();
});
testUsingContext
(
'simulator can output `)`'
,
()
async
{
when
(
mockProcessManager
.
start
(
any
,
environment:
null
,
workingDirectory:
null
))
.
thenAnswer
((
Invocation
invocation
)
{
final
Process
mockProcess
=
new
MockProcess
();
when
(
mockProcess
.
stdout
).
thenAnswer
((
Invocation
invocation
)
=>
new
Stream
<
List
<
int
>>.
fromIterable
(<
List
<
int
>>[
'''
2017-09-13 15:26:57.228948-0700 localhost Runner[37195]: (Flutter) Observatory listening on http://127.0.0.1:57701/
2017-09-13 15:26:57.228948-0700 localhost Runner[37195]: (Flutter) ))))))))))
2017-09-13 15:26:57.228948-0700 localhost Runner[37195]: (Flutter) #0 Object.noSuchMethod (dart:core-patch/dart:core/object_patch.dart:46)'''
.
codeUnits
]));
when
(
mockProcess
.
stderr
)
.
thenAnswer
((
Invocation
invocation
)
=>
const
Stream
<
List
<
int
>>.
empty
());
// Delay return of exitCode until after stdout stream data, since it terminates the logger.
when
(
mockProcess
.
exitCode
)
.
thenAnswer
((
Invocation
invocation
)
=>
new
Future
<
int
>.
delayed
(
Duration
.
ZERO
,
()
=>
0
));
return
new
Future
<
Process
>.
value
(
mockProcess
);
})
.
thenThrow
(
new
TestFailure
(
'Should start one process only'
));
final
IOSSimulator
device
=
new
IOSSimulator
(
'123456'
,
category:
'iOS 11.0'
);
final
DeviceLogReader
logReader
=
device
.
getLogReader
(
app:
new
BuildableIOSApp
(
projectBundleId:
'bundleId'
),
);
final
List
<
String
>
lines
=
await
logReader
.
logLines
.
toList
();
expect
(
lines
,
<
String
>[
'Observatory listening on http://127.0.0.1:57701/'
,
'))))))))))'
,
'#0 Object.noSuchMethod (dart:core-patch/dart:core/object_patch.dart:46)'
,
]);
},
overrides:
<
Type
,
Generator
>{
ProcessManager:
()
=>
mockProcessManager
,
});
});
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment