Skip to content

Commit 03e1851

Browse files
committed
add test
1 parent 982230f commit 03e1851

File tree

1 file changed

+41
-33
lines changed

1 file changed

+41
-33
lines changed

pkgs/native_toolchain_c/test/cbuilder/compiler_resolver_test.dart

Lines changed: 41 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -42,39 +42,47 @@ void main() {
4242
].firstOrNull?.uri;
4343

4444
final targetOS = OS.current;
45-
final buildInputBuilder = BuildInputBuilder()
46-
..setupShared(
47-
packageName: 'dummy',
48-
packageRoot: tempUri,
49-
outputDirectory: tempUri,
50-
outputDirectoryShared: tempUri2,
51-
)
52-
..config.setupBuild(
53-
linkingEnabled: false,
54-
dryRun: false,
55-
)
56-
..config.setupShared(buildAssetTypes: [CodeAsset.type])
57-
..config.setupCode(
58-
targetOS: targetOS,
59-
macOS: targetOS == OS.macOS
60-
? MacOSConfig(targetVersion: defaultMacOSVersion)
61-
: null,
62-
targetArchitecture: Architecture.current,
63-
linkModePreference: LinkModePreference.dynamic,
64-
cCompiler: CCompilerConfig(
65-
archiver: ar,
66-
compiler: cc,
67-
linker: ld,
68-
envScript: envScript,
69-
),
70-
);
71-
final buildInput = BuildInput(buildInputBuilder.json);
72-
final resolver =
73-
CompilerResolver(codeConfig: buildInput.config.code, logger: logger);
74-
final compiler = await resolver.resolveCompiler();
75-
final archiver = await resolver.resolveArchiver();
76-
expect(compiler.uri, buildInput.config.code.cCompiler?.compiler);
77-
expect(archiver.uri, buildInput.config.code.cCompiler?.archiver);
45+
for (final passInEnvScript in [if (targetOS == OS.windows) true, false]) {
46+
final buildInputBuilder = BuildInputBuilder()
47+
..setupShared(
48+
packageName: 'dummy',
49+
packageRoot: tempUri,
50+
outputDirectory: tempUri,
51+
outputDirectoryShared: tempUri2,
52+
)
53+
..config.setupBuild(
54+
linkingEnabled: false,
55+
dryRun: false,
56+
)
57+
..config.setupShared(buildAssetTypes: [CodeAsset.type])
58+
..config.setupCode(
59+
targetOS: targetOS,
60+
macOS: targetOS == OS.macOS
61+
? MacOSConfig(targetVersion: defaultMacOSVersion)
62+
: null,
63+
targetArchitecture: Architecture.current,
64+
linkModePreference: LinkModePreference.dynamic,
65+
cCompiler: CCompilerConfig(
66+
archiver: ar,
67+
compiler: cc,
68+
linker: ld,
69+
envScript: passInEnvScript ? envScript : null,
70+
),
71+
);
72+
final buildInput = BuildInput(buildInputBuilder.json);
73+
final resolver =
74+
CompilerResolver(codeConfig: buildInput.config.code, logger: logger);
75+
final compiler = await resolver.resolveCompiler();
76+
final archiver = await resolver.resolveArchiver();
77+
expect(compiler.uri, buildInput.config.code.cCompiler?.compiler);
78+
expect(archiver.uri, buildInput.config.code.cCompiler?.archiver);
79+
final environment = await resolver.resolveEnvironment(compiler);
80+
if (passInEnvScript) {
81+
expect(environment, isNot(equals({})));
82+
} else {
83+
expect(environment, equals({}));
84+
}
85+
}
7886
});
7987

8088
test('No compiler found', () async {

0 commit comments

Comments
 (0)