diff --git a/suite/regress/test_symbol.py b/suite/regress/test_symbol.py new file mode 100755 index 0000000000000000000000000000000000000000..a95f034512becc523658590b717607498c89bc81 --- /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()