*/
#include <config.h>
-#include "classifier.h"
#include <errno.h>
#include <limits.h>
#include "byte-order.h"
#undef NDEBUG
#include <assert.h>
+/* We need access to classifier internal definitions to be able to fully
+ * test them. The alternative would be to expose them all in the classifier
+ * API. */
+#include "classifier.c"
+
/* Fields in a rule. */
#define CLS_FIELDS \
/* struct flow all-caps */ \
int found_dups = 0;
int found_rules2 = 0;
- HMAP_FOR_EACH (table, hmap_node, &cls->subtables) {
+ HMAP_FOR_EACH (table, hmap_node, &cls->cls->subtables) {
const struct cls_rule *head;
unsigned int max_priority = 0;
unsigned int max_count = 0;
assert(table->max_count == max_count);
}
- assert(found_tables == hmap_count(&cls->subtables));
- assert(n_tables == -1 || n_tables == hmap_count(&cls->subtables));
+ assert(found_tables == hmap_count(&cls->cls->subtables));
+ assert(n_tables == -1 || n_tables == hmap_count(&cls->cls->subtables));
assert(n_rules == -1 || found_rules == n_rules);
assert(n_dups == -1 || found_dups == n_dups);
/* Check that the flow equals its miniflow. */
assert(miniflow_get_vid(&miniflow) == vlan_tci_to_vid(flow.vlan_tci));
for (i = 0; i < FLOW_U32S; i++) {
- assert(miniflow_get_u32(&miniflow, i * 4) == flow_u32[i]);
+ assert(MINIFLOW_GET_TYPE(&miniflow, uint32_t, i * 4)
+ == flow_u32[i]);
}
/* Check that the miniflow equals itself. */