From 89b5ee7ac34e2cdffd6bedf48b005477952180ab Mon Sep 17 00:00:00 2001 From: Augie Fackler Date: Mon, 14 Sep 2015 14:17:27 -0400 Subject: [PATCH] test-clang-format: new test to verify that files stay clang-formatted For now all .c and .h files are blacklisted. As they become clang-formatted, we'll remove them from the blacklist,and then this test will produce output if there are diffs. Differential Revision: https://phab.mercurial-scm.org/D1133 --- contrib/clang-format-blacklist | 70 +++++++++++++++++++++++++++++++++ tests/test-check-clang-format.t | 10 +++++ 2 files changed, 80 insertions(+) create mode 100644 contrib/clang-format-blacklist create mode 100644 tests/test-check-clang-format.t diff --git a/contrib/clang-format-blacklist b/contrib/clang-format-blacklist new file mode 100644 index 0000000000..2aa635dd84 --- /dev/null +++ b/contrib/clang-format-blacklist @@ -0,0 +1,70 @@ +# Files that just need to be migrated to the formatter. +# Do not add new files here! +contrib/chg/chg.c +contrib/chg/hgclient.c +contrib/chg/hgclient.h +contrib/chg/procutil.c +contrib/chg/procutil.h +contrib/chg/util.c +contrib/chg/util.h +contrib/hgsh/hgsh.c +mercurial/cext/base85.c +mercurial/cext/bdiff.c +mercurial/cext/charencode.c +mercurial/cext/charencode.h +mercurial/cext/diffhelpers.c +mercurial/cext/dirs.c +mercurial/cext/manifest.c +mercurial/cext/mpatch.c +mercurial/cext/osutil.c +mercurial/cext/parsers.c +mercurial/cext/pathencode.c +mercurial/cext/revlog.c +# Vendored code that we should never format: +contrib/python-zstandard/c-ext/bufferutil.c +contrib/python-zstandard/c-ext/compressiondict.c +contrib/python-zstandard/c-ext/compressionparams.c +contrib/python-zstandard/c-ext/compressionwriter.c +contrib/python-zstandard/c-ext/compressobj.c +contrib/python-zstandard/c-ext/compressor.c +contrib/python-zstandard/c-ext/compressoriterator.c +contrib/python-zstandard/c-ext/constants.c +contrib/python-zstandard/c-ext/decompressionwriter.c +contrib/python-zstandard/c-ext/decompressobj.c +contrib/python-zstandard/c-ext/decompressor.c +contrib/python-zstandard/c-ext/decompressoriterator.c +contrib/python-zstandard/c-ext/frameparams.c +contrib/python-zstandard/c-ext/python-zstandard.h +contrib/python-zstandard/zstd.c +contrib/python-zstandard/zstd/common/bitstream.h +contrib/python-zstandard/zstd/common/entropy_common.c +contrib/python-zstandard/zstd/common/error_private.c +contrib/python-zstandard/zstd/common/error_private.h +contrib/python-zstandard/zstd/common/fse.h +contrib/python-zstandard/zstd/common/fse_decompress.c +contrib/python-zstandard/zstd/common/huf.h +contrib/python-zstandard/zstd/common/mem.h +contrib/python-zstandard/zstd/common/pool.c +contrib/python-zstandard/zstd/common/pool.h +contrib/python-zstandard/zstd/common/threading.c +contrib/python-zstandard/zstd/common/threading.h +contrib/python-zstandard/zstd/common/xxhash.c +contrib/python-zstandard/zstd/common/xxhash.h +contrib/python-zstandard/zstd/common/zstd_common.c +contrib/python-zstandard/zstd/common/zstd_errors.h +contrib/python-zstandard/zstd/common/zstd_internal.h +contrib/python-zstandard/zstd/compress/fse_compress.c +contrib/python-zstandard/zstd/compress/huf_compress.c +contrib/python-zstandard/zstd/compress/zstd_compress.c +contrib/python-zstandard/zstd/compress/zstd_opt.h +contrib/python-zstandard/zstd/compress/zstdmt_compress.c +contrib/python-zstandard/zstd/compress/zstdmt_compress.h +contrib/python-zstandard/zstd/decompress/huf_decompress.c +contrib/python-zstandard/zstd/decompress/zstd_decompress.c +contrib/python-zstandard/zstd/dictBuilder/cover.c +contrib/python-zstandard/zstd/dictBuilder/divsufsort.c +contrib/python-zstandard/zstd/dictBuilder/divsufsort.h +contrib/python-zstandard/zstd/dictBuilder/zdict.c +contrib/python-zstandard/zstd/dictBuilder/zdict.h +contrib/python-zstandard/zstd/zstd.h +hgext/fsmonitor/pywatchman/bser.c diff --git a/tests/test-check-clang-format.t b/tests/test-check-clang-format.t new file mode 100644 index 0000000000..b733336bf7 --- /dev/null +++ b/tests/test-check-clang-format.t @@ -0,0 +1,10 @@ +#require clang-format test-repo + + $ . "$TESTDIR/helpers-testrepo.sh" + + $ cd "$TESTDIR"/.. + $ for f in `testrepohg files 'set:(**.c or **.h) and not "listfile:contrib/clang-format-blacklist"'` ; do + > clang-format --style file $f > $f.formatted + > cmp $f $f.formatted || diff -u $f $f.formatted + > rm $f.formatted + > done