blob: adef14e20f9701ced18f68ed5b84241756efcb7c [file] [log] [blame]
import tempfile
import unittest
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, "7335f079abb")
self.assertTrue(
commit_list.commits[0].title.startswith("[pt][quant] qmul and qadd")
)
self.assertEqual(commit_list.commits[-1].commit_hash, "6000dca5df6")
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_commit in zip(commit_list.commits, expected.commits):
self.assertEqual(commit, expected_commit)
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()