tests/test-check-clang-format.t
author Martin von Zweigbergk <martinvonz@google.com>
Fri, 24 Aug 2018 08:45:18 -0700
changeset 39318 9f097214fbf3
parent 37186 0024961aa493
permissions -rw-r--r--
index: embed nodetree in index object to avoid reference cycle Since the index has a reference to a nodetree and the nodetree has a reference back to the index, there is a reference cycle, so the index (and its nodetree) can never be freed. This patch fixes that by making "nodetree" a plan C struct that the index can embed, and also introduces a new "nodetreeObject" that is a Python type wrapping the nodetree struct. Thanks to Yuya for noticing this and for suggesting the solution. All tests passed on the first attempt once it compiled (I guess C is like Haskell in this regard?). Differential Revision: https://phab.mercurial-scm.org/D4372

#require clang-format test-repo

  $ . "$TESTDIR/helpers-testrepo.sh"

  $ cd "$TESTDIR"/..
  $ for f in `testrepohg files 'set:(**.c or **.cc or **.h) and not "listfile:contrib/clang-format-ignorelist"'` ; do
  >   clang-format --style file $f > $f.formatted
  >   cmp $f $f.formatted || diff -u $f $f.formatted
  >   rm $f.formatted
  > done