Add non-ninja files to goldens

Change-Id: I2ef6d73e4c46953051e8a9fca6938f236a6a6964
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/26761
Reviewed-by: Takuto Ikuta <tikuta@google.com>
diff --git a/integration_tests/simple/goldens/build.ninja.d b/integration_tests/simple/goldens/build.ninja.d
new file mode 100644
index 0000000..84b21be
--- /dev/null
+++ b/integration_tests/simple/goldens/build.ninja.d
@@ -0,0 +1 @@
+build.ninja.stamp: ../.gn ../BUILD.gn ../build/BUILD.gn ../build/BUILDCONFIG.gn ../build/toolchain/BUILD.gn ./args.gn
\ No newline at end of file
diff --git a/integration_tests/simple/goldens/build.ninja.stamp b/integration_tests/simple/goldens/build.ninja.stamp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/integration_tests/simple/goldens/build.ninja.stamp
diff --git a/integration_tests/starlark/goldens/build.ninja.d b/integration_tests/starlark/goldens/build.ninja.d
new file mode 100644
index 0000000..d66d296
--- /dev/null
+++ b/integration_tests/starlark/goldens/build.ninja.d
@@ -0,0 +1 @@
+build.ninja.stamp: ../.gn ../BUILD.gn ../build/BUILDCONFIG.gn ../build/toolchain/BUILD.gn ./args.gn
\ No newline at end of file
diff --git a/integration_tests/starlark/goldens/build.ninja.stamp b/integration_tests/starlark/goldens/build.ninja.stamp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/integration_tests/starlark/goldens/build.ninja.stamp
diff --git a/tools/compare_goldens.py b/tools/compare_goldens.py
index 070cbd1..8ad5119 100755
--- a/tools/compare_goldens.py
+++ b/tools/compare_goldens.py
@@ -22,12 +22,16 @@
     r'^(rule gn|build build.ninja.stamp.*)\n(?:[ \t]+.+\n)*', flags=re.MULTILINE
 )
 
+IGNORED_FILES = [
+  'args.gn',
+  '.gitignore'
+]
 
 def get_ninja_files(directory: Path) -> set[Path]:
   ninja_files = set()
   for root, _, files in os.walk(directory):
     for f in files:
-      if f.endswith('.ninja'):
+      if f not in IGNORED_FILES:
         rel = os.path.relpath(os.path.join(root, f), directory)
         ninja_files.add(Path(rel))
   return ninja_files
@@ -100,6 +104,7 @@
         return_code = 1
     elif f not in want_files:
       if args.update:
+        os.makedirs(want.parent, exist_ok=True)
         shutil.copy2(got, want)
       else:
         print(f'Error: Unexpected generated file: {f}', file=sys.stderr)