import tor package
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
// SPDX-FileCopyrightText: 2024 Foundation Devices Inc.
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
import 'package:build_tool/src/builder.dart';
|
||||
import 'package:build_tool/src/options.dart';
|
||||
import 'package:hex/hex.dart';
|
||||
import 'package:test/test.dart';
|
||||
import 'package:yaml/yaml.dart';
|
||||
|
||||
void main() {
|
||||
test('parseCargoBuildOptions', () {
|
||||
final yaml = """
|
||||
toolchain: nightly
|
||||
extra_flags:
|
||||
- -Z
|
||||
# Comment here
|
||||
- build-std=panic_abort,std
|
||||
""";
|
||||
final node = loadYamlNode(yaml);
|
||||
final options = CargoBuildOptions.parse(node);
|
||||
expect(options.toolchain, Toolchain.nightly);
|
||||
expect(options.flags, ['-Z', 'build-std=panic_abort,std']);
|
||||
});
|
||||
|
||||
test('parsePrecompiledBinaries', () {
|
||||
final yaml = """
|
||||
url_prefix: https://url-prefix
|
||||
public_key: a4c3433798eb2c36edf2b94dbb4dd899d57496ca373a8982d8a792410b7f6445
|
||||
""";
|
||||
final precompiledBinaries = PrecompiledBinaries.parse(loadYamlNode(yaml));
|
||||
final key = HEX.decode(
|
||||
'a4c3433798eb2c36edf2b94dbb4dd899d57496ca373a8982d8a792410b7f6445');
|
||||
expect(precompiledBinaries.uriPrefix, 'https://url-prefix');
|
||||
expect(precompiledBinaries.publicKey.bytes, key);
|
||||
});
|
||||
|
||||
test('parseCargokitOptions', () {
|
||||
const yaml = '''
|
||||
cargo:
|
||||
# For smalles binaries rebuilt the standard library with panic=abort
|
||||
debug:
|
||||
toolchain: nightly
|
||||
extra_flags:
|
||||
- -Z
|
||||
# Comment here
|
||||
- build-std=panic_abort,std
|
||||
release:
|
||||
toolchain: beta
|
||||
|
||||
precompiled_binaries:
|
||||
url_prefix: https://url-prefix
|
||||
public_key: a4c3433798eb2c36edf2b94dbb4dd899d57496ca373a8982d8a792410b7f6445
|
||||
''';
|
||||
final options = CargokitCrateOptions.parse(loadYamlNode(yaml));
|
||||
expect(options.precompiledBinaries?.uriPrefix, 'https://url-prefix');
|
||||
final key = HEX.decode(
|
||||
'a4c3433798eb2c36edf2b94dbb4dd899d57496ca373a8982d8a792410b7f6445');
|
||||
expect(options.precompiledBinaries?.publicKey.bytes, key);
|
||||
|
||||
final debugOptions = options.cargo[BuildConfiguration.debug]!;
|
||||
expect(debugOptions.toolchain, Toolchain.nightly);
|
||||
expect(debugOptions.flags, ['-Z', 'build-std=panic_abort,std']);
|
||||
|
||||
final releaseOptions = options.cargo[BuildConfiguration.release]!;
|
||||
expect(releaseOptions.toolchain, Toolchain.beta);
|
||||
expect(releaseOptions.flags, []);
|
||||
});
|
||||
|
||||
test('parseCargokitUserOptions', () {
|
||||
const yaml = '''
|
||||
use_precompiled_binaries: false
|
||||
verbose_logging: true
|
||||
''';
|
||||
final options = CargokitUserOptions.parse(loadYamlNode(yaml));
|
||||
expect(options.usePrecompiledBinaries, false);
|
||||
expect(options.verboseLogging, true);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user