touchups on the scripts
This commit is contained in:
@@ -9,24 +9,45 @@ void main() async {
|
||||
|
||||
final backendPath = '$projectRootPath/backend';
|
||||
// Start the server
|
||||
print('Starting Dart Frog server...');
|
||||
print('🐸 Building Dart Frog server...');
|
||||
final build = await Process.start(
|
||||
'dart_frog',
|
||||
['build'],
|
||||
workingDirectory: backendPath,
|
||||
mode: ProcessStartMode.inheritStdio,
|
||||
);
|
||||
|
||||
List<String> serverLogs = [];
|
||||
if (await build.exitCode != 0) {
|
||||
stdout.writeln('💀 Failed to build backend:');
|
||||
|
||||
for (final element in [build.stdout, build.stderr]) {
|
||||
element
|
||||
..transform(const SystemEncoding().decoder)
|
||||
..listen((line) => stdout.write(line));
|
||||
}
|
||||
stdout.writeln();
|
||||
exit(1);
|
||||
}
|
||||
|
||||
final serverLogs = <String>[];
|
||||
final server = await Process.start('dart', ['build/bin/server.dart'], workingDirectory: backendPath);
|
||||
server.stdout.transform(const SystemEncoding().decoder).listen((line) => serverLogs.add(line));
|
||||
server.stderr.transform(const SystemEncoding().decoder).listen((line) => serverLogs.add(line));
|
||||
server.stdout.transform(const SystemEncoding().decoder).listen(serverLogs.add);
|
||||
server.stderr.transform(const SystemEncoding().decoder).listen(serverLogs.add);
|
||||
unawaited(
|
||||
server.exitCode.then((code) async {
|
||||
if (code != 0) {
|
||||
stdout
|
||||
..writeln('💀 Failed to run backend:\n')
|
||||
..write(serverLogs.join('\n'));
|
||||
exit(1);
|
||||
}
|
||||
}),
|
||||
);
|
||||
|
||||
// Wait for server to be ready
|
||||
print('Waiting for server to be ready...');
|
||||
print('⏲️ Waiting for server to be ready...');
|
||||
await _waitForServer();
|
||||
|
||||
print('Running tests...');
|
||||
print('🤞 Running tests...');
|
||||
try {
|
||||
// Run the tests
|
||||
final testResult = await Process.run('dart', ['test', '$backendPath/test_e2e/tests/']);
|
||||
@@ -39,12 +60,14 @@ void main() async {
|
||||
if (testResult.exitCode != 0) {
|
||||
final sub = serverLogs.length > 10 ? serverLogs.length - 10 : 0;
|
||||
stdout.write("Server logs:\n${serverLogs.sublist(sub).join('\n')}");
|
||||
} else {
|
||||
stdout.writeln("💨 Passed like a light breeze 😮💨");
|
||||
}
|
||||
|
||||
// Exit with the same code as the test process
|
||||
exit(testResult.exitCode);
|
||||
} catch (e) {
|
||||
print('Error running tests: $e');
|
||||
print('💩 Error running tests 💩: $e');
|
||||
build.kill();
|
||||
server.kill();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user