c_project 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +18 -0
  7. data/bin/c_project +77 -0
  8. data/c_project.gemspec +25 -0
  9. data/lib/c_project/version.rb +3 -0
  10. data/lib/c_project.rb +5 -0
  11. data/templates/LICENCE.tt +23 -0
  12. data/templates/Makefile.tt +74 -0
  13. data/templates/README.md.tt +15 -0
  14. data/templates/src/CExceptionConfig.h.tt +8 -0
  15. data/templates/src/c_project.c.tt +16 -0
  16. data/templates/src/c_project.h.tt +8 -0
  17. data/templates/src/main.c.tt +15 -0
  18. data/templates/test/support/test_helper.c.tt +2 -0
  19. data/templates/test/support/test_helper.h.tt +13 -0
  20. data/templates/test/test_c_project.c.tt +41 -0
  21. data/templates/vendor/cexception/docs/license.txt +30 -0
  22. data/templates/vendor/cexception/docs/readme.txt +242 -0
  23. data/templates/vendor/cexception/lib/CException.c +43 -0
  24. data/templates/vendor/cexception/lib/CException.h +86 -0
  25. data/templates/vendor/cexception/release/build.info +2 -0
  26. data/templates/vendor/cexception/release/version.info +2 -0
  27. data/templates/vendor/commander.c/History.md +27 -0
  28. data/templates/vendor/commander.c/Makefile +8 -0
  29. data/templates/vendor/commander.c/Readme.md +103 -0
  30. data/templates/vendor/commander.c/package.json +9 -0
  31. data/templates/vendor/commander.c/src/commander.c +250 -0
  32. data/templates/vendor/commander.c/src/commander.h +88 -0
  33. data/templates/vendor/commander.c/test.c +34 -0
  34. data/templates/vendor/unity/.gitignore +1 -0
  35. data/templates/vendor/unity/auto/colour_prompt.rb +94 -0
  36. data/templates/vendor/unity/auto/colour_reporter.rb +39 -0
  37. data/templates/vendor/unity/auto/generate_config.yml +36 -0
  38. data/templates/vendor/unity/auto/generate_module.rb +202 -0
  39. data/templates/vendor/unity/auto/generate_test_runner.rb +316 -0
  40. data/templates/vendor/unity/auto/test_file_filter.rb +23 -0
  41. data/templates/vendor/unity/auto/unity_test_summary.rb +139 -0
  42. data/templates/vendor/unity/docs/Unity Summary.txt +216 -0
  43. data/templates/vendor/unity/docs/license.txt +31 -0
  44. data/templates/vendor/unity/release/build.info +2 -0
  45. data/templates/vendor/unity/release/version.info +2 -0
  46. data/templates/vendor/unity/src/unity.c +1146 -0
  47. data/templates/vendor/unity/src/unity.h +245 -0
  48. data/templates/vendor/unity/src/unity_internals.h +546 -0
  49. metadata +135 -0
@@ -0,0 +1,546 @@
1
+ /* ==========================================
2
+ Unity Project - A Test Framework for C
3
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
+ [Released under MIT License. Please refer to license.txt for details]
5
+ ========================================== */
6
+
7
+ #ifndef UNITY_INTERNALS_H
8
+ #define UNITY_INTERNALS_H
9
+
10
+ #include <stdio.h>
11
+ #include <setjmp.h>
12
+
13
+ // Unity attempts to determine sizeof(various types)
14
+ // based on UINT_MAX, ULONG_MAX, etc. These are typically
15
+ // defined in limits.h.
16
+ #ifdef UNITY_USE_LIMITS_H
17
+ #include <limits.h>
18
+ #endif
19
+ // As a fallback, hope that including stdint.h will
20
+ // provide this information.
21
+ #ifndef UNITY_EXCLUDE_STDINT_H
22
+ #include <stdint.h>
23
+ #endif
24
+
25
+ //-------------------------------------------------------
26
+ // Guess Widths If Not Specified
27
+ //-------------------------------------------------------
28
+
29
+ // Determine the size of an int, if not already specificied.
30
+ // We cannot use sizeof(int), because it is not yet defined
31
+ // at this stage in the trnslation of the C program.
32
+ // Therefore, infer it from UINT_MAX if possible.
33
+ #ifndef UNITY_INT_WIDTH
34
+ #ifdef UINT_MAX
35
+ #if (UINT_MAX == 0xFFFF)
36
+ #define UNITY_INT_WIDTH (16)
37
+ #elif (UINT_MAX == 0xFFFFFFFF)
38
+ #define UNITY_INT_WIDTH (32)
39
+ #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF)
40
+ #define UNITY_INT_WIDTH (64)
41
+ #ifndef UNITY_SUPPORT_64
42
+ #define UNITY_SUPPORT_64
43
+ #endif
44
+ #endif
45
+ #endif
46
+ #endif
47
+ #ifndef UNITY_INT_WIDTH
48
+ #define UNITY_INT_WIDTH (32)
49
+ #endif
50
+
51
+ // Determine the size of a long, if not already specified,
52
+ // by following the process used above to define
53
+ // UNITY_INT_WIDTH.
54
+ #ifndef UNITY_LONG_WIDTH
55
+ #ifdef ULONG_MAX
56
+ #if (ULONG_MAX == 0xFFFF)
57
+ #define UNITY_LONG_WIDTH (16)
58
+ #elif (ULONG_MAX == 0xFFFFFFFF)
59
+ #define UNITY_LONG_WIDTH (32)
60
+ #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF)
61
+ #define UNITY_LONG_WIDTH (64)
62
+ #ifndef UNITY_SUPPORT_64
63
+ #define UNITY_SUPPORT_64
64
+ #endif
65
+ #endif
66
+ #endif
67
+ #endif
68
+ #ifndef UNITY_LONG_WIDTH
69
+ #define UNITY_LONG_WIDTH (32)
70
+ #endif
71
+
72
+ // Determine the size of a pointer, if not already specified,
73
+ // by following the process used above to define
74
+ // UNITY_INT_WIDTH.
75
+ #ifndef UNITY_POINTER_WIDTH
76
+ #ifdef UINTPTR_MAX
77
+ #if (UINTPTR_MAX <= 0xFFFF)
78
+ #define UNITY_POINTER_WIDTH (16)
79
+ #elif (UINTPTR_MAX <= 0xFFFFFFFF)
80
+ #define UNITY_POINTER_WIDTH (32)
81
+ #elif (UINTPTR_MAX <= 0xFFFFFFFFFFFFFFFF)
82
+ #define UNITY_POINTER_WIDTH (64)
83
+ #ifndef UNITY_SUPPORT_64
84
+ #define UNITY_SUPPORT_64
85
+ #endif
86
+ #endif
87
+ #endif
88
+ #endif
89
+ #ifndef UNITY_POINTER_WIDTH
90
+ #ifdef INTPTR_MAX
91
+ #if (INTPTR_MAX <= 0x7FFF)
92
+ #define UNITY_POINTER_WIDTH (16)
93
+ #elif (INTPTR_MAX <= 0x7FFFFFFF)
94
+ #define UNITY_POINTER_WIDTH (32)
95
+ #elif (INTPTR_MAX <= 0x7FFFFFFFFFFFFFFF)
96
+ #define UNITY_POINTER_WIDTH (64)
97
+ #ifndef UNITY_SUPPORT_64
98
+ #define UNITY_SUPPORT_64
99
+ #endif
100
+ #endif
101
+ #endif
102
+ #endif
103
+ #ifndef UNITY_POINTER_WIDTH
104
+ #define UNITY_POINTER_WIDTH (32)
105
+ #endif
106
+
107
+ //-------------------------------------------------------
108
+ // Int Support
109
+ //-------------------------------------------------------
110
+
111
+ #if (UNITY_INT_WIDTH == 32)
112
+ typedef unsigned char _UU8;
113
+ typedef unsigned short _UU16;
114
+ typedef unsigned int _UU32;
115
+ typedef signed char _US8;
116
+ typedef signed short _US16;
117
+ typedef signed int _US32;
118
+ #elif (UNITY_INT_WIDTH == 16)
119
+ typedef unsigned char _UU8;
120
+ typedef unsigned int _UU16;
121
+ typedef unsigned long _UU32;
122
+ typedef signed char _US8;
123
+ typedef signed int _US16;
124
+ typedef signed long _US32;
125
+ #else
126
+ #error Invalid UNITY_INT_WIDTH specified! (16 or 32 are supported)
127
+ #endif
128
+
129
+ //-------------------------------------------------------
130
+ // 64-bit Support
131
+ //-------------------------------------------------------
132
+
133
+ #ifndef UNITY_SUPPORT_64
134
+
135
+ //No 64-bit Support
136
+ typedef _UU32 _U_UINT;
137
+ typedef _US32 _U_SINT;
138
+
139
+ #else
140
+
141
+ //64-bit Support
142
+ #if (UNITY_LONG_WIDTH == 32)
143
+ typedef unsigned long long _UU64;
144
+ typedef signed long long _US64;
145
+ #elif (UNITY_LONG_WIDTH == 64)
146
+ typedef unsigned long _UU64;
147
+ typedef signed long _US64;
148
+ #else
149
+ #error Invalid UNITY_LONG_WIDTH specified! (32 or 64 are supported)
150
+ #endif
151
+ typedef _UU64 _U_UINT;
152
+ typedef _US64 _U_SINT;
153
+
154
+ #endif
155
+
156
+ //-------------------------------------------------------
157
+ // Pointer Support
158
+ //-------------------------------------------------------
159
+
160
+ #if (UNITY_POINTER_WIDTH == 32)
161
+ typedef _UU32 _UP;
162
+ #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32
163
+ #elif (UNITY_POINTER_WIDTH == 64)
164
+ #ifndef UNITY_SUPPORT_64
165
+ #error "You've Specified 64-bit pointers without enabling 64-bit Support. Define UNITY_SUPPORT_64"
166
+ #endif
167
+ typedef _UU64 _UP;
168
+ #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64
169
+ #elif (UNITY_POINTER_WIDTH == 16)
170
+ typedef _UU16 _UP;
171
+ #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX16
172
+ #else
173
+ #error Invalid UNITY_POINTER_WIDTH specified! (16, 32 or 64 are supported)
174
+ #endif
175
+
176
+ //-------------------------------------------------------
177
+ // Float Support
178
+ //-------------------------------------------------------
179
+
180
+ #ifdef UNITY_EXCLUDE_FLOAT
181
+
182
+ //No Floating Point Support
183
+ #undef UNITY_FLOAT_PRECISION
184
+ #undef UNITY_FLOAT_TYPE
185
+ #undef UNITY_FLOAT_VERBOSE
186
+
187
+ #else
188
+
189
+ //Floating Point Support
190
+ #ifndef UNITY_FLOAT_PRECISION
191
+ #define UNITY_FLOAT_PRECISION (0.00001f)
192
+ #endif
193
+ #ifndef UNITY_FLOAT_TYPE
194
+ #define UNITY_FLOAT_TYPE float
195
+ #endif
196
+ typedef UNITY_FLOAT_TYPE _UF;
197
+
198
+ #endif
199
+
200
+ //-------------------------------------------------------
201
+ // Double Float Support
202
+ //-------------------------------------------------------
203
+
204
+ //unlike FLOAT, we DON'T include by default
205
+ #ifndef UNITY_EXCLUDE_DOUBLE
206
+ #ifndef UNITY_INCLUDE_DOUBLE
207
+ #define UNITY_EXCLUDE_DOUBLE
208
+ #endif
209
+ #endif
210
+
211
+ #ifdef UNITY_EXCLUDE_DOUBLE
212
+
213
+ //No Floating Point Support
214
+ #undef UNITY_DOUBLE_PRECISION
215
+ #undef UNITY_DOUBLE_TYPE
216
+ #undef UNITY_DOUBLE_VERBOSE
217
+
218
+ #else
219
+
220
+ //Floating Point Support
221
+ #ifndef UNITY_DOUBLE_PRECISION
222
+ #define UNITY_DOUBLE_PRECISION (1e-12f)
223
+ #endif
224
+ #ifndef UNITY_DOUBLE_TYPE
225
+ #define UNITY_DOUBLE_TYPE double
226
+ #endif
227
+ typedef UNITY_DOUBLE_TYPE _UD;
228
+
229
+ #endif
230
+
231
+ //-------------------------------------------------------
232
+ // Output Method
233
+ //-------------------------------------------------------
234
+
235
+ #ifndef UNITY_OUTPUT_CHAR
236
+ //Default to using putchar, which is defined in stdio.h above
237
+ #define UNITY_OUTPUT_CHAR(a) putchar(a)
238
+ #else
239
+ //If defined as something else, make sure we declare it here so it's ready for use
240
+ extern int UNITY_OUTPUT_CHAR(int);
241
+ #endif
242
+
243
+ //-------------------------------------------------------
244
+ // Footprint
245
+ //-------------------------------------------------------
246
+
247
+ #ifndef UNITY_LINE_TYPE
248
+ #define UNITY_LINE_TYPE _U_UINT
249
+ #endif
250
+
251
+ #ifndef UNITY_COUNTER_TYPE
252
+ #define UNITY_COUNTER_TYPE _U_UINT
253
+ #endif
254
+
255
+ //-------------------------------------------------------
256
+ // Internal Structs Needed
257
+ //-------------------------------------------------------
258
+
259
+ typedef void (*UnityTestFunction)(void);
260
+
261
+ #define UNITY_DISPLAY_RANGE_INT (0x10)
262
+ #define UNITY_DISPLAY_RANGE_UINT (0x20)
263
+ #define UNITY_DISPLAY_RANGE_HEX (0x40)
264
+ #define UNITY_DISPLAY_RANGE_AUTO (0x80)
265
+
266
+ typedef enum
267
+ {
268
+ #if (UNITY_INT_WIDTH == 16)
269
+ UNITY_DISPLAY_STYLE_INT = 2 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO,
270
+ #elif (UNITY_INT_WIDTH == 32)
271
+ UNITY_DISPLAY_STYLE_INT = 4 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO,
272
+ #elif (UNITY_INT_WIDTH == 64)
273
+ UNITY_DISPLAY_STYLE_INT = 8 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO,
274
+ #endif
275
+ UNITY_DISPLAY_STYLE_INT8 = 1 + UNITY_DISPLAY_RANGE_INT,
276
+ UNITY_DISPLAY_STYLE_INT16 = 2 + UNITY_DISPLAY_RANGE_INT,
277
+ UNITY_DISPLAY_STYLE_INT32 = 4 + UNITY_DISPLAY_RANGE_INT,
278
+ #ifdef UNITY_SUPPORT_64
279
+ UNITY_DISPLAY_STYLE_INT64 = 8 + UNITY_DISPLAY_RANGE_INT,
280
+ #endif
281
+
282
+ #if (UNITY_INT_WIDTH == 16)
283
+ UNITY_DISPLAY_STYLE_UINT = 2 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO,
284
+ #elif (UNITY_INT_WIDTH == 32)
285
+ UNITY_DISPLAY_STYLE_UINT = 4 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO,
286
+ #elif (UNITY_INT_WIDTH == 64)
287
+ UNITY_DISPLAY_STYLE_UINT = 8 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO,
288
+ #endif
289
+ UNITY_DISPLAY_STYLE_UINT8 = 1 + UNITY_DISPLAY_RANGE_UINT,
290
+ UNITY_DISPLAY_STYLE_UINT16 = 2 + UNITY_DISPLAY_RANGE_UINT,
291
+ UNITY_DISPLAY_STYLE_UINT32 = 4 + UNITY_DISPLAY_RANGE_UINT,
292
+ #ifdef UNITY_SUPPORT_64
293
+ UNITY_DISPLAY_STYLE_UINT64 = 8 + UNITY_DISPLAY_RANGE_UINT,
294
+ #endif
295
+ UNITY_DISPLAY_STYLE_HEX8 = 1 + UNITY_DISPLAY_RANGE_HEX,
296
+ UNITY_DISPLAY_STYLE_HEX16 = 2 + UNITY_DISPLAY_RANGE_HEX,
297
+ UNITY_DISPLAY_STYLE_HEX32 = 4 + UNITY_DISPLAY_RANGE_HEX,
298
+ #ifdef UNITY_SUPPORT_64
299
+ UNITY_DISPLAY_STYLE_HEX64 = 8 + UNITY_DISPLAY_RANGE_HEX,
300
+ #endif
301
+ UNITY_DISPLAY_STYLE_UNKNOWN
302
+ } UNITY_DISPLAY_STYLE_T;
303
+
304
+ struct _Unity
305
+ {
306
+ const char* TestFile;
307
+ const char* CurrentTestName;
308
+ UNITY_LINE_TYPE CurrentTestLineNumber;
309
+ UNITY_COUNTER_TYPE NumberOfTests;
310
+ UNITY_COUNTER_TYPE TestFailures;
311
+ UNITY_COUNTER_TYPE TestIgnores;
312
+ UNITY_COUNTER_TYPE CurrentTestFailed;
313
+ UNITY_COUNTER_TYPE CurrentTestIgnored;
314
+ jmp_buf AbortFrame;
315
+ };
316
+
317
+ extern struct _Unity Unity;
318
+
319
+ //-------------------------------------------------------
320
+ // Test Suite Management
321
+ //-------------------------------------------------------
322
+
323
+ void UnityBegin(void);
324
+ int UnityEnd(void);
325
+ void UnityConcludeTest(void);
326
+ void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum);
327
+
328
+ //-------------------------------------------------------
329
+ // Test Output
330
+ //-------------------------------------------------------
331
+
332
+ void UnityPrint(const char* string);
333
+ void UnityPrintMask(const _U_UINT mask, const _U_UINT number);
334
+ void UnityPrintNumberByStyle(const _U_SINT number, const UNITY_DISPLAY_STYLE_T style);
335
+ void UnityPrintNumber(const _U_SINT number);
336
+ void UnityPrintNumberUnsigned(const _U_UINT number);
337
+ void UnityPrintNumberHex(const _U_UINT number, const char nibbles);
338
+
339
+ #ifdef UNITY_FLOAT_VERBOSE
340
+ void UnityPrintFloat(const _UF number);
341
+ #endif
342
+
343
+ //-------------------------------------------------------
344
+ // Test Assertion Fuctions
345
+ //-------------------------------------------------------
346
+ // Use the macros below this section instead of calling
347
+ // these directly. The macros have a consistent naming
348
+ // convention and will pull in file and line information
349
+ // for you.
350
+
351
+ void UnityAssertEqualNumber(const _U_SINT expected,
352
+ const _U_SINT actual,
353
+ const char* msg,
354
+ const UNITY_LINE_TYPE lineNumber,
355
+ const UNITY_DISPLAY_STYLE_T style);
356
+
357
+ void UnityAssertEqualIntArray(const _U_SINT* expected,
358
+ const _U_SINT* actual,
359
+ const _UU32 num_elements,
360
+ const char* msg,
361
+ const UNITY_LINE_TYPE lineNumber,
362
+ const UNITY_DISPLAY_STYLE_T style);
363
+
364
+ void UnityAssertBits(const _U_SINT mask,
365
+ const _U_SINT expected,
366
+ const _U_SINT actual,
367
+ const char* msg,
368
+ const UNITY_LINE_TYPE lineNumber);
369
+
370
+ void UnityAssertEqualString(const char* expected,
371
+ const char* actual,
372
+ const char* msg,
373
+ const UNITY_LINE_TYPE lineNumber);
374
+
375
+ void UnityAssertEqualStringArray( const char** expected,
376
+ const char** actual,
377
+ const _UU32 num_elements,
378
+ const char* msg,
379
+ const UNITY_LINE_TYPE lineNumber);
380
+
381
+ void UnityAssertEqualMemory( const void* expected,
382
+ const void* actual,
383
+ const _UU32 length,
384
+ const _UU32 num_elements,
385
+ const char* msg,
386
+ const UNITY_LINE_TYPE lineNumber);
387
+
388
+ void UnityAssertNumbersWithin(const _U_SINT delta,
389
+ const _U_SINT expected,
390
+ const _U_SINT actual,
391
+ const char* msg,
392
+ const UNITY_LINE_TYPE lineNumber,
393
+ const UNITY_DISPLAY_STYLE_T style);
394
+
395
+ void UnityFail(const char* message, const UNITY_LINE_TYPE line);
396
+
397
+ void UnityIgnore(const char* message, const UNITY_LINE_TYPE line);
398
+
399
+ #ifndef UNITY_EXCLUDE_FLOAT
400
+ void UnityAssertFloatsWithin(const _UF delta,
401
+ const _UF expected,
402
+ const _UF actual,
403
+ const char* msg,
404
+ const UNITY_LINE_TYPE lineNumber);
405
+
406
+ void UnityAssertEqualFloatArray(const _UF* expected,
407
+ const _UF* actual,
408
+ const _UU32 num_elements,
409
+ const char* msg,
410
+ const UNITY_LINE_TYPE lineNumber);
411
+
412
+ void UnityAssertFloatIsInf(const _UF actual,
413
+ const char* msg,
414
+ const UNITY_LINE_TYPE lineNumber);
415
+
416
+ void UnityAssertFloatIsNegInf(const _UF actual,
417
+ const char* msg,
418
+ const UNITY_LINE_TYPE lineNumber);
419
+
420
+ void UnityAssertFloatIsNaN(const _UF actual,
421
+ const char* msg,
422
+ const UNITY_LINE_TYPE lineNumber);
423
+ #endif
424
+
425
+ #ifndef UNITY_EXCLUDE_DOUBLE
426
+ void UnityAssertDoublesWithin(const _UD delta,
427
+ const _UD expected,
428
+ const _UD actual,
429
+ const char* msg,
430
+ const UNITY_LINE_TYPE lineNumber);
431
+
432
+ void UnityAssertEqualDoubleArray(const _UD* expected,
433
+ const _UD* actual,
434
+ const _UU32 num_elements,
435
+ const char* msg,
436
+ const UNITY_LINE_TYPE lineNumber);
437
+
438
+ void UnityAssertDoubleIsInf(const _UD actual,
439
+ const char* msg,
440
+ const UNITY_LINE_TYPE lineNumber);
441
+
442
+ void UnityAssertDoubleIsNegInf(const _UD actual,
443
+ const char* msg,
444
+ const UNITY_LINE_TYPE lineNumber);
445
+
446
+ void UnityAssertDoubleIsNaN(const _UD actual,
447
+ const char* msg,
448
+ const UNITY_LINE_TYPE lineNumber);
449
+ #endif
450
+
451
+ //-------------------------------------------------------
452
+ // Basic Fail and Ignore
453
+ //-------------------------------------------------------
454
+
455
+ #define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)line);
456
+ #define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)line);
457
+
458
+ //-------------------------------------------------------
459
+ // Test Asserts
460
+ //-------------------------------------------------------
461
+
462
+ #define UNITY_TEST_ASSERT(condition, line, message) if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, message);}
463
+ #define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)line, message)
464
+ #define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)line, message)
465
+
466
+ #define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
467
+ #define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
468
+ #define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
469
+ #define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
470
+ #define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
471
+ #define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
472
+ #define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
473
+ #define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
474
+ #define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
475
+ #define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
476
+ #define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
477
+ #define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((_U_SINT)(mask), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line)
478
+
479
+ #define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
480
+ #define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
481
+ #define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU8 )(delta), (_U_SINT)(_U_UINT)(_UU8 )(expected), (_U_SINT)(_U_UINT)(_UU8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
482
+ #define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU16)(delta), (_U_SINT)(_U_UINT)(_UU16)(expected), (_U_SINT)(_U_UINT)(_UU16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
483
+ #define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU32)(delta), (_U_SINT)(_U_UINT)(_UU32)(expected), (_U_SINT)(_U_UINT)(_UU32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
484
+
485
+ #define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UP)(expected), (_U_SINT)(_UP)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_POINTER)
486
+ #define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)line)
487
+ #define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((void*)(expected), (void*)(actual), (_UU32)(len), 1, (message), (UNITY_LINE_TYPE)line)
488
+
489
+ #define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
490
+ #define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT8)
491
+ #define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT16)
492
+ #define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT32)
493
+ #define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
494
+ #define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT8)
495
+ #define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT16)
496
+ #define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT32)
497
+ #define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
498
+ #define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
499
+ #define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
500
+ #define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(_UP*)(expected), (const _U_SINT*)(_UP*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_POINTER)
501
+ #define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((const char**)(expected), (const char**)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
502
+ #define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((void*)(expected), (void*)(actual), (_UU32)(len), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
503
+
504
+ #ifdef UNITY_SUPPORT_64
505
+ #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT64)
506
+ #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT64)
507
+ #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX64)
508
+ #define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT64)
509
+ #define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT64)
510
+ #define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX64)
511
+ #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), NULL, (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX64)
512
+ #endif
513
+
514
+ #ifdef UNITY_EXCLUDE_FLOAT
515
+ #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
516
+ #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
517
+ #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
518
+ #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
519
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
520
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
521
+ #else
522
+ #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((_UF)(delta), (_UF)(expected), (_UF)(actual), (message), (UNITY_LINE_TYPE)line)
523
+ #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((_UF)(expected) * (_UF)UNITY_FLOAT_PRECISION, (_UF)expected, (_UF)actual, (UNITY_LINE_TYPE)line, message)
524
+ #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((_UF*)(expected), (_UF*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
525
+ #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatIsInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
526
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatIsNegInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
527
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatIsNaN((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
528
+ #endif
529
+
530
+ #ifdef UNITY_EXCLUDE_DOUBLE
531
+ #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
532
+ #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
533
+ #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
534
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
535
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
536
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
537
+ #else
538
+ #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((_UD)(delta), (_UD)(expected), (_UD)(actual), (message), (UNITY_LINE_TYPE)line)
539
+ #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((_UF)(expected) * (_UD)UNITY_DOUBLE_PRECISION, (_UD)expected, (_UD)actual, (UNITY_LINE_TYPE)line, message)
540
+ #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((_UD*)(expected), (_UD*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
541
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertFloatIsInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
542
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertFloatIsNegInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
543
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertFloatIsNaN((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
544
+ #endif
545
+
546
+ #endif
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: c_project
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Dustin Morrill
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-09-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 0.18.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 0.18.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: Simple C project generator
56
+ email:
57
+ - morrill@ualberta.ca
58
+ executables:
59
+ - c_project
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - .gitignore
64
+ - Gemfile
65
+ - LICENSE.txt
66
+ - README.md
67
+ - Rakefile
68
+ - bin/c_project
69
+ - c_project.gemspec
70
+ - lib/c_project.rb
71
+ - lib/c_project/version.rb
72
+ - templates/LICENCE.tt
73
+ - templates/Makefile.tt
74
+ - templates/README.md.tt
75
+ - templates/src/CExceptionConfig.h.tt
76
+ - templates/src/c_project.c.tt
77
+ - templates/src/c_project.h.tt
78
+ - templates/src/main.c.tt
79
+ - templates/test/support/test_helper.c.tt
80
+ - templates/test/support/test_helper.h.tt
81
+ - templates/test/test_c_project.c.tt
82
+ - templates/vendor/cexception/docs/license.txt
83
+ - templates/vendor/cexception/docs/readme.txt
84
+ - templates/vendor/cexception/lib/CException.c
85
+ - templates/vendor/cexception/lib/CException.h
86
+ - templates/vendor/cexception/release/build.info
87
+ - templates/vendor/cexception/release/version.info
88
+ - templates/vendor/commander.c/History.md
89
+ - templates/vendor/commander.c/Makefile
90
+ - templates/vendor/commander.c/Readme.md
91
+ - templates/vendor/commander.c/package.json
92
+ - templates/vendor/commander.c/src/commander.c
93
+ - templates/vendor/commander.c/src/commander.h
94
+ - templates/vendor/commander.c/test.c
95
+ - templates/vendor/unity/.gitignore
96
+ - templates/vendor/unity/auto/colour_prompt.rb
97
+ - templates/vendor/unity/auto/colour_reporter.rb
98
+ - templates/vendor/unity/auto/generate_config.yml
99
+ - templates/vendor/unity/auto/generate_module.rb
100
+ - templates/vendor/unity/auto/generate_test_runner.rb
101
+ - templates/vendor/unity/auto/test_file_filter.rb
102
+ - templates/vendor/unity/auto/unity_test_summary.rb
103
+ - templates/vendor/unity/docs/Unity Summary.txt
104
+ - templates/vendor/unity/docs/license.txt
105
+ - templates/vendor/unity/release/build.info
106
+ - templates/vendor/unity/release/version.info
107
+ - templates/vendor/unity/src/unity.c
108
+ - templates/vendor/unity/src/unity.h
109
+ - templates/vendor/unity/src/unity_internals.h
110
+ homepage: https://github.com/dmorrill10/c_project
111
+ licenses:
112
+ - MIT
113
+ metadata: {}
114
+ post_install_message:
115
+ rdoc_options: []
116
+ require_paths:
117
+ - lib
118
+ required_ruby_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - '>='
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ required_rubygems_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - '>='
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ requirements: []
129
+ rubyforge_project:
130
+ rubygems_version: 2.0.3
131
+ signing_key:
132
+ specification_version: 4
133
+ summary: Simple C project generator
134
+ test_files: []
135
+ has_rdoc: