def METHOD_NAME():
    sections = ('defaults', 'blacklist', 'blacklist_exceptions', 'devices',
                'overrides', 'multipaths')
    subsections = {'blacklist': 'device', 'blacklist_exceptions': 'device',
                   'devices': 'device', 'multipaths': 'multipath'}
    for section in sections:
        data = lib.LineData(section + ' {', None, False)
        assert data.type == data.TYPE_SECTION_START
        assert data.section == section
    try:
        data = lib.LineData('not_a_section {', None, False)
        assert False
    except ValueError:
        pass
    data = lib.LineData('defaults # works even without brace', None, False)
    assert data.type == data.TYPE_SECTION_START
    assert data.section == 'defaults'
    data = lib.LineData('\t \tmultipaths { # tabs', None, False)
    assert data.type == data.TYPE_SECTION_START
    assert data.section == 'multipaths'
    data = lib.LineData('devices{ # do not need a space', None, False)
    assert data.type == data.TYPE_SECTION_START
    assert data.section == 'devices'
    for section in subsections:
        data = lib.LineData(subsections[section] + ' {', section, False)
        assert data.type == data.TYPE_SECTION_START
        assert data.section == subsections[section]
    data = lib.LineData('devices { # wrong section', 'multipath', False)
    assert data.type != data.TYPE_SECTION_START
    data = lib.LineData('devices { # already in subsection', 'device', True)
    assert data.type != data.TYPE_SECTION_START