Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

[M] Change in dart/sdk[main]: [dart2wasm] Fix handling of --define/-D

0 views
Skip to first unread message

Ömer Ağacan (Gerrit)

unread,
Mar 14, 2025, 8:07:55 AMMar 14
to Martin Kustermann, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
Attention needed from Martin Kustermann and Nate Biggs

New activity on the change

Open in Gerrit

Related details

Attention is currently required from:
  • Martin Kustermann
  • Nate Biggs
Submit Requirements:
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
Gerrit-Change-Number: 415280
Gerrit-PatchSet: 8
Gerrit-Owner: Ömer Ağacan <ome...@google.com>
Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
Gerrit-Reviewer: Nate Biggs <nate...@google.com>
Gerrit-Attention: Nate Biggs <nate...@google.com>
Gerrit-Attention: Martin Kustermann <kuste...@google.com>
Gerrit-Comment-Date: Fri, 14 Mar 2025 12:07:50 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Ömer Ağacan (Gerrit)

unread,
Mar 14, 2025, 11:56:07 AMMar 14
to Commit Queue, Martin Kustermann, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
Attention needed from Martin Kustermann and Nate Biggs

Ömer Ağacan added 1 comment

Patchset-level comments
File-level comment, Patchset 11 (Latest):
Ömer Ağacan . unresolved

Something about ddc needs to be fixed as well, but I can't figure out what as I can't figure out how to run the test in ddc. I'll fix it next week.

Open in Gerrit

Related details

Attention is currently required from:
  • Martin Kustermann
  • Nate Biggs
Submit Requirements:
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
Gerrit-Change-Number: 415280
Gerrit-PatchSet: 11
Gerrit-Owner: Ömer Ağacan <ome...@google.com>
Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
Gerrit-Reviewer: Nate Biggs <nate...@google.com>
Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
Gerrit-Attention: Nate Biggs <nate...@google.com>
Gerrit-Attention: Martin Kustermann <kuste...@google.com>
Gerrit-Comment-Date: Fri, 14 Mar 2025 15:56:03 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Martin Kustermann (Gerrit)

unread,
Mar 17, 2025, 5:30:38 AMMar 17
to Ömer Ağacan, Commit Queue, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
Attention needed from Nate Biggs and Ömer Ağacan

Martin Kustermann voted and added 2 comments

Votes added by Martin Kustermann

Code-Review+1

2 comments

File pkg/test_runner/lib/src/test_file.dart
Line 244, Patchset 11 (Latest): var dart2jsOptions1 = _parseStringOption(
Martin Kustermann . unresolved

Consider having a helper function to avoid the redundancy between dart2js/dart2wasm/ddc

File tests/web/wasm_js_shared/env_defines_test.dart
Line 11, Patchset 11 (Latest):// ddcOption="-DFOO=a, b, c=123"
Martin Kustermann . unresolved

I think the failing DDC test may be due to this quoting as it runs
```
out/ReleaseX64/dart-sdk/bin/snapshots/dartdevc_aot.dart.snapshot ""-DFOO=a, b, c=123"" -Dtest_runner.conf...
```

Even for dart2js it seems the quotes shouldn't be needed as it's parsed as one argument. Maybe it's the batch mode compiler that needs to auto-quote arguments instead of us doing this in this test here?

Open in Gerrit

Related details

Attention is currently required from:
  • Nate Biggs
  • Ömer Ağacan
Submit Requirements:
  • requirement satisfiedCode-Review
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
Gerrit-Change-Number: 415280
Gerrit-PatchSet: 11
Gerrit-Owner: Ömer Ağacan <ome...@google.com>
Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
Gerrit-Reviewer: Nate Biggs <nate...@google.com>
Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
Gerrit-Attention: Nate Biggs <nate...@google.com>
Gerrit-Attention: Ömer Ağacan <ome...@google.com>
Gerrit-Comment-Date: Mon, 17 Mar 2025 09:30:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Martin Kustermann (Gerrit)

unread,
Mar 17, 2025, 5:31:06 AMMar 17
to Ömer Ağacan, Commit Queue, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
Attention needed from Nate Biggs and Ömer Ağacan

Martin Kustermann added 1 comment

Commit Message
Line 45, Patchset 11 (Latest):Fixes Flutter issue 164873.
Martin Kustermann . unresolved

Please use https://... urls so one can just click on them.

Open in Gerrit

Related details

Attention is currently required from:
  • Nate Biggs
  • Ömer Ağacan
Submit Requirements:
  • requirement satisfiedCode-Review
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
Gerrit-Change-Number: 415280
Gerrit-PatchSet: 11
Gerrit-Owner: Ömer Ağacan <ome...@google.com>
Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
Gerrit-Reviewer: Nate Biggs <nate...@google.com>
Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
Gerrit-Attention: Nate Biggs <nate...@google.com>
Gerrit-Attention: Ömer Ağacan <ome...@google.com>
Gerrit-Comment-Date: Mon, 17 Mar 2025 09:31:02 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
open
diffy

Ömer Ağacan (Gerrit)

unread,
Mar 17, 2025, 6:10:24 AMMar 17
to Martin Kustermann, Commit Queue, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
Attention needed from Nate Biggs

Ömer Ağacan added 1 comment

Commit Message
Line 45, Patchset 11:Fixes Flutter issue 164873.
Martin Kustermann . resolved

Please use https://... urls so one can just click on them.

Ömer Ağacan

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Nate Biggs
Submit Requirements:
  • requirement satisfiedCode-Review
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
Gerrit-Change-Number: 415280
Gerrit-PatchSet: 12
Gerrit-Owner: Ömer Ağacan <ome...@google.com>
Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
Gerrit-Reviewer: Nate Biggs <nate...@google.com>
Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
Gerrit-Attention: Nate Biggs <nate...@google.com>
Gerrit-Comment-Date: Mon, 17 Mar 2025 10:10:19 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Martin Kustermann <kuste...@google.com>
satisfied_requirement
open
diffy

Ömer Ağacan (Gerrit)

unread,
Mar 17, 2025, 6:21:21 AMMar 17
to Martin Kustermann, Commit Queue, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
Attention needed from Nate Biggs

Ömer Ağacan added 1 comment

File tests/web/wasm_js_shared/env_defines_test.dart
Line 11, Patchset 11:// ddcOption="-DFOO=a, b, c=123"
Martin Kustermann . resolved

I think the failing DDC test may be due to this quoting as it runs
```
out/ReleaseX64/dart-sdk/bin/snapshots/dartdevc_aot.dart.snapshot ""-DFOO=a, b, c=123"" -Dtest_runner.conf...
```

Even for dart2js it seems the quotes shouldn't be needed as it's parsed as one argument. Maybe it's the batch mode compiler that needs to auto-quote arguments instead of us doing this in this test here?

Ömer Ağacan

I think the failing DDC test may be due to this quoting as it runs

It shows as if it's adding quotes, but it's not. The code that prints the reproduction instructions is different from the actual code that runs, it prints different commands than what it really runs.

The code is a huge mess really..

Even for dart2js it seems the quotes shouldn't be needed as it's parsed as one argument

IIRC dart2js treats the args differently based on whether you're running in batch mode (where the args are written to the batch compiler's stdin) vs. non-batch mode (where args are passed to the process as args). It's a huge mess...

I'll figure this out.

Open in Gerrit

Related details

Attention is currently required from:
  • Nate Biggs
Submit Requirements:
  • requirement satisfiedCode-Review
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
Gerrit-Change-Number: 415280
Gerrit-PatchSet: 12
Gerrit-Owner: Ömer Ağacan <ome...@google.com>
Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
Gerrit-Reviewer: Nate Biggs <nate...@google.com>
Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
Gerrit-Attention: Nate Biggs <nate...@google.com>
Gerrit-Comment-Date: Mon, 17 Mar 2025 10:21:16 +0000
satisfied_requirement
open
diffy

Ömer Ağacan (Gerrit)

unread,
Mar 17, 2025, 7:25:33 AMMar 17
to Martin Kustermann, Commit Queue, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
Attention needed from Martin Kustermann and Nate Biggs

Ömer Ağacan added 2 comments

Patchset-level comments
File-level comment, Patchset 11:
Ömer Ağacan . resolved

Something about ddc needs to be fixed as well, but I can't figure out what as I can't figure out how to run the test in ddc. I'll fix it next week.

Ömer Ağacan

Done

File pkg/test_runner/lib/src/test_file.dart
Line 244, Patchset 11: var dart2jsOptions1 = _parseStringOption(
Martin Kustermann . resolved

Consider having a helper function to avoid the redundancy between dart2js/dart2wasm/ddc

Ömer Ağacan

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Martin Kustermann
  • Nate Biggs
Submit Requirements:
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: sdk
    Gerrit-Branch: main
    Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
    Gerrit-Change-Number: 415280
    Gerrit-PatchSet: 14
    Gerrit-Owner: Ömer Ağacan <ome...@google.com>
    Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
    Gerrit-Reviewer: Nate Biggs <nate...@google.com>
    Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
    Gerrit-Attention: Nate Biggs <nate...@google.com>
    Gerrit-Attention: Martin Kustermann <kuste...@google.com>
    Gerrit-Comment-Date: Mon, 17 Mar 2025 11:25:28 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Martin Kustermann <kuste...@google.com>
    Comment-In-Reply-To: Ömer Ağacan <ome...@google.com>
    unsatisfied_requirement
    open
    diffy

    Nate Biggs (Gerrit)

    unread,
    Mar 17, 2025, 12:36:14 PMMar 17
    to Ömer Ağacan, Martin Kustermann, Commit Queue, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
    Attention needed from Martin Kustermann and Ömer Ağacan

    Nate Biggs added 2 comments

    File pkg/test_runner/lib/src/process_queue.dart
    Line 1062, Patchset 19 (Latest): // TODO: Use proper shell escaping here.
    Nate Biggs . unresolved

    Give this TODO an owner or attach an issue.

    File tests/web/wasm_js_shared/env_defines_test.dart
    Line 12, Patchset 19 (Latest): Expect.equals("a, b, c=123", const String.fromEnvironment("FOO"));
    Nate Biggs . unresolved

    Can you add a few more tests ensuring the split line is happening?

    I know `command_line_split_test` has a bunch of tests of the actual functionality. But I'm not sure we have any other tests guaranteeing that all the web backends continue to use that package. So tests here would help make sure all the backends stay aligned.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Martin Kustermann
    • Ömer Ağacan
    Submit Requirements:
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: sdk
    Gerrit-Branch: main
    Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
    Gerrit-Change-Number: 415280
    Gerrit-PatchSet: 19
    Gerrit-Owner: Ömer Ağacan <ome...@google.com>
    Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
    Gerrit-Reviewer: Nate Biggs <nate...@google.com>
    Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
    Gerrit-Attention: Martin Kustermann <kuste...@google.com>
    Gerrit-Attention: Ömer Ağacan <ome...@google.com>
    Gerrit-Comment-Date: Mon, 17 Mar 2025 16:36:10 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    unsatisfied_requirement
    open
    diffy

    Martin Kustermann (Gerrit)

    unread,
    Mar 18, 2025, 4:12:27 AMMar 18
    to Ömer Ağacan, Commit Queue, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
    Attention needed from Ömer Ağacan

    Martin Kustermann voted Code-Review+1

    Code-Review+1
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Ömer Ağacan
    Submit Requirements:
    • requirement satisfiedCode-Review
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: sdk
    Gerrit-Branch: main
    Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
    Gerrit-Change-Number: 415280
    Gerrit-PatchSet: 19
    Gerrit-Owner: Ömer Ağacan <ome...@google.com>
    Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
    Gerrit-Reviewer: Nate Biggs <nate...@google.com>
    Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
    Gerrit-Attention: Ömer Ağacan <ome...@google.com>
    Gerrit-Comment-Date: Tue, 18 Mar 2025 08:12:21 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Ömer Ağacan (Gerrit)

    unread,
    Mar 18, 2025, 5:16:12 AMMar 18
    to Martin Kustermann, Commit Queue, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
    Attention needed from Nate Biggs

    Ömer Ağacan added 1 comment

    File pkg/test_runner/lib/src/process_queue.dart
    Line 1062, Patchset 19: // TODO: Use proper shell escaping here.
    Nate Biggs . resolved

    Give this TODO an owner or attach an issue.

    Attention is currently required from:
    • Nate Biggs
    Submit Requirements:
    • requirement satisfiedCode-Review
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: sdk
    Gerrit-Branch: main
    Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
    Gerrit-Change-Number: 415280
    Gerrit-PatchSet: 20
    Gerrit-Owner: Ömer Ağacan <ome...@google.com>
    Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
    Gerrit-Reviewer: Nate Biggs <nate...@google.com>
    Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
    Gerrit-Attention: Nate Biggs <nate...@google.com>
    Gerrit-Comment-Date: Tue, 18 Mar 2025 09:16:06 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Nate Biggs <nate...@google.com>
    satisfied_requirement
    open
    diffy

    Ömer Ağacan (Gerrit)

    unread,
    Mar 18, 2025, 5:24:43 AMMar 18
    to Martin Kustermann, Commit Queue, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
    Attention needed from Nate Biggs

    Ömer Ağacan added 1 comment

    File tests/web/wasm_js_shared/env_defines_test.dart
    Line 12, Patchset 19: Expect.equals("a, b, c=123", const String.fromEnvironment("FOO"));
    Nate Biggs . resolved

    Can you add a few more tests ensuring the split line is happening?

    I know `command_line_split_test` has a bunch of tests of the actual functionality. But I'm not sure we have any other tests guaranteeing that all the web backends continue to use that package. So tests here would help make sure all the backends stay aligned.

    Ömer Ağacan

    I improved the test a little bit, if you tell me what you have in mind that you want to see tested we can add those as well.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Nate Biggs
    Submit Requirements:
    • requirement satisfiedCode-Review
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: sdk
    Gerrit-Branch: main
    Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
    Gerrit-Change-Number: 415280
    Gerrit-PatchSet: 22
    Gerrit-Owner: Ömer Ağacan <ome...@google.com>
    Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
    Gerrit-Reviewer: Nate Biggs <nate...@google.com>
    Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
    Gerrit-Attention: Nate Biggs <nate...@google.com>
    Gerrit-Comment-Date: Tue, 18 Mar 2025 09:24:39 +0000
    satisfied_requirement
    open
    diffy

    Ömer Ağacan (Gerrit)

    unread,
    Mar 18, 2025, 6:31:19 AMMar 18
    to Martin Kustermann, Commit Queue, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org
    Attention needed from Nate Biggs

    Ömer Ağacan voted Commit-Queue+2

    Commit-Queue+2
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Nate Biggs
    Submit Requirements:
    • requirement satisfiedCode-Review
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: sdk
    Gerrit-Branch: main
    Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
    Gerrit-Change-Number: 415280
    Gerrit-PatchSet: 25
    Gerrit-Owner: Ömer Ağacan <ome...@google.com>
    Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
    Gerrit-Reviewer: Nate Biggs <nate...@google.com>
    Gerrit-Reviewer: Ömer Ağacan <ome...@google.com>
    Gerrit-Attention: Nate Biggs <nate...@google.com>
    Gerrit-Comment-Date: Tue, 18 Mar 2025 10:31:06 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Commit Queue (Gerrit)

    unread,
    Mar 18, 2025, 7:11:45 AMMar 18
    to Ömer Ağacan, Martin Kustermann, Nate Biggs, dart2js-te...@google.com, dart2wasm-t...@google.com, rev...@dartlang.org

    Commit Queue submitted the change with unreviewed changes

    Unreviewed changes

    19 is the latest approved patch-set.
    The change was submitted with unreviewed changes in the following files:

    ```
    The name of the file: pkg/shell_arg_splitter/test/command_line_split_test.dart
    Insertions: 1, Deletions: 1.

    @@ -5,7 +5,7 @@
    import "package:expect/expect.dart";
    import "package:shell_arg_splitter/shell_arg_splitter.dart";

    -main() {
    +void main() {
    Expect.listEquals(["foo", "bar"], splitLine("foo bar"));
    Expect.listEquals(["foo", "bar"], splitLine("foo bar", windows: true));

    ```
    ```
    The name of the file: tests/web/wasm_js_shared/env_defines_test.dart
    Insertions: 4, Deletions: 3.

    @@ -2,12 +2,13 @@
    // for details. All rights reserved. Use of this source code is governed by a
    // BSD-style license that can be found in the LICENSE file.

    -// dart2jsOptions="-DFOO=a, b, c=123"
    -// ddcOptions="-DFOO=a, b, c=123"
    -// dart2wasmOptions="--extra-compiler-option=-DFOO=a, b, c=123"
    +// dart2jsOptions="-DFOO=a, b, c=123" --define=BAR=hi
    +// ddcOptions="-DFOO=a, b, c=123" --define=BAR=hi
    +// dart2wasmOptions="--extra-compiler-option=-DFOO=a, b, c=123" --define=BAR=hi

    import 'package:expect/expect.dart';

    void main() {

    Expect.equals("a, b, c=123", const String.fromEnvironment("FOO"));
    +  Expect.equals("hi", const String.fromEnvironment("BAR"));
    }
    ```
    ```
    The name of the file: pkg/test_runner/lib/src/process_queue.dart
    Insertions: 1, Deletions: 9.

    @@ -1058,15 +1058,7 @@
    }

    String _createArgumentsLine(List<String> arguments, int timeout) {
    - arguments = arguments.map((arg) {
    - // TODO: Use proper shell escaping here.
    - if (arg.contains(' ')) {
    - return "\"$arg\"";
    - } else {
    - return arg;
    - }
    - }).toList();
    -
    + arguments = arguments.map(escapeCommandLineArgument).toList();
    if (_useJson) {
    return "${jsonEncode(arguments)}\n";
    } else {
    ```

    Change information

    Commit message:
    [dart2wasm] Fix handling of --define/-D

    When parsing `--define` or `-D` arguments don't split the the value by
    commas.

    This is consistent with how dart2js handles `-D`, but inconsistent with
    how VM handles it.

    Example:

    void main() {
    print(const String.fromEnvironment("FOO"));
    }

    When compiled with `dart compile js -DFOO="a, b"` and run, dart2js
    prints

    a, b

    VM prints (when compiled to exe)

    a

    Between these two, I think dart2js' behavior is more common, so we
    follow dart2js.

    Also update compile_benchmark to avoid splitting a single argument "a b"
    into "a" and "b" when parsing the arguments and then splicing them back
    before calling `dart2wasm`.

    Also update the test runner and ddc batch mode argument parser to handle
    splitting quoted arguments in `// dart2jsOption = ...` and the same
    options for ddc and dart2wasm, by moving dart2js's `splitLine` to a new
    library and reusing it in the test runner and ddc.

    Fixes https://github.com/flutter/flutter/issues/164873.

    See also https://github.com/dart-lang/sdk/issues/60341 for relevant
    future work.
    Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
    Reviewed-by: Martin Kustermann <kuste...@google.com>
    Commit-Queue: Ömer Ağacan <ome...@google.com>
    Files:
    • M pkg/compiler/lib/src/dart2js.dart
    • M pkg/compiler/pubspec.yaml
    • M pkg/dart2wasm/lib/dart2wasm.dart
    • M pkg/dart2wasm/lib/option.dart
    • M pkg/dart2wasm/tool/compile_benchmark
    • M pkg/dartdev/lib/src/commands/compile.dart
    • M pkg/dev_compiler/lib/ddc.dart
    • M pkg/dev_compiler/pubspec.yaml
    • A pkg/shell_arg_splitter/analysis_options.yaml
    • R pkg/shell_arg_splitter/lib/shell_arg_splitter.dart
    • A pkg/shell_arg_splitter/pubspec.yaml
    • R pkg/shell_arg_splitter/test/command_line_split_test.dart
    • M pkg/test_runner/lib/src/process_queue.dart
    • M pkg/test_runner/lib/src/test_file.dart
    • M pkg/test_runner/pubspec.yaml
    • A tests/web/wasm_js_shared/env_defines_test.dart
    Change size: M
    Delta: 16 files changed, 66 insertions(+), 26 deletions(-)
    Branch: refs/heads/main
    Submit Requirements:
    • requirement satisfiedCode-Review: +1 by Martin Kustermann
    Open in Gerrit
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: merged
    Gerrit-Project: sdk
    Gerrit-Branch: main
    Gerrit-Change-Id: Idbdf69072fa212c8e4a390990577eb5a57b49e8a
    Gerrit-Change-Number: 415280
    Gerrit-PatchSet: 26
    Gerrit-Owner: Ömer Ağacan <ome...@google.com>
    open
    diffy
    satisfied_requirement
    Reply all
    Reply to author
    Forward
    0 new messages