Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebd796d1 authored by Martin Geisler's avatar Martin Geisler Committed by Cherrypicker Worker
Browse files

pdl: Propagate exit code from first failure

By default, Bash will return the exit code of the last command in a
pipeline. This means that we silently ignore errors every time we pipe
the output from one command into another.

Setting the pipefail option solves this: Bash now returns the first
non-zero exit code.

Test: n/a.
(cherry picked from https://android-review.googlesource.com/q/commit:eac8c46d051747f02d3421a31c99f35a19bda5f0)
Merged-In: I40cf3f246883a02167b93884df5b30824c25726f
Change-Id: I40cf3f246883a02167b93884df5b30824c25726f
parent 274417a4
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -64,6 +64,9 @@ rust_test_host {

genrule_defaults {
    name: "pdl_rust_generator_defaults",
    cmd: "set -o pipefail;" +
        " $(location :pdl) --output-format rust $(in) |" +
        " $(location :rustfmt) > $(out)",
    tools: [
        ":pdl",
        ":rustfmt",
@@ -74,7 +77,6 @@ genrule_defaults {
genrule {
    name: "pdl_le_backend",
    defaults: ["pdl_rust_generator_defaults"],
    cmd: "$(location :pdl) --output-format rust $(in) | $(location :rustfmt) > $(out)",
    srcs: ["tests/canonical/le_rust_test_file.pdl"],
    out: ["le_backend.rs"],
}
@@ -82,7 +84,6 @@ genrule {
genrule {
    name: "pdl_be_backend",
    defaults: ["pdl_rust_generator_defaults"],
    cmd: "$(location :pdl) --output-format rust $(in) | $(location :rustfmt) > $(out)",
    srcs: ["tests/canonical/be_rust_test_file.pdl"],
    out: ["be_backend.rs"],
}
@@ -135,7 +136,9 @@ genrule_defaults {

genrule {
    name: "pdl_rust_generator_tests_le_src",
    cmd: "$(location :pdl_generate_tests) $(in) pdl_le_backend | $(location :rustfmt) > $(out)",
    cmd: "set -o pipefail;" +
        " $(location :pdl_generate_tests) $(in) pdl_le_backend |" +
        " $(location :rustfmt) > $(out)",
    srcs: ["tests/canonical/le_test_vectors.json"],
    out: ["le_canonical.rs"],
    defaults: ["pdl_rust_generator_src_defaults"],
@@ -143,7 +146,9 @@ genrule {

genrule {
    name: "pdl_rust_generator_tests_be_src",
    cmd: "$(location :pdl_generate_tests) $(in) pdl_be_backend | $(location :rustfmt) > $(out)",
    cmd: "set -o pipefail;" +
        " $(location :pdl_generate_tests) $(in) pdl_be_backend |" +
        " $(location :rustfmt) > $(out)",
    srcs: ["tests/canonical/be_test_vectors.json"],
    out: ["be_canonical.rs"],
    defaults: ["pdl_rust_generator_src_defaults"],
@@ -183,7 +188,8 @@ genrule_defaults {
genrule {
    name: "pdl_python_generator_le_test_gen",
    defaults: ["pdl_python_generator_defaults"],
    cmd: "$(location :pdl) $(in) |" +
    cmd: "set -o pipefail;" +
        " $(location :pdl) $(in) |" +
        " $(location :pdl_python_generator)" +
        " --output $(out) --custom-type-location tests.custom_types",
    tool_files: [
@@ -202,7 +208,8 @@ genrule {
genrule {
    name: "pdl_python_generator_be_test_gen",
    defaults: ["pdl_python_generator_defaults"],
    cmd: "$(location :pdl) $(in) |" +
    cmd: "set -o pipefail;" +
        " $(location :pdl) $(in) |" +
        " $(location :pdl_python_generator)" +
        " --output $(out) --custom-type-location tests.custom_types",
    tool_files: [