def METHOD_NAME(self):
    """
    Test starting/updating/stopping of progress bars.
    """
    # clear progress bar cache first, this test assumes we start with a clean slate
    easybuild.tools.output._progress_bar_cache.clear()
    # restore default configuration to show progress bars (disabled to avoid mangled test output)
    update_build_option('show_progress_bar', True)
    # stopping a progress bar that never was started results in an error
    error_pattern = "Failed to stop extensions progress bar, since it was never started"
    self.assertErrorRegex(EasyBuildError, error_pattern, stop_progress_bar, PROGRESS_BAR_EXTENSIONS)
    # updating a progress bar that never was started is silently ignored on purpose
    update_progress_bar(PROGRESS_BAR_EXTENSIONS)
    update_progress_bar(PROGRESS_BAR_EXTENSIONS, label="foo")
    update_progress_bar(PROGRESS_BAR_EXTENSIONS, progress_size=100)
    # also test normal cycle: start, update, stop
    start_progress_bar(PROGRESS_BAR_EXTENSIONS, 100)
    update_progress_bar(PROGRESS_BAR_EXTENSIONS)  # single step progress
    update_progress_bar(PROGRESS_BAR_EXTENSIONS, total=50)
    update_progress_bar(PROGRESS_BAR_EXTENSIONS, label="test123", progress_size=5)
    stop_progress_bar(PROGRESS_BAR_EXTENSIONS)