def METHOD_NAME(self, mock_makedirs, mock_chdir):
    """
    Test case for
    :meth:`~pythonforandroid.recipes.python3.HostPython3Recipe.build_arch`,
    where we simulate that the sources hasn't Setup.dist file, which should
    raise an exception.
    .. note:: We skip configure command because already tested at
              `test_build_arch`.
    """
    with mock.patch(
        "pythonforandroid.recipes.hostpython3.Path.exists"
    ) as mock_path_exists:
        mock_path_exists.side_effect = [
            True,  # simulate that "config.status" exists to skip configure
            False,  # "Modules/Setup.dist" shouldn't exist (3.8+ case)
            False,  # "Modules/Setup" doesn't exists...raise exception
        ]
        with self.assertRaises(BuildInterruptingException) as e:
            self.recipe.build_arch(self.arch)
    self.assertEqual(e.exception.args[0], SETUP_DIST_NOT_FIND_MESSAGE)
    mock_makedirs.assert_called()
    mock_chdir.assert_called()