Skip to content

Commit 2eb4fcc

Browse files
authored
Also print fixed ... messages with -stdout (#1373)
* Also print `fixed ...` messages with `-stdout` This makes it easier for users to implement a "check only" mode that doesn't modify any files, but is able to tell which ones would have been changed by buildozer. * Use diff
1 parent 8f135a5 commit 2eb4fcc

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

buildozer/buildozer_test.sh

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2393,4 +2393,34 @@ EOF
23932393
diff -u MODULE.bazel.expected MODULE.bazel || fail "Output didn't match"
23942394
}
23952395

2396+
function test_stdout() {
2397+
cat > MODULE.bazel <<EOF
2398+
module(
2399+
name = "foo", version = "0.27.0",
2400+
)
2401+
EOF
2402+
2403+
cat > MODULE.bazel.expected <<EOF
2404+
module(
2405+
name = "foo", version = "0.27.0",
2406+
)
2407+
EOF
2408+
2409+
cat > MODULE.bazel.expected.stdout <<EOF
2410+
module(
2411+
name = "foo",
2412+
version = "0.27.0",
2413+
)
2414+
EOF
2415+
2416+
cat > MODULE.bazel.expected.stderr <<EOF
2417+
fixed $(pwd)/MODULE.bazel
2418+
EOF
2419+
2420+
$buildozer -stdout 'format' //MODULE.bazel:all > stdout 2> stderr
2421+
diff -u MODULE.bazel.expected MODULE.bazel || fail "File was changed"
2422+
diff -u MODULE.bazel.expected.stdout stdout || fail "Output didn't match"
2423+
diff -u MODULE.bazel.expected.stderr stderr || fail "Error output didn't match"
2424+
}
2425+
23962426
run_suite "buildozer tests"

edit/buildozer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1260,7 +1260,7 @@ func rewrite(opts *Options, commandsForFile commandsForFile) *rewriteResult {
12601260

12611261
if opts.Stdout || name == stdinPackageName {
12621262
opts.OutWriter.Write(ndata)
1263-
return &rewriteResult{file: name, errs: errs, records: records}
1263+
return &rewriteResult{file: name, errs: errs, modified: !bytes.Equal(data, ndata), records: records}
12641264
}
12651265

12661266
if bytes.Equal(data, ndata) {

0 commit comments

Comments
 (0)