*/
typedef struct
{
+ uint32_t magic;
pthread_mutex_t lock;
pthread_cond_t cond;
nns_edge_lock_init (q);
nns_edge_cond_init (q);
+ nns_edge_handle_set_magic (q, NNS_EDGE_MAGIC);
q->leaky = NNS_EDGE_QUEUE_LEAK_NEW;
*handle = q;
{
nns_edge_queue_s *q = (nns_edge_queue_s *) handle;
- if (!q) {
- nns_edge_loge ("[Queue] Invalid param, queue is null.");
+ if (!nns_edge_handle_is_valid (q)) {
+ nns_edge_loge ("[Queue] Invalid param, queue is invalid.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
/* Stop waiting and clear all data. */
nns_edge_queue_clear (handle);
+ nns_edge_handle_set_magic (q, NNS_EDGE_MAGIC_DEAD);
nns_edge_cond_destroy (q);
nns_edge_lock_destroy (q);
SAFE_FREE (q);
{
nns_edge_queue_s *q = (nns_edge_queue_s *) handle;
- if (!q) {
- nns_edge_loge ("[Queue] Invalid param, queue is null.");
+ if (!nns_edge_handle_is_valid (q)) {
+ nns_edge_loge ("[Queue] Invalid param, queue is invalid.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
{
nns_edge_queue_s *q = (nns_edge_queue_s *) handle;
- if (!q) {
- nns_edge_loge ("[Queue] Invalid param, queue is null.");
+ if (!nns_edge_handle_is_valid (q)) {
+ nns_edge_loge ("[Queue] Invalid param, queue is invalid.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
nns_edge_queue_s *q = (nns_edge_queue_s *) handle;
nns_edge_queue_data_s *qdata;
- if (!q) {
- nns_edge_loge ("[Queue] Invalid param, queue is null.");
+ if (!nns_edge_handle_is_valid (q)) {
+ nns_edge_loge ("[Queue] Invalid param, queue is invalid.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
bool popped = false;
nns_edge_queue_s *q = (nns_edge_queue_s *) handle;
- if (!q) {
- nns_edge_loge ("[Queue] Invalid param, queue is null.");
+ if (!nns_edge_handle_is_valid (q)) {
+ nns_edge_loge ("[Queue] Invalid param, queue is invalid.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
nns_edge_queue_s *q = (nns_edge_queue_s *) handle;
bool popped = false;
- if (!q) {
- nns_edge_loge ("[Queue] Invalid param, queue is null.");
+ if (!nns_edge_handle_is_valid (q)) {
+ nns_edge_loge ("[Queue] Invalid param, queue is invalid.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
{
nns_edge_queue_s *q = (nns_edge_queue_s *) handle;
- if (!q) {
- nns_edge_loge ("[Queue] Invalid param, queue is null.");
+ if (!nns_edge_handle_is_valid (q)) {
+ nns_edge_loge ("[Queue] Invalid param, queue is invalid.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
EXPECT_EQ (nns_edge_queue_destroy (NULL), NNS_EDGE_ERROR_INVALID_PARAMETER);
}
+/**
+ * @brief Destroy queue - invalid param.
+ */
+TEST_F(edgeQueue, destroyInvalidParam02_n)
+{
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC_DEAD);
+ EXPECT_EQ (nns_edge_queue_destroy (queue_h), NNS_EDGE_ERROR_INVALID_PARAMETER);
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC);
+}
+
/**
* @brief Get length of queue - invalid param.
*/
EXPECT_EQ (nns_edge_queue_get_length (queue_h, NULL), NNS_EDGE_ERROR_INVALID_PARAMETER);
}
+/**
+ * @brief Get length of queue - invalid param.
+ */
+TEST_F(edgeQueue, getLengthInvalidParam03_n)
+{
+ unsigned int len = 0U;
+
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC_DEAD);
+ EXPECT_EQ (nns_edge_queue_get_length (queue_h, &len), NNS_EDGE_ERROR_INVALID_PARAMETER);
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC);
+}
+
/**
* @brief Set limit of queue.
*/
EXPECT_EQ (nns_edge_queue_set_limit (NULL, 5U, NNS_EDGE_QUEUE_LEAK_NEW), NNS_EDGE_ERROR_INVALID_PARAMETER);
}
+/**
+ * @brief Set limit of queue - invalid param.
+ */
+TEST_F(edgeQueue, setLimitInvalidParam02_n)
+{
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC_DEAD);
+ EXPECT_EQ (nns_edge_queue_set_limit (queue_h, 5U, NNS_EDGE_QUEUE_LEAK_NEW), NNS_EDGE_ERROR_INVALID_PARAMETER);
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC);
+}
+
/**
* @brief Push data into queue - invalid param.
*/
SAFE_FREE (data);
}
+/**
+ * @brief Push data into queue - invalid param.
+ */
+TEST_F(edgeQueue, pushInvalidParam04_n)
+{
+ void *data;
+ nns_size_t dsize;
+
+ dsize = 5 * sizeof (unsigned int);
+ data = malloc (dsize);
+ ASSERT_TRUE (data != NULL);
+
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC_DEAD);
+ EXPECT_EQ (nns_edge_queue_push (queue_h, data, dsize, NULL), NNS_EDGE_ERROR_INVALID_PARAMETER);
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC);
+
+ SAFE_FREE (data);
+}
+
/**
* @brief Pop data from queue - invalid param.
*/
EXPECT_EQ (nns_edge_queue_pop (queue_h, &data, NULL), NNS_EDGE_ERROR_INVALID_PARAMETER);
}
+/**
+ * @brief Pop data from queue - invalid param.
+ */
+TEST_F(edgeQueue, popInvalidParam04_n)
+{
+ void *data;
+ nns_size_t size;
+
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC_DEAD);
+ EXPECT_EQ (nns_edge_queue_pop (queue_h, &data, &size), NNS_EDGE_ERROR_INVALID_PARAMETER);
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC);
+}
+
/**
* @brief Wait and pop data from queue, timed out.
*/
EXPECT_EQ (nns_edge_queue_wait_pop (queue_h, 10U, &data, NULL), NNS_EDGE_ERROR_INVALID_PARAMETER);
}
+/**
+ * @brief Wait and pop data from queue - invalid param.
+ */
+TEST_F(edgeQueue, waitPopInvalidParam04_n)
+{
+ void *data;
+ nns_size_t size;
+
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC_DEAD);
+ EXPECT_EQ (nns_edge_queue_wait_pop (queue_h, 10U, &data, &size), NNS_EDGE_ERROR_INVALID_PARAMETER);
+ nns_edge_handle_set_magic (queue_h, NNS_EDGE_MAGIC);
+}
+
/**
* @brief Util to get the version.
*/