rules: - id: Dont-commit pattern: frappe.db.commit() message: Commiting inside test breaks idempotency. languages: [python] severity: ERROR - id: Implicit-commit pattern: frappe.db.truncate() message: DB truncation does implict commit which breaks test idempotency. languages: [python] severity: ERROR - id: Dont-override-teardown pattern: | def tearDown(...): ... message: ERPNextTestSuite forces rollback on each tearDown, which ensures idempotency. Don't override tearDown. languages: [python] severity: ERROR