d58ca0f
From 8ab822a8e5a05607a6afc6a5d860a8b8a76bca23 Mon Sep 17 00:00:00 2001
d58ca0f
From: Xavier Claessens <xavier.claessens@collabora.com>
d58ca0f
Date: Tue, 11 May 2021 09:18:47 -0400
d58ca0f
Subject: [PATCH] gnome: Fix gtkdoc generation
d58ca0f
d58ca0f
install_scripts used to replace @BUILD_ROOT@ and @SOURCE_ROOT@ but it
d58ca0f
was not documented and got removed in Meson 0.58.0. gnome.gtkdoc() was
d58ca0f
relying on that behaviour, but it has always been broken in the case the
d58ca0f
source or build directory contains spaces.
d58ca0f
d58ca0f
Fix this by changing get_include_args() to substitue paths directly
d58ca0f
which will then get escaped correctly.
d58ca0f
d58ca0f
Add a unit test that builds GObject documentation which is where this
d58ca0f
issue has been spotted.
d58ca0f
d58ca0f
Fixes: #8744
d58ca0f
---
d58ca0f
 mesonbuild/modules/__init__.py                | 54 +++++++++----------
d58ca0f
 mesonbuild/modules/gnome.py                   | 15 +++---
d58ca0f
 mesonbuild/modules/hotdoc.py                  |  3 +-
d58ca0f
 mesonbuild/modules/qt.py                      |  4 +-
d58ca0f
 mesonbuild/modules/windows.py                 |  5 +-
d58ca0f
 .../10 gtk-doc/doc/foobar1/foobar-docs.sgml   |  2 +-
d58ca0f
 .../doc/foobar1/foobar-sections.txt           | 16 ++++++
d58ca0f
 .../10 gtk-doc/doc/foobar1/foobar.types       |  4 ++
d58ca0f
 .../10 gtk-doc/doc/foobar1/meson.build        |  6 ++-
d58ca0f
 test cases/frameworks/10 gtk-doc/foo.c        | 30 +++++++++++
d58ca0f
 .../frameworks/10 gtk-doc/include/foo.h       | 18 +++++++
d58ca0f
 test cases/frameworks/10 gtk-doc/meson.build  | 12 +++++
d58ca0f
 test cases/frameworks/10 gtk-doc/test.json    |  4 +-
d58ca0f
 13 files changed, 127 insertions(+), 46 deletions(-)
d58ca0f
 create mode 100644 test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt
d58ca0f
 create mode 100644 test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types
d58ca0f
 create mode 100644 test cases/frameworks/10 gtk-doc/foo.c
d58ca0f
d58ca0f
diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py
d58ca0f
index ddb5e3e6cf3..c0970294c34 100644
d58ca0f
--- a/mesonbuild/modules/__init__.py
d58ca0f
+++ b/mesonbuild/modules/__init__.py
d58ca0f
@@ -56,6 +56,33 @@ def __init__(self, interpreter: 'Interpreter') -> None:
d58ca0f
         self.target_machine = interpreter.builtin['target_machine'].held_object
d58ca0f
         self.current_node = interpreter.current_node
d58ca0f
 
d58ca0f
+    def get_include_args(self, include_dirs, prefix='-I'):
d58ca0f
+        if not include_dirs:
d58ca0f
+            return []
d58ca0f
+
d58ca0f
+        srcdir = self.environment.get_source_dir()
d58ca0f
+        builddir = self.environment.get_build_dir()
d58ca0f
+
d58ca0f
+        dirs_str = []
d58ca0f
+        for dirs in unholder(include_dirs):
d58ca0f
+            if isinstance(dirs, str):
d58ca0f
+                dirs_str += [f'{prefix}{dirs}']
d58ca0f
+                continue
d58ca0f
+
d58ca0f
+            # Should be build.IncludeDirs object.
d58ca0f
+            basedir = dirs.get_curdir()
d58ca0f
+            for d in dirs.get_incdirs():
d58ca0f
+                expdir = os.path.join(basedir, d)
d58ca0f
+                srctreedir = os.path.join(srcdir, expdir)
d58ca0f
+                buildtreedir = os.path.join(builddir, expdir)
d58ca0f
+                dirs_str += [f'{prefix}{buildtreedir}',
d58ca0f
+                             f'{prefix}{srctreedir}']
d58ca0f
+            for d in dirs.get_extra_build_dirs():
d58ca0f
+                dirs_str += [f'{prefix}{d}']
d58ca0f
+
d58ca0f
+        return dirs_str
d58ca0f
+
d58ca0f
+
d58ca0f
 class ModuleObject:
d58ca0f
     """Base class for all objects returned by modules
d58ca0f
     """
d58ca0f
@@ -71,33 +98,6 @@ def __init__(self, interpreter: T.Optional['Interpreter'] = None) -> None:
d58ca0f
 class ExtensionModule(ModuleObject):
d58ca0f
     pass
d58ca0f
 
d58ca0f
-def get_include_args(include_dirs, prefix='-I'):
d58ca0f
-    '''
d58ca0f
-    Expand include arguments to refer to the source and build dirs
d58ca0f
-    by using @SOURCE_ROOT@ and @BUILD_ROOT@ for later substitution
d58ca0f
-    '''
d58ca0f
-    if not include_dirs:
d58ca0f
-        return []
d58ca0f
-
d58ca0f
-    dirs_str = []
d58ca0f
-    for dirs in unholder(include_dirs):
d58ca0f
-        if isinstance(dirs, str):
d58ca0f
-            dirs_str += [f'{prefix}{dirs}']
d58ca0f
-            continue
d58ca0f
-
d58ca0f
-        # Should be build.IncludeDirs object.
d58ca0f
-        basedir = dirs.get_curdir()
d58ca0f
-        for d in dirs.get_incdirs():
d58ca0f
-            expdir = os.path.join(basedir, d)
d58ca0f
-            srctreedir = os.path.join('@SOURCE_ROOT@', expdir)
d58ca0f
-            buildtreedir = os.path.join('@BUILD_ROOT@', expdir)
d58ca0f
-            dirs_str += [f'{prefix}{buildtreedir}',
d58ca0f
-                         f'{prefix}{srctreedir}']
d58ca0f
-        for d in dirs.get_extra_build_dirs():
d58ca0f
-            dirs_str += [f'{prefix}{d}']
d58ca0f
-
d58ca0f
-    return dirs_str
d58ca0f
-
d58ca0f
 def is_module_library(fname):
d58ca0f
     '''
d58ca0f
     Check if the file is a library-like file generated by a module-specific
d58ca0f
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
d58ca0f
index d0b053d4f76..c91cda66f8b 100644
d58ca0f
--- a/mesonbuild/modules/gnome.py
d58ca0f
+++ b/mesonbuild/modules/gnome.py
d58ca0f
@@ -26,7 +26,6 @@
d58ca0f
 from .. import mesonlib
d58ca0f
 from .. import interpreter
d58ca0f
 from . import GResourceTarget, GResourceHeaderTarget, GirTarget, TypelibTarget, VapiTarget
d58ca0f
-from . import get_include_args
d58ca0f
 from . import ExtensionModule
d58ca0f
 from . import ModuleReturnValue
d58ca0f
 from ..mesonlib import (
d58ca0f
@@ -394,7 +393,7 @@ def _get_dependencies_flags(self, deps, state, depends, include_rpath=False,
d58ca0f
                     gi_includes.update([girdir])
d58ca0f
             if isinstance(dep, InternalDependency):
d58ca0f
                 cflags.update(dep.get_compile_args())
d58ca0f
-                cflags.update(get_include_args(dep.include_directories))
d58ca0f
+                cflags.update(state.get_include_args(dep.include_directories))
d58ca0f
                 for lib in unholder(dep.libraries):
d58ca0f
                     if isinstance(lib, build.SharedLibrary):
d58ca0f
                         internal_ldflags.update(self._get_link_args(state, lib, depends, include_rpath))
d58ca0f
@@ -443,7 +442,7 @@ def _get_dependencies_flags(self, deps, state, depends, include_rpath=False,
d58ca0f
                     else:
d58ca0f
                         external_ldflags.update([lib])
d58ca0f
             elif isinstance(dep, (build.StaticLibrary, build.SharedLibrary)):
d58ca0f
-                cflags.update(get_include_args(dep.get_include_dirs()))
d58ca0f
+                cflags.update(state.get_include_args(dep.get_include_dirs()))
d58ca0f
                 depends.append(dep)
d58ca0f
             else:
d58ca0f
                 mlog.log(f'dependency {dep!r} not handled to build gir files')
d58ca0f
@@ -853,7 +852,7 @@ def generate_gir(self, state, args, kwargs):
d58ca0f
         scan_command += self._scan_header(kwargs)
d58ca0f
         scan_command += self._scan_extra_args(kwargs)
d58ca0f
         scan_command += ['-I' + srcdir, '-I' + builddir]
d58ca0f
-        scan_command += get_include_args(girtargets_inc_dirs)
d58ca0f
+        scan_command += state.get_include_args(girtargets_inc_dirs)
d58ca0f
         scan_command += ['--filelist=' + self._make_gir_filelist(state, srcdir, ns, nsversion, girtargets, libsources)]
d58ca0f
         scan_command += self._scan_link_withs(state, depends, kwargs)
d58ca0f
         scan_command += self._scan_include(state, depends, gir_inc_dirs, kwargs)
d58ca0f
@@ -863,8 +862,8 @@ def generate_gir(self, state, args, kwargs):
d58ca0f
         scan_command += ['--cflags-begin']
d58ca0f
         scan_command += cflags
d58ca0f
         scan_command += ['--cflags-end']
d58ca0f
-        scan_command += get_include_args(inc_dirs)
d58ca0f
-        scan_command += get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=')
d58ca0f
+        scan_command += state.get_include_args(inc_dirs)
d58ca0f
+        scan_command += state.get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=')
d58ca0f
         scan_command += list(internal_ldflags)
d58ca0f
         scan_command += self._scan_gir_targets(state, girtargets)
d58ca0f
         scan_command += self._scan_langs(state, [lc[0] for lc in langs_compilers])
d58ca0f
@@ -886,7 +885,7 @@ def generate_gir(self, state, args, kwargs):
d58ca0f
 
d58ca0f
         typelib_output = f'{ns}-{nsversion}.typelib'
d58ca0f
         typelib_cmd = [gicompiler, scan_target, '--output', '@OUTPUT@']
d58ca0f
-        typelib_cmd += get_include_args(gir_inc_dirs, prefix='--includedir=')
d58ca0f
+        typelib_cmd += state.get_include_args(gir_inc_dirs, prefix='--includedir=')
d58ca0f
 
d58ca0f
         for incdir in typelib_includes:
d58ca0f
             typelib_cmd += ["--includedir=" + incdir]
d58ca0f
@@ -1127,7 +1126,7 @@ def _get_build_args(self, kwargs, state, depends):
d58ca0f
                     'Gir include dirs should be include_directories().')
d58ca0f
 
d58ca0f
         cflags.extend(deps_cflags)
d58ca0f
-        cflags.extend(get_include_args(inc_dirs))
d58ca0f
+        cflags.extend(state.get_include_args(inc_dirs))
d58ca0f
         ldflags = []
d58ca0f
         ldflags.extend(internal_ldflags)
d58ca0f
         ldflags.extend(external_ldflags)
d58ca0f
diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py
d58ca0f
index bf8cd229c0d..89a5d938ea7 100644
d58ca0f
--- a/mesonbuild/modules/hotdoc.py
d58ca0f
+++ b/mesonbuild/modules/hotdoc.py
d58ca0f
@@ -22,7 +22,6 @@
d58ca0f
 from mesonbuild.coredata import MesonException
d58ca0f
 from . import ModuleReturnValue
d58ca0f
 from . import ExtensionModule
d58ca0f
-from . import get_include_args
d58ca0f
 from ..dependencies import Dependency, InternalDependency
d58ca0f
 from ..interpreterbase import FeatureNew, InvalidArguments, noPosargs, noKwargs
d58ca0f
 from ..interpreter import CustomTargetHolder
d58ca0f
@@ -191,7 +190,7 @@ def process_dependencies(self, deps):
d58ca0f
         for dep in mesonlib.listify(ensure_list(deps)):
d58ca0f
             dep = getattr(dep, "held_object", dep)
d58ca0f
             if isinstance(dep, InternalDependency):
d58ca0f
-                inc_args = get_include_args(dep.include_directories)
d58ca0f
+                inc_args = self.state.get_include_args(dep.include_directories)
d58ca0f
                 cflags.update([self.replace_dirs_in_string(x)
d58ca0f
                                for x in inc_args])
d58ca0f
                 cflags.update(self.process_dependencies(dep.libraries))
d58ca0f
diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py
d58ca0f
index b7389bd59af..1bf0099d1df 100644
d58ca0f
--- a/mesonbuild/modules/qt.py
d58ca0f
+++ b/mesonbuild/modules/qt.py
d58ca0f
@@ -23,7 +23,7 @@
d58ca0f
 from ..mesonlib import MesonException, extract_as_list, File, unholder, version_compare
d58ca0f
 from ..dependencies import Dependency
d58ca0f
 import xml.etree.ElementTree as ET
d58ca0f
-from . import ModuleReturnValue, get_include_args, ExtensionModule
d58ca0f
+from . import ModuleReturnValue, ExtensionModule
d58ca0f
 from ..interpreterbase import noPosargs, permittedKwargs, FeatureNew, FeatureNewKwargs
d58ca0f
 from ..interpreter import extract_required_kwarg
d58ca0f
 from ..programs import NonExistingExternalProgram
d58ca0f
@@ -239,7 +239,7 @@ def preprocess(self, state, args, kwargs):
d58ca0f
             ui_gen = build.Generator([self.uic], ui_kwargs)
d58ca0f
             ui_output = ui_gen.process_files(f'Qt{self.qt_version} ui', ui_files, state)
d58ca0f
             sources.append(ui_output)
d58ca0f
-        inc = get_include_args(include_dirs=include_directories)
d58ca0f
+        inc = state.get_include_args(include_dirs=include_directories)
d58ca0f
         compile_args = []
d58ca0f
         for dep in unholder(dependencies):
d58ca0f
             if isinstance(dep, Dependency):
d58ca0f
diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py
d58ca0f
index d7a86380885..c4fdc196681 100644
d58ca0f
--- a/mesonbuild/modules/windows.py
d58ca0f
+++ b/mesonbuild/modules/windows.py
d58ca0f
@@ -19,7 +19,6 @@
d58ca0f
 from .. import mlog
d58ca0f
 from .. import mesonlib, build
d58ca0f
 from ..mesonlib import MachineChoice, MesonException, extract_as_list, unholder
d58ca0f
-from . import get_include_args
d58ca0f
 from . import ModuleReturnValue
d58ca0f
 from . import ExtensionModule
d58ca0f
 from ..interpreter import CustomTargetHolder
d58ca0f
@@ -83,12 +82,12 @@ def compile_resources(self, state, args, kwargs):
d58ca0f
         wrc_depends = extract_as_list(kwargs, 'depends', pop = True)
d58ca0f
         for d in wrc_depends:
d58ca0f
             if isinstance(d, CustomTargetHolder):
d58ca0f
-                extra_args += get_include_args([d.outdir_include()])
d58ca0f
+                extra_args += state.get_include_args([d.outdir_include()])
d58ca0f
         inc_dirs = extract_as_list(kwargs, 'include_directories', pop = True)
d58ca0f
         for incd in inc_dirs:
d58ca0f
             if not isinstance(incd.held_object, (str, build.IncludeDirs)):
d58ca0f
                 raise MesonException('Resource include dirs should be include_directories().')
d58ca0f
-        extra_args += get_include_args(inc_dirs)
d58ca0f
+        extra_args += state.get_include_args(inc_dirs)
d58ca0f
 
d58ca0f
         rescomp, rescomp_type = self._find_resource_compiler(state)
d58ca0f
         if rescomp_type == ResourceCompilerType.rc:
d58ca0f
diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml
d58ca0f
index 95f73efdf45..6ccd087dc18 100644
d58ca0f
--- a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml	
d58ca0f
+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml	
d58ca0f
@@ -35,7 +35,7 @@
d58ca0f
     </partintro>
d58ca0f
     <xi:include href="xml/foo.xml"/>
d58ca0f
     <xi:include href="../../include/bar.xml"/>
d58ca0f
-    <xi:include href="xml/foo-version.xml"/>
d58ca0f
+    <xi:include href="xml/version.xml"/>
d58ca0f
   </reference>
d58ca0f
 
d58ca0f
 </book>
d58ca0f
diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt
d58ca0f
new file mode 100644
d58ca0f
index 00000000000..d14c8dab010
d58ca0f
--- /dev/null
d58ca0f
+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt	
d58ca0f
@@ -0,0 +1,16 @@
d58ca0f
+<SECTION>
d58ca0f
+<FILE>foo</FILE>
d58ca0f
+<TITLE>FooObj</TITLE>
d58ca0f
+FooObj
d58ca0f
+FooObjClass
d58ca0f
+foo_do_something
d58ca0f
+</SECTION>
d58ca0f
+
d58ca0f
+<SECTION>
d58ca0f
+<FILE>version</FILE>
d58ca0f
+<TITLE>version</TITLE>
d58ca0f
+FOO_MAJOR_VERSION
d58ca0f
+FOO_MINOR_VERSION
d58ca0f
+FOO_MICRO_VERSION
d58ca0f
+</SECTION>
d58ca0f
+
d58ca0f
diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types
d58ca0f
new file mode 100644
d58ca0f
index 00000000000..0a9c046f3ed
d58ca0f
--- /dev/null
d58ca0f
+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types	
d58ca0f
@@ -0,0 +1,4 @@
d58ca0f
+% This include is useless it's a regression test for https://github.com/mesonbuild/meson/issues/8744
d58ca0f
+#include <foo.h>
d58ca0f
+
d58ca0f
+foo_obj_get_type
d58ca0f
diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build
d58ca0f
index 149c6e956aa..f4b3724dbae 100644
d58ca0f
--- a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build	
d58ca0f
+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build	
d58ca0f
@@ -1,5 +1,9 @@
d58ca0f
 gnome.gtkdoc('foobar',
d58ca0f
-  src_dir : inc,
d58ca0f
+  src_dir : [inc, '.'],
d58ca0f
   main_sgml : 'foobar-docs.sgml',
d58ca0f
   content_files : [docbook, version_xml],
d58ca0f
+  dependencies: foo_dep,
d58ca0f
+  # Manually written types file for regression test:
d58ca0f
+  # https://github.com/mesonbuild/meson/issues/8744
d58ca0f
+  gobject_typesfile: 'foobar.types',
d58ca0f
   install : true)
d58ca0f
diff --git a/test cases/frameworks/10 gtk-doc/foo.c b/test cases/frameworks/10 gtk-doc/foo.c
d58ca0f
new file mode 100644
d58ca0f
index 00000000000..36c0639ec08
d58ca0f
--- /dev/null
d58ca0f
+++ b/test cases/frameworks/10 gtk-doc/foo.c	
d58ca0f
@@ -0,0 +1,30 @@
d58ca0f
+#include <foo.h>
d58ca0f
+
d58ca0f
+
d58ca0f
+struct _FooObj {
d58ca0f
+  GObject parent;
d58ca0f
+  int dummy;
d58ca0f
+};
d58ca0f
+
d58ca0f
+G_DEFINE_TYPE(FooObj, foo_obj, G_TYPE_OBJECT)
d58ca0f
+
d58ca0f
+static void foo_obj_init (FooObj *self)
d58ca0f
+{
d58ca0f
+}
d58ca0f
+
d58ca0f
+static void foo_obj_class_init (FooObjClass *klass)
d58ca0f
+{
d58ca0f
+}
d58ca0f
+
d58ca0f
+/**
d58ca0f
+ * foo_do_something:
d58ca0f
+ * @self: self
d58ca0f
+ *
d58ca0f
+ * Useless function.
d58ca0f
+ *
d58ca0f
+ * Returns: 0.
d58ca0f
+ */
d58ca0f
+int foo_do_something(FooObj *self)
d58ca0f
+{
d58ca0f
+  return 0;
d58ca0f
+}
d58ca0f
diff --git a/test cases/frameworks/10 gtk-doc/include/foo.h b/test cases/frameworks/10 gtk-doc/include/foo.h
d58ca0f
index 7b8946b6a86..510f3d1ecb5 100644
d58ca0f
--- a/test cases/frameworks/10 gtk-doc/include/foo.h	
d58ca0f
+++ b/test cases/frameworks/10 gtk-doc/include/foo.h	
d58ca0f
@@ -1,5 +1,7 @@
d58ca0f
 #pragma once
d58ca0f
 
d58ca0f
+#include <glib-object.h>
d58ca0f
+
d58ca0f
 /**
d58ca0f
  * FooIndecision:
d58ca0f
  * @FOO_MAYBE:     Something maybe
d58ca0f
@@ -13,3 +15,19 @@ typedef enum {
d58ca0f
     FOO_POSSIBLY,
d58ca0f
 } FooIndecision;
d58ca0f
 
d58ca0f
+/**
d58ca0f
+ * FooObjClass:
d58ca0f
+ *
d58ca0f
+ * The class
d58ca0f
+ */
d58ca0f
+
d58ca0f
+/**
d58ca0f
+ * FooObj:
d58ca0f
+ *
d58ca0f
+ * The instance
d58ca0f
+ */
d58ca0f
+
d58ca0f
+#define FOO_TYPE_OBJ foo_obj_get_type()
d58ca0f
+G_DECLARE_FINAL_TYPE(FooObj, foo_obj, FOO, OBJ, GObject)
d58ca0f
+
d58ca0f
+int foo_do_something(FooObj *self);
d58ca0f
diff --git a/test cases/frameworks/10 gtk-doc/meson.build b/test cases/frameworks/10 gtk-doc/meson.build
d58ca0f
index 5c22ad0afa4..292980fafa7 100644
d58ca0f
--- a/test cases/frameworks/10 gtk-doc/meson.build	
d58ca0f
+++ b/test cases/frameworks/10 gtk-doc/meson.build	
d58ca0f
@@ -24,4 +24,16 @@ if gtkdoc_ver.version_compare('<1.26')
d58ca0f
   error('MESON_SKIP_TEST gtk-doc test requires gtkdoc >= 1.26.')
d58ca0f
 endif
d58ca0f
 
d58ca0f
+gobject = dependency('gobject-2.0')
d58ca0f
+
d58ca0f
+libfoo = library('foo', 'foo.c',
d58ca0f
+  include_directories: inc,
d58ca0f
+  dependencies: gobject,
d58ca0f
+)
d58ca0f
+
d58ca0f
+foo_dep = declare_dependency(
d58ca0f
+  link_with: libfoo,
d58ca0f
+  include_directories: inc,
d58ca0f
+)
d58ca0f
+
d58ca0f
 subdir('doc')
d58ca0f
diff --git a/test cases/frameworks/10 gtk-doc/test.json b/test cases/frameworks/10 gtk-doc/test.json
d58ca0f
index c44126cc741..03ad0595817 100644
d58ca0f
--- a/test cases/frameworks/10 gtk-doc/test.json	
d58ca0f
+++ b/test cases/frameworks/10 gtk-doc/test.json	
d58ca0f
@@ -4,8 +4,8 @@
d58ca0f
     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/BAR.html"},
d58ca0f
     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.devhelp2"},
d58ca0f
     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.html"},
d58ca0f
-    {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo.html"},
d58ca0f
-    {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo-version.html"},
d58ca0f
+    {"type": "file", "file": "usr/share/gtk-doc/html/foobar/FooObj.html"},
d58ca0f
+    {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foo-version.html"},
d58ca0f
     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/home.png"},
d58ca0f
     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/index.html"},
d58ca0f
     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/left.png"},