"GDB symtab object", /*tp_doc */
0, /*tp_traverse */
0, /*tp_clear */
- 0, /*tp_richcompare */
+ gdbpy_richcompare<symtab_object, symtab, &symtab_object::symtab>,
+ /*tp_richcompare */
0, /*tp_weaklistoffset */
0, /*tp_iter */
0, /*tp_iternext */
}
}
}
+# Test comparison for equality and non-equality
+gdb_test "python print (symtab == symtab)"\
+ "True" \
+ "test symtab equality with itself"
+gdb_test "python print (symtab == sal.symtab)"\
+ "True" \
+ "test symtab equality with other symtab object referring to the same symtab"
+gdb_test "python print (symtab == 123 )"\
+ "False" \
+ "test symtab equality with non-symtab"
+
+gdb_test "python print (symtab != symtab)"\
+ "False" \
+ "test symtab non-equality with itself"
+gdb_test "python print (symtab != sal.symtab)"\
+ "False" \
+ "test symtab non-equality with other symtab object referring to the same symtab"
+gdb_test "python print (symtab != 123 )"\
+ "True" \
+ "test symtab non-equality with non-symtab"
+
# Test is_valid when the objfile is unloaded. This must be the last
# test as it unloads the object file in GDB.