Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

キャッシュのテストに関する問題 #23

Open
ptr-yudai opened this issue Feb 15, 2024 · 0 comments
Open

キャッシュのテストに関する問題 #23

ptr-yudai opened this issue Feb 15, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@ptr-yudai
Copy link
Owner

問題

_offset_main_arena 等のいくつかのメソッドはキャッシュされている。
テストを以下のように書くと、1度目の内部の main_arena 内で _offset_main_arena がキャッシュされる。

    def test_main_arena(self):
        self.elf.base = 0
        self.assertEqual(self.elf.main_arena(), 0x21ac80)
        self.elf.base = BASE
        self.assertEqual(self.elf.main_arena(), BASE + 0x21ac80)

したがって、ベースアドレスの変更に依存して _offset_main_arena の計算結果が変わる(というバグがある)場合、2度目の呼び出しはテストとして不適切である。

解決案

キャッシュを無効化する機能を用意し、有効・無効両方でテストする。

@ptr-yudai ptr-yudai self-assigned this Feb 15, 2024
@ptr-yudai ptr-yudai added the enhancement New feature or request label Feb 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant