c_project 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: