############################################################################
# Copyright (C) SchedMD LLC.
############################################################################
# import pytest
import re

import atf


def test_help():
    """Verify sprio --help displays the help page"""

    output = atf.run_command_output("sprio --help", fatal=True)

    assert re.search(r"sprio \[OPTIONS\]", output) is not None
    assert re.search(r"-j, --jobs", output) is not None
    assert re.search(r"-l, --long", output) is not None
    assert re.search(r"-M, --cluster", output) is not None
    assert re.search(r"-p, --partition", output) is not None
    assert re.search(r"-u, --user", output) is not None
    assert re.search(r"-w, --weights", output) is not None
