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