# Path: dtformats/rp_change_log.py
# class ChangeLogEntry(object):
# class RestorePointChangeLogFile(data_format.BinaryDataFile):
#   def __init__(self):
#   def __init__(self, debug=False, output_writer=None):
#   def _DebugPrintChangeLogEntryRecord(self, change_log_entry_record):
#   def _DebugPrintFileHeader(self, file_header):
#   def _DebugPrintRecordHeader(self, record_header):
#   def _ReadChangeLogEntries(self, file_object):
#   def _ReadChangeLogEntry(self, file_object):
#   def _ReadFileHeader(self, file_object):
#   def _ReadRecord(self, record_data, record_data_offset):
#   def _ReadVolumePath(self, record_data, volume_path_offset):
#   def ReadFileObject(self, file_object):
#   _FABRIC = data_format.BinaryDataFile.ReadDefinitionFile('rp_change_log.yaml')
#   _RECORD_SIGNATURE = 0xabcdef12
#   LOG_ENTRY_FLAGS = {
#       0x00000001: 'CHANGE_LOG_ENTRYFLAGS_TEMPPATH',
#       0x00000002: 'CHANGE_LOG_ENTRYFLAGS_SECONDPATH',
#       0x00000004: 'CHANGE_LOG_ENTRYFLAGS_ACLINFO',
#       0x00000008: 'CHANGE_LOG_ENTRYFLAGS_DEBUGINFO',
#       0x00000010: 'CHANGE_LOG_ENTRYFLAGS_SHORTNAME',
#   }
#   LOG_ENTRY_TYPES = {
#       0x00000001: 'CHANGE_LOG_ENTRYTYPES_STREAMCHANGE',
#       0x00000002: 'CHANGE_LOG_ENTRYTYPES_ACLCHANGE',
#       0x00000004: 'CHANGE_LOG_ENTRYTYPES_ATTRCHANGE',
#       0x00000008: 'CHANGE_LOG_ENTRYTYPES_STREAMOVERWRITE',
#       0x00000010: 'CHANGE_LOG_ENTRYTYPES_FILEDELETE',
#       0x00000020: 'CHANGE_LOG_ENTRYTYPES_FILECREATE',
#       0x00000040: 'CHANGE_LOG_ENTRYTYPES_FILERENAME',
#       0x00000080: 'CHANGE_LOG_ENTRYTYPES_DIRCREATE',
#       0x00000100: 'CHANGE_LOG_ENTRYTYPES_DIRRENAME',
#       0x00000200: 'CHANGE_LOG_ENTRYTYPES_DIRDELETE',
#       0x00000400: 'CHANGE_LOG_ENTRYTYPES_MOUNTCREATE',
#       0x00000800: 'CHANGE_LOG_ENTRYTYPES_MOUNTDELETE',
#       0x00001000: 'CHANGE_LOG_ENTRYTYPES_VOLUMEERROR',
#       0x00002000: 'CHANGE_LOG_ENTRYTYPES_STREAMCREATE',
#       0x00010000: 'CHANGE_LOG_ENTRYTYPES_NOOPTIMIZE',
#       0x00020000: 'CHANGE_LOG_ENTRYTYPES_ISDIR',
#       0x00040000: 'CHANGE_LOG_ENTRYTYPES_ISNOTDIR',
#       0x00080000: 'CHANGE_LOG_ENTRYTYPES_SIMULATEDELETE',
#       0x00100000: 'CHANGE_LOG_ENTRYTYPES_INPRECREATE',
#       0x00200000: 'CHANGE_LOG_ENTRYTYPES_OPENBYID',
#   }
# 
# Path: tests/test_lib.py
# class BaseTestCase(unittest.TestCase):
# class TestOutputWriter(output_writers.OutputWriter):
#   _TEST_DATA_PATH = os.path.join(os.getcwd(), 'test_data')
#   def _GetTestFilePath(self, path_segments):
#   def _SkipIfPathNotExists(self, path):
#   def __init__(self):
#   def Close(self):
#   def Open(self):
#   def WriteText(self, text):


import unittest
from dtformats import rp_change_log
from tests import test_lib
        entry_type=2,
        file_attribute_flags=3,
        process_name_size=4,
        record_size=5,
        record_type=6,
        sequence_number=7,
        signature=8,
        unknown1=9,
        unknown2=10)

    test_file._DebugPrintChangeLogEntryRecord(change_log_entry_record)

  def testDebugPrintFileHeader(self):
    """Tests the _DebugPrintFileHeader function."""
    output_writer = test_lib.TestOutputWriter()
    test_file = rp_change_log.RestorePointChangeLogFile(
        output_writer=output_writer)

    data_type_map = test_file._GetDataTypeMap('rp_change_log_file_header')

    file_header = data_type_map.CreateStructureValues(
        format_version=1,
        record_size=2,
        record_type=3,
        signature=4)

    test_file._DebugPrintFileHeader(file_header)

  def testDebugPrintRecordHeader(self):
    """Tests the _DebugPrintRecordHeader function."""

# Path: dtformats/rp_change_log.py
# class ChangeLogEntry(object):
# class RestorePointChangeLogFile(data_format.BinaryDataFile):
#   def __init__(self):
#   def __init__(self, debug=False, output_writer=None):
#   def _DebugPrintChangeLogEntryRecord(self, change_log_entry_record):
#   def _DebugPrintFileHeader(self, file_header):
#   def _DebugPrintRecordHeader(self, record_header):
#   def _ReadChangeLogEntries(self, file_object):
#   def _ReadChangeLogEntry(self, file_object):
#   def _ReadFileHeader(self, file_object):
#   def _ReadRecord(self, record_data, record_data_offset):
#   def _ReadVolumePath(self, record_data, volume_path_offset):
#   def ReadFileObject(self, file_object):
#   _FABRIC = data_format.BinaryDataFile.ReadDefinitionFile('rp_change_log.yaml')
#   _RECORD_SIGNATURE = 0xabcdef12
#   LOG_ENTRY_FLAGS = {
#       0x00000001: 'CHANGE_LOG_ENTRYFLAGS_TEMPPATH',
#       0x00000002: 'CHANGE_LOG_ENTRYFLAGS_SECONDPATH',
#       0x00000004: 'CHANGE_LOG_ENTRYFLAGS_ACLINFO',
#       0x00000008: 'CHANGE_LOG_ENTRYFLAGS_DEBUGINFO',
#       0x00000010: 'CHANGE_LOG_ENTRYFLAGS_SHORTNAME',
#   }
#   LOG_ENTRY_TYPES = {
#       0x00000001: 'CHANGE_LOG_ENTRYTYPES_STREAMCHANGE',
#       0x00000002: 'CHANGE_LOG_ENTRYTYPES_ACLCHANGE',
#       0x00000004: 'CHANGE_LOG_ENTRYTYPES_ATTRCHANGE',
#       0x00000008: 'CHANGE_LOG_ENTRYTYPES_STREAMOVERWRITE',
#       0x00000010: 'CHANGE_LOG_ENTRYTYPES_FILEDELETE',
#       0x00000020: 'CHANGE_LOG_ENTRYTYPES_FILECREATE',
#       0x00000040: 'CHANGE_LOG_ENTRYTYPES_FILERENAME',
#       0x00000080: 'CHANGE_LOG_ENTRYTYPES_DIRCREATE',
#       0x00000100: 'CHANGE_LOG_ENTRYTYPES_DIRRENAME',
#       0x00000200: 'CHANGE_LOG_ENTRYTYPES_DIRDELETE',
#       0x00000400: 'CHANGE_LOG_ENTRYTYPES_MOUNTCREATE',
#       0x00000800: 'CHANGE_LOG_ENTRYTYPES_MOUNTDELETE',
#       0x00001000: 'CHANGE_LOG_ENTRYTYPES_VOLUMEERROR',
#       0x00002000: 'CHANGE_LOG_ENTRYTYPES_STREAMCREATE',
#       0x00010000: 'CHANGE_LOG_ENTRYTYPES_NOOPTIMIZE',
#       0x00020000: 'CHANGE_LOG_ENTRYTYPES_ISDIR',
#       0x00040000: 'CHANGE_LOG_ENTRYTYPES_ISNOTDIR',
#       0x00080000: 'CHANGE_LOG_ENTRYTYPES_SIMULATEDELETE',
#       0x00100000: 'CHANGE_LOG_ENTRYTYPES_INPRECREATE',
#       0x00200000: 'CHANGE_LOG_ENTRYTYPES_OPENBYID',
#   }
# 
# Path: tests/test_lib.py
# class BaseTestCase(unittest.TestCase):
# class TestOutputWriter(output_writers.OutputWriter):
#   _TEST_DATA_PATH = os.path.join(os.getcwd(), 'test_data')
#   def _GetTestFilePath(self, path_segments):
#   def _SkipIfPathNotExists(self, path):
#   def __init__(self):
#   def Close(self):
#   def Open(self):
#   def WriteText(self, text):


# Path: tests/rp_change_log.py
import unittest
from dtformats import rp_change_log
from tests import test_lib

        entry_type=2,
        file_attribute_flags=3,
        process_name_size=4,
        record_size=5,
        record_type=6,
        sequence_number=7,
        signature=8,
        unknown1=9,
        unknown2=10)

    test_file._DebugPrintChangeLogEntryRecord(change_log_entry_record)

  def testDebugPrintFileHeader(self):
    """Tests the _DebugPrintFileHeader function."""
    output_writer = test_lib.TestOutputWriter()
    test_file = rp_change_log.RestorePointChangeLogFile(
        output_writer=output_writer)

    data_type_map = test_file._GetDataTypeMap('rp_change_log_file_header')

    file_header = data_type_map.CreateStructureValues(
        format_version=1,
        record_size=2,
        record_type=3,
        signature=4)

    test_file._DebugPrintFileHeader(file_header)

  def testDebugPrintRecordHeader(self):
    """Tests the _DebugPrintRecordHeader function."""

    output_writer = test_lib.TestOutputWriter()