def METHOD_NAME(self, settings):
    implicit_settings = {
        # Enable this to get proper backtraces
        #'DEBUG': True,
        # Contains just stuff that isn't required by the m.css theme itself,
        # but is needed to have the test setup working correctly
        'RELATIVE_URLS': True,
        'TIMEZONE': 'UTC',
        'READERS': {'html': None},
        'SITEURL': '.',
        'PATH': os.path.join(self.path),
        'OUTPUT_PATH': os.path.join(self.path, 'output'),
        'PAGE_PATHS': [''],
        'PAGE_SAVE_AS': '{slug}.html',
        'PAGE_URL': '{slug}.html',
        'PAGE_EXCLUDES': ['output'],
        'ARTICLE_PATHS': ['articles'], # does not exist
        # Don't render feeds, we don't want to test them all the time
        'FEED_ALL_ATOM': None,
        'CATEGORY_FEED_ATOM': None,
        'THEME': '../pelican-theme',
        'PLUGIN_PATHS': ['.'],
        'THEME_STATIC_DIR': 'static',
        'M_CSS_FILES': ['https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i',
           'static/m-dark.css'],
        'M_FINE_PRINT': None,
        'M_DISABLE_SOCIAL_META_TAGS': True,
        'DIRECT_TEMPLATES': [],
        'SLUGIFY_SOURCE': 'basename',
        'DOCUTILS_SETTINGS': {
            # Default changed to '%' in 0.18, keep the old setting to
            # have consistent output across versions
            # TODO maybe change this to '%' everywhere instead?
            'auto_id_prefix': 'id'
        }
    }
    implicit_settings.update(settings)
    settings = read_settings(path=None, override=implicit_settings)
    pelican = Pelican(settings=settings)
    pelican.run()