Testing Root Directory Removal Safety Controls in TheFuck
This test suite validates the functionality of the rm_root rule in TheFuck, which handles dangerous root directory removal commands. It ensures proper handling of the –no-preserve-root flag when attempting to delete the root directory.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
nvbn/thefuck
tests/rules/test_rm_root.py
import pytest
from thefuck.rules.rm_root import match, get_new_command
from thefuck.types import Command
def test_match():
assert match(Command('rm -rf /', 'add --no-preserve-root'))
@pytest.mark.parametrize('command', [
Command('ls', 'add --no-preserve-root'),
Command('rm --no-preserve-root /', 'add --no-preserve-root'),
Command('rm -rf /', '')])
def test_not_match(command):
assert not match(command)
def test_get_new_command():
assert (get_new_command(Command('rm -rf /', ''))
== 'rm -rf / --no-preserve-root')