blob: 8bd32eee13f47554cf8104186fcd4ee88b165f31 [file] [log] [blame]
import unittest
import tempfile
from commitlist import CommitList
class TestCommitList(unittest.TestCase):
def test_create_new(self):
with tempfile.TemporaryDirectory() as tempdir:
commit_list_path = f'{tempdir}/commitlist.csv'
commit_list = CommitList.create_new(commit_list_path, 'v1.5.0', '6000dca5df')
self.assertEqual(len(commit_list.commits), 33)
self.assertEqual(commit_list.commits[0].commit_hash, '7335f079ab')
self.assertTrue(commit_list.commits[0].title.startswith('[pt][quant] qmul and qadd'))
self.assertEqual(commit_list.commits[-1].commit_hash, '6000dca5df')
self.assertTrue(commit_list.commits[-1].title.startswith('[nomnigraph] Copy device option when customize '))
def test_read_write(self):
with tempfile.TemporaryDirectory() as tempdir:
commit_list_path = f'{tempdir}/commitlist.csv'
initial = CommitList.create_new(commit_list_path, 'v1.5.0', '7543e7e558')
initial.write_to_disk()
expected = CommitList.from_existing(commit_list_path)
expected.commits[-2].category = 'foobar'
expected.write_to_disk()
commit_list = CommitList.from_existing(commit_list_path)
for commit, expected in zip(commit_list.commits, expected.commits):
self.assertEqual(commit, expected)
def test_update_to(self):
with tempfile.TemporaryDirectory() as tempdir:
commit_list_path = f'{tempdir}/commitlist.csv'
initial = CommitList.create_new(commit_list_path, 'v1.5.0', '7543e7e558')
initial.commits[-2].category = 'foobar'
self.assertEqual(len(initial.commits), 2143)
initial.write_to_disk()
commit_list = CommitList.from_existing(commit_list_path)
commit_list.update_to('5702a28b26')
self.assertEqual(len(commit_list.commits), 2143 + 4)
self.assertEqual(commit_list.commits[-5], initial.commits[-1])
if __name__ == '__main__':
unittest.main()