xref: /unit/src/test/nxt_tests.h (revision 1975:6a47cab8f271)
1 
2 /*
3  * Copyright (C) Igor Sysoev
4  * Copyright (C) NGINX, Inc.
5  */
6 
7 #ifndef _NXT_TESTS_H_INCLUDED_
8 #define _NXT_TESTS_H_INCLUDED_
9 
10 
11 typedef nxt_bool_t (*nxt_msec_less_t)(nxt_msec_t first, nxt_msec_t second);
12 
13 
14 #define NXT_RBT_NODES  1500
15 
16 
17 #if (__i386__ || __i386 || __amd64__ || __amd64)
18 #if (NXT_GCC || NXT_CLANG)
19 
20 #define NXT_TEST_RTDTSC  1
21 
22 nxt_inline uint64_t
nxt_rdtsc(void)23 nxt_rdtsc(void)
24 {
25     uint32_t  eax, edx;
26 
27     __asm__ volatile ("rdtsc" : "=a" (eax), "=d" (edx));
28 
29     return ((uint64_t) edx << 32) | eax;
30 }
31 
32 #endif
33 #endif
34 
35 
36 nxt_int_t nxt_term_parse_test(nxt_thread_t *thr);
37 nxt_int_t nxt_msec_diff_test(nxt_thread_t *thr, nxt_msec_less_t);
38 
39 nxt_int_t nxt_rbtree_test(nxt_thread_t *thr, nxt_uint_t n);
40 nxt_int_t nxt_rbtree1_test(nxt_thread_t *thr, nxt_uint_t n);
41 
42 #if (NXT_TEST_RTDTSC)
43 
44 nxt_int_t nxt_rbtree_mb_start(nxt_thread_t *thr);
45 void nxt_rbtree_mb_insert(nxt_thread_t *thr);
46 void nxt_rbtree_mb_delete(nxt_thread_t *thr);
47 
48 nxt_int_t nxt_rbtree1_mb_start(nxt_thread_t *thr);
49 void nxt_rbtree1_mb_insert(nxt_thread_t *thr);
50 void nxt_rbtree1_mb_delete(nxt_thread_t *thr);
51 
52 #endif
53 
54 nxt_int_t nxt_mp_test(nxt_thread_t *thr, nxt_uint_t runs, nxt_uint_t nblocks,
55     size_t max_size);
56 nxt_int_t nxt_mem_zone_test(nxt_thread_t *thr, nxt_uint_t runs,
57     nxt_uint_t nblocks, size_t max_size);
58 nxt_int_t nxt_lvlhsh_test(nxt_thread_t *thr, nxt_uint_t n,
59     nxt_bool_t use_pool);
60 
61 nxt_int_t nxt_gmtime_test(nxt_thread_t *thr);
62 nxt_int_t nxt_sprintf_test(nxt_thread_t *thr);
63 nxt_int_t nxt_malloc_test(nxt_thread_t *thr);
64 nxt_int_t nxt_utf8_test(nxt_thread_t *thr);
65 nxt_int_t nxt_http_parse_test(nxt_thread_t *thr);
66 nxt_int_t nxt_strverscmp_test(nxt_thread_t *thr);
67 nxt_int_t nxt_base64_test(nxt_thread_t *thr);
68 nxt_int_t nxt_clone_creds_test(nxt_thread_t *thr);
69 
70 
71 #endif /* _NXT_TESTS_H_INCLUDED_ */
72