|
9 | 9 |
|
10 | 10 | #include "caster.h" |
11 | 11 |
|
12 | | -static epicsMutexId lock; |
13 | | - |
14 | 12 | static void testAddEnvVars(void) |
15 | 13 | { |
16 | 14 | int i; |
17 | | - lock = epicsMutexMustCreate(); |
18 | | - |
19 | 15 | caster_t caster; |
20 | 16 | casterInit(&caster); |
21 | 17 |
|
22 | | - epicsMutexUnlock(lock); |
23 | | - |
24 | | - epicsMutexMustLock(lock); |
25 | 18 | int argc; |
26 | | - char *argvlist[5]; |
| 19 | + char *argvlist[6]; |
27 | 20 | argvlist[0] = "addReccasterEnvVars"; |
28 | 21 |
|
29 | 22 | char *expectedExtraEnvs[] = |
@@ -82,26 +75,6 @@ static void testAddEnvVars(void) |
82 | 75 | testOk1(strcmp(caster.extra_envs[i], expectedExtraEnvs[i]) == 0); |
83 | 76 | } |
84 | 77 |
|
85 | | - testDiag("Testing addReccasterEnvVars with no arguments"); |
86 | | - argc = 1; |
87 | | - testOk1(caster.num_extra_envs==expectedNumExtraEnvs); |
88 | | - addReccasterEnvVars(&caster, argc, argvlist); |
89 | | - testOk1(caster.num_extra_envs==expectedNumExtraEnvs); |
90 | | - |
91 | | - testDiag("Testing addReccasterEnvVars with empty string argument"); |
92 | | - argvlist[1] = ""; |
93 | | - argc = 2; |
94 | | - testOk1(caster.num_extra_envs==expectedNumExtraEnvs); |
95 | | - addReccasterEnvVars(&caster, argc, argvlist); |
96 | | - testOk1(caster.num_extra_envs==expectedNumExtraEnvs); |
97 | | - |
98 | | - testDiag("Testing addReccasterEnvVars with NULL argument"); |
99 | | - argvlist[1] = NULL; |
100 | | - argc = 2; |
101 | | - testOk1(caster.num_extra_envs==expectedNumExtraEnvs); |
102 | | - addReccasterEnvVars(&caster, argc, argvlist); |
103 | | - testOk1(caster.num_extra_envs==expectedNumExtraEnvs); |
104 | | - |
105 | 78 | testDiag("Testing addReccasterEnvVars with NULL argument and then a good env"); |
106 | 79 | argvlist[1] = NULL; |
107 | 80 | argvlist[2] = "Field"; |
@@ -141,19 +114,53 @@ static void testAddEnvVars(void) |
141 | 114 | testOk1(strcmp(caster.extra_envs[i], expectedExtraEnvs[i]) == 0); |
142 | 115 | } |
143 | 116 |
|
144 | | - epicsMutexUnlock(lock); |
| 117 | + epicsEventId sd; |
| 118 | + sd = caster.shutdownEvent; |
| 119 | + epicsEventSignal(sd); |
| 120 | + |
| 121 | + casterShutdown(&caster); |
| 122 | +} |
| 123 | + |
| 124 | +static void testAddEnvVarsBadInput(void) |
| 125 | +{ |
| 126 | + caster_t caster; |
| 127 | + casterInit(&caster); |
| 128 | + |
| 129 | + int argc; |
| 130 | + char *argvlist[2]; |
| 131 | + argvlist[0] = "addReccasterEnvVars"; |
| 132 | + |
| 133 | + testDiag("Testing addReccasterEnvVars with no arguments"); |
| 134 | + argc = 1; |
| 135 | + testOk1(caster.num_extra_envs==0); |
| 136 | + addReccasterEnvVars(&caster, argc, argvlist); |
| 137 | + testOk1(caster.num_extra_envs==0); |
| 138 | + |
| 139 | + testDiag("Testing addReccasterEnvVars with empty string argument"); |
| 140 | + argvlist[1] = ""; |
| 141 | + argc = 2; |
| 142 | + testOk1(caster.num_extra_envs==0); |
| 143 | + addReccasterEnvVars(&caster, argc, argvlist); |
| 144 | + testOk1(caster.num_extra_envs==0); |
| 145 | + |
| 146 | + testDiag("Testing addReccasterEnvVars with NULL argument"); |
| 147 | + argvlist[1] = NULL; |
| 148 | + argc = 2; |
| 149 | + testOk1(caster.num_extra_envs==0); |
| 150 | + addReccasterEnvVars(&caster, argc, argvlist); |
| 151 | + testOk1(caster.num_extra_envs==0); |
145 | 152 |
|
146 | 153 | epicsEventId sd; |
147 | 154 | sd = caster.shutdownEvent; |
148 | 155 | epicsEventSignal(sd); |
149 | 156 |
|
150 | 157 | casterShutdown(&caster); |
151 | | - epicsMutexDestroy(lock); |
152 | 158 | } |
153 | 159 |
|
154 | 160 | MAIN(testAddEnvVars) |
155 | 161 | { |
156 | 162 | testPlan(48); |
157 | 163 | testAddEnvVars(); |
| 164 | + testAddEnvVarsBadInput(); |
158 | 165 | return testDone(); |
159 | 166 | } |
0 commit comments