Exemplo n.º 1
0
def test_main_when_buggy(capsys, monkeypatch):
    from anaconda_project.internal.cli.main import main

    def mock_is_interactive():
        return True

    monkeypatch.setattr(
        'anaconda_project.internal.cli.console_utils.stdin_is_interactive',
        mock_is_interactive)

    def mock_main():
        raise AssertionError("It did not work")

    monkeypatch.setattr(
        'anaconda_project.internal.cli.main._main_without_bug_handler',
        mock_main)
    monkeypatch.setattr("sys.argv", ['anaconda-project'])

    result = main()
    assert result == 1
    out, err = capsys.readouterr()

    assert '' == out
    assert err.startswith(
        """An unexpected error occurred, most likely a bug in anaconda-project.
    (The error was: AssertionError: It did not work)
Details about the error were saved to """)
    filename = err.split()[-1]
    assert filename.endswith(".txt")
    assert os.path.basename(filename).startswith(
        "bug_details_anaconda-project_")
    assert os.path.isfile(filename)

    os.remove(filename)
Exemplo n.º 2
0
def test_main_help_via_entry_point(capsys, monkeypatch):
    from anaconda_project.internal.cli.main import main

    monkeypatch.setattr("sys.argv", ['project', '--help'])

    code = main()

    out, err = capsys.readouterr()

    assert "" == err
    assert expected_usage_msg_without_activate == out

    assert 0 == code

    # undo this side effect
    anaconda_project._beta_test_mode = False
Exemplo n.º 3
0
def main():
    """anaconda-project command line tool Conda-style entry point.

    Conda expects us to take no args and return an exit code.
    """
    return cli_main.main()