diff --git a/tests-1.3/groups.py b/tests-1.3/groups.py
index 83c4941..423e66e 100644
--- a/tests-1.3/groups.py
+++ b/tests-1.3/groups.py
@@ -89,8 +89,7 @@
                 ofp.bucket(actions=[ofp.action.output(ofp.OFPP_ANY)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_BAD_ACTION)
+        self.assertIsInstance(response, ofp.message.bad_action_error_msg)
         self.assertEquals(response.code, ofp.OFPBAC_BAD_OUT_PORT)
 
 
@@ -120,8 +119,7 @@
                 ofp.bucket(actions=[ofp.action.output(port2)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_GROUP_MOD_FAILED)
+        self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg)
         self.assertEquals(response.code, ofp.OFPGMFC_GROUP_EXISTS)
 
 
@@ -141,8 +139,7 @@
                 ofp.bucket(actions=[ofp.action.output(port1)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_GROUP_MOD_FAILED)
+        self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg)
         self.assertEquals(response.code, ofp.OFPGMFC_INVALID_GROUP)
 
 
@@ -162,8 +159,7 @@
                 ofp.bucket(actions=[ofp.action.output(port1)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_GROUP_MOD_FAILED)
+        self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg)
         self.assertEquals(response.code, ofp.OFPGMFC_INVALID_GROUP)
 
 
@@ -219,8 +215,7 @@
                 ofp.bucket(actions=[ofp.action.output(port1)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_GROUP_MOD_FAILED)
+        self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg)
         self.assertEquals(response.code, ofp.OFPGMFC_UNKNOWN_GROUP)
 
 
@@ -270,8 +265,7 @@
                 ofp.bucket(actions=[ofp.action.group(2)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_GROUP_MOD_FAILED)
+        self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg)
         self.assertEquals(response.code, ofp.OFPGMFC_LOOP)
 
 
@@ -291,8 +285,7 @@
                 ofp.bucket(actions=[ofp.action.output(port1)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_GROUP_MOD_FAILED)
+        self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg)
         self.assertEquals(response.code, ofp.OFPGMFC_INVALID_GROUP)
 
 
@@ -431,8 +424,7 @@
                 ofp.bucket(weight=2, actions=[ofp.action.output(port2)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_GROUP_MOD_FAILED)
+        self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg)
         self.assertEquals(response.code, ofp.OFPGMFC_INVALID_GROUP)
 
 
@@ -452,8 +444,7 @@
                 ofp.bucket(weight=1, actions=[ofp.action.output(port1)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_GROUP_MOD_FAILED)
+        self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg)
         self.assertEquals(response.code, ofp.OFPGMFC_INVALID_GROUP)
 
 
@@ -474,8 +465,7 @@
                 ofp.bucket(actions=[ofp.action.output(port2)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_GROUP_MOD_FAILED)
+        self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg)
         self.assertEquals(response.code, ofp.OFPGMFC_INVALID_GROUP)
 
 
@@ -496,8 +486,7 @@
                 ofp.bucket(actions=[ofp.action.output(port2)])])
 
         response, _ = self.controller.transact(msg)
-        self.assertIsInstance(response, ofp.message.error_msg)
-        self.assertEquals(response.err_type, ofp.OFPET_GROUP_MOD_FAILED)
+        self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg)
         self.assertEquals(response.code, ofp.OFPGMFC_INVALID_GROUP)
 
 
