/** * cockpit_assert_expected: * * Assert that all the things we were expecting in a test * happened. This should be called in a teardown() function * or after a cockpit_expect_xxx() function. */ void cockpit_assert_expected (void) { ExpectedMessage *expected = NULL; gchar *message = NULL; g_assert (cockpit_test_init_was_called); G_LOCK (expected); if (expected_messages) { expected = expected_messages->data; message = g_strdup_printf ("Did not see expected %s-%s: %s", expected->log_domain, calc_prefix (expected->log_level), expected->pattern); } G_UNLOCK (expected); if (expected) { g_assertion_message (expected->log_domain, expected->file, expected->line, expected->func, message); g_free (message); } ignore_fatal_count = 0; }
static void print_result(const char *id, unsigned long start_ticks, unsigned long end_ticks, unsigned long bytes) { unsigned long duration = end_ticks - start_ticks; duration *= 10; duration = (duration + ticks_sec/2) / ticks_sec; unsigned long speed = bytes / duration * 8 * 10; const char *size_prefix = calc_prefix(&bytes, 1024); const char *speed_prefix = calc_prefix(&speed, 1000); LWIP_DEBUGF(IPERF_DEBUG | LWIP_DBG_STATE, ("iperf: 0.0- %ld.%ld sec %ld.%ld %sBytes %ld.%ld %sbits/sec\n", duration / 10, duration % 10, bytes / 10, bytes % 10, size_prefix, speed / 10, speed % 10, speed_prefix)); }
static void expected_message_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data) { gint level = log_level & G_LOG_LEVEL_MASK; ExpectedMessage *expected = NULL; gchar *expected_message; gboolean skip = FALSE; G_LOCK (expected); if (level && expected_messages && (level & G_LOG_LEVEL_DEBUG) == 0) { expected = expected_messages->data; if (log_level & G_LOG_FLAG_FATAL) { ignore_fatal_count = 1; /* This handler is reset for each test, so set it right before we need it */ g_test_log_set_fatal_handler (expected_fatal_handler, NULL); } if (g_strcmp0 (expected->log_domain, log_domain) == 0 && ((log_level & expected->log_level) == expected->log_level) && g_pattern_match_simple (expected->pattern, message)) { expected_messages = g_slist_delete_link (expected_messages, expected_messages); g_free (expected->log_domain); g_free (expected->pattern); g_free (expected); skip = TRUE; } } G_UNLOCK (expected); if (skip) return; gtest_default_log_handler (log_domain, log_level, message, NULL); if (expected) { expected_message = g_strdup_printf ("Did not see expected %s-%s: %s", expected->log_domain, calc_prefix (expected->log_level), expected->pattern); g_assertion_message (expected->log_domain, expected->file, expected->line, expected->func, expected_message); g_free (expected_message); } }
int main(void) { init_queue(); put('-');put('+');put('*');put(9);put('+');put(2);put(8);put('*');put('+');put(4);put(8);put(6);put(3); printf("queue를 처음 출력하면 : "); print_queue(); printf("\n"); calc_prefix(); printf("queue를 다시 출력하면 : "); print_queue(); printf("\n"); return 0; }