| 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() |