Skip to content

Commit 5bcbbf5

Browse files
samestepfacebook-github-bot
authored andcommitted
Lint trailing newlines (pytorch#54737)
Summary: *Context:* pytorch#53406 added a lint for trailing whitespace at the ends of lines. However, in order to pass FB-internal lints, that PR also had to normalize the trailing newlines in four of the files it touched. This PR adds an OSS lint to normalize trailing newlines. The changes to the following files (made in 54847d0) are the only manually-written parts of this PR: - `.github/workflows/lint.yml` - `mypy-strict.ini` - `tools/README.md` - `tools/test/test_trailing_newlines.py` - `tools/trailing_newlines.py` I would have liked to make this just a shell one-liner like the other three similar lints, but nothing I could find quite fit the bill. Specifically, all the answers I tried from the following Stack Overflow questions were far too slow (at least a minute and a half to run on this entire repository): - [How to detect file ends in newline?](https://stackoverflow.com/q/38746) - [How do I find files that do not end with a newline/linefeed?](https://stackoverflow.com/q/4631068) - [How to list all files in the Git index without newline at end of file](https://stackoverflow.com/q/27624800) - [Linux - check if there is an empty line at the end of a file [duplicate]](https://stackoverflow.com/q/34943632) - [git ensure newline at end of each file](https://stackoverflow.com/q/57770972) To avoid giving false positives during the few days after this PR is merged, we should probably only merge it after pytorch#54967. Pull Request resolved: pytorch#54737 Test Plan: Running the shell script from the "Ensure correct trailing newlines" step in the `quick-checks` job of `.github/workflows/lint.yml` should print no output and exit in a fraction of a second with a status of 0. That was not the case prior to this PR, as shown by this failing GHA workflow run on an earlier draft of this PR: - https://github.com/pytorch/pytorch/runs/2197446987?check_suite_focus=true In contrast, this run (after correcting the trailing newlines in this PR) succeeded: - https://github.com/pytorch/pytorch/pull/54737/checks?check_run_id=2197553241 To unit-test `tools/trailing_newlines.py` itself (this is run as part of our "Test tools" GitHub Actions workflow): ``` python tools/test/test_trailing_newlines.py ``` Reviewed By: malfet Differential Revision: D27409736 Pulled By: samestep fbshipit-source-id: 46f565227046b39f68349bbd5633105b2d2e9b19
1 parent eafa235 commit 5bcbbf5

File tree

111 files changed

+122
-132
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+122
-132
lines changed

.circleci/windows-jni/include/jni.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1129,4 +1129,3 @@ JNIEXPORT void JNI_OnUnload(JavaVM* vm, void* reserved);
11291129
#define JNI_ABORT 2 /* free buffer w/o copying back */
11301130

11311131
#endif /* JNI_H_ */
1132-

.github/workflows/lint.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ jobs:
3030
rm -r "shellcheck-${scversion}"
3131
shellcheck --version
3232
.jenkins/run-shellcheck.sh
33+
- name: Ensure correct trailing newlines
34+
run: |
35+
(! git grep -Il '' -- . ':(exclude)**/contrib/**' ':(exclude)third_party' ':(exclude)**.expect' | tools/trailing_newlines.py || (echo "The above files do not have correct trailing newlines; please normalize them"; false))
3336
- name: Ensure no trailing spaces
3437
run: |
3538
(! git grep -I -no ' $' -- . ':(exclude)**/contrib/**' ':(exclude)third_party' || (echo "The above files have trailing spaces; please remove them"; false))

.jenkins/pytorch/perf_test/test_cpu_speed_torch.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,3 @@ test_cpu_speed_torch () {
2727
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
2828
run_test test_cpu_speed_torch "$@"
2929
fi
30-

.jenkins/pytorch/perf_test/test_cpu_speed_torch_tensor.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,3 @@ test_cpu_speed_torch_tensor () {
2727
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
2828
run_test test_cpu_speed_torch_tensor "$@"
2929
fi
30-

android/test_app/app/src/main/res/layout/activity_main.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@
1414
android:background="@android:color/black"
1515
android:textColor="@android:color/white" />
1616

17-
</FrameLayout>
17+
</FrameLayout>

aten/src/ATen/NumericUtils.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,4 +105,3 @@ C10_HOST_DEVICE inline double tan<double>(double x) {
105105
}
106106

107107
} // namespace at
108-

aten/src/ATen/cpu/vec256/vsx/vec256_complex_double_vsx.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -594,4 +594,3 @@ Vec256<ComplexDbl> inline minimum(
594594
} // namespace
595595
} // namespace vec256
596596
} // namespace at
597-

aten/src/ATen/cpu/vec256/vsx/vsx_helpers.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,4 +386,3 @@ const vfloat64 vd_pi_2 = vfloat64{M_PI / 2.0, 0.0};
386386
} // namespace
387387
} // namespace vec256
388388
} // namespace at
389-

aten/src/ATen/cudnn/cudnn-wrapper.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,3 @@
1313

1414
#undef STRINGIFY
1515
#undef STRING
16-

aten/src/ATen/div_rtn.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,3 @@ static inline T div_rtn(T x, T y) {
88
if ((r!=0) && ((r<0) != (y<0))) --q;
99
return q;
1010
}
11-

0 commit comments

Comments
 (0)