From ca936fc9b957255c075acc532ccf71c7e927f6cb Mon Sep 17 00:00:00 2001 From: Nguyen Anh Quynh <aquynh@gmail.com> Date: Wed, 18 May 2016 02:14:44 +0800 Subject: [PATCH] regress: add test_symbol.py --- suite/regress/test_symbol.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 suite/regress/test_symbol.py diff --git a/suite/regress/test_symbol.py b/suite/regress/test_symbol.py new file mode 100755 index 0000000..a95f034 --- /dev/null +++ b/suite/regress/test_symbol.py @@ -0,0 +1,35 @@ +#!/usr/bin/python + +# Test symbols redefined/missing + +# Github issue: #61 +# Author: Nguyen Anh Quynh + +from keystone import * + +import regress + +class TestSymbols(regress.RegressTest): + def runTest(self): + # Initialize Keystone engine + ks = Ks(KS_ARCH_X86, KS_MODE_32) + + try: + encoding, count = ks.asm(b"_label:; nop; _label:") + except KsError as e: + if e.errno == KS_ERR_ASM_SYMBOL_REDEFINED: + print("Got error KS_ERR_ASM_SYMBOL_REDEFINED as expected") + else: + self.assertFalse(1, "ERROR: %s" % e) + + try: + encoding, count = ks.asm(b"mov eax, eflags") + except KsError as e: + if e.errno == KS_ERR_ASM_SYMBOL_MISSING: + print("Got error KS_ERR_ASM_SYMBOL_MISSING as expected") + else: + self.assertFalse(1, "ERROR: %s" % e) + + +if __name__ == '__main__': + regress.main() -- GitLab