author | bdonegan |
Tue, 21 Sep 2010 10:35:24 +0100 | |
changeset 15 | e37098e40f6a |
parent 8 | d8ef7a232001 |
permissions | -rw-r--r-- |
2
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
1 |
/* |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
2 |
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
3 |
* All rights reserved. |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
5 |
* under the terms of "Eclipse Public License v1.0" |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
8 |
* |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
9 |
* Initial Contributors: |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
11 |
* |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
12 |
* Contributors: |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
13 |
* |
8
d8ef7a232001
Added Classic UI test cases. Fixes to other existing test cases.
shrivatsa
parents:
2
diff
changeset
|
14 |
* Description: |
2
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
15 |
* |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
16 |
*/ |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
17 |
#undef G_DISABLE_ASSERT |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
18 |
#undef G_LOG_DOMAIN |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
19 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
20 |
#include <glib.h> |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
21 |
#include <stdio.h> |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
22 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
23 |
#ifdef SYMBIAN |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
24 |
#include "mrt2_glib2_test.h" |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
25 |
#endif /*SYMBIAN*/ |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
26 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
27 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
28 |
/* Obviously we can't test that the operations are atomic, but we can |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
29 |
* at least test, that they do, what they ought to do */ |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
30 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
31 |
int |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
32 |
main (int argc, |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
33 |
char *argv[]) |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
34 |
{ |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
35 |
gint i; |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
36 |
gint atomic = -5; |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
37 |
gpointer atomic_pointer = NULL; |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
38 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
39 |
gpointer biggest_pointer = (gpointer)((gsize)atomic_pointer - 1); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
40 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
41 |
#ifdef SYMBIAN |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
42 |
g_log_set_handler (NULL, G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING | G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG, &mrtLogHandler, NULL); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
43 |
g_set_print_handler(mrtPrintHandler); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
44 |
#endif /*SYMBIAN*/ |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
45 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
46 |
for (i = 0; i < 15; i++) |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
47 |
g_atomic_int_inc (&atomic); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
48 |
g_assert (atomic == 10); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
49 |
for (i = 0; i < 9; i++) |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
50 |
g_assert (!g_atomic_int_dec_and_test (&atomic)); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
51 |
g_assert (g_atomic_int_dec_and_test (&atomic)); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
52 |
g_assert (atomic == 0); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
53 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
54 |
g_assert (g_atomic_int_exchange_and_add (&atomic, 5) == 0); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
55 |
g_assert (atomic == 5); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
56 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
57 |
g_assert (g_atomic_int_exchange_and_add (&atomic, -10) == 5); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
58 |
g_assert (atomic == -5); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
59 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
60 |
g_atomic_int_add (&atomic, 20); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
61 |
g_assert (atomic == 15); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
62 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
63 |
g_atomic_int_add (&atomic, -35); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
64 |
g_assert (atomic == -20); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
65 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
66 |
g_assert (atomic == g_atomic_int_get (&atomic)); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
67 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
68 |
g_assert (g_atomic_int_compare_and_exchange (&atomic, -20, 20)); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
69 |
g_assert (atomic == 20); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
70 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
71 |
g_assert (!g_atomic_int_compare_and_exchange (&atomic, 42, 12)); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
72 |
g_assert (atomic == 20); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
73 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
74 |
g_assert (g_atomic_int_compare_and_exchange (&atomic, 20, G_MAXINT)); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
75 |
g_assert (atomic == G_MAXINT); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
76 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
77 |
g_assert (g_atomic_int_compare_and_exchange (&atomic, G_MAXINT, G_MININT)); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
78 |
g_assert (atomic == G_MININT); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
79 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
80 |
g_assert (g_atomic_pointer_compare_and_exchange (&atomic_pointer, |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
81 |
NULL, biggest_pointer)); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
82 |
g_assert (atomic_pointer == biggest_pointer); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
83 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
84 |
g_assert (atomic_pointer == g_atomic_pointer_get (&atomic_pointer)); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
85 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
86 |
g_assert (g_atomic_pointer_compare_and_exchange (&atomic_pointer, |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
87 |
biggest_pointer, NULL)); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
88 |
g_assert (atomic_pointer == NULL); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
89 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
90 |
#ifdef SYMBIAN |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
91 |
testResultXml("atomic-test"); |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
92 |
#endif /* EMULATOR */ |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
93 |
|
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
94 |
return 0; |
0cb2248d0edc
New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
shrivatsa
parents:
diff
changeset
|
95 |
} |