File tree Expand file tree Collapse file tree 9 files changed +83
-106
lines changed Expand file tree Collapse file tree 9 files changed +83
-106
lines changed Original file line number Diff line number Diff line change 4
4
* .gcov
5
5
* .gcda
6
6
* .gcno
7
- binary
7
+ os
8
8
test
9
9
example
10
- coverage
10
+ deps /
Original file line number Diff line number Diff line change 1
1
language : c
2
+
3
+ services :
4
+ - docker
5
+
2
6
compiler :
3
- - clang
4
- - gcc
5
- script : make run-test
7
+ - clang
8
+ - gcc
9
+
10
+ before_install :
11
+ - docker pull abranhe/clib
12
+ - docker run -it -v $(pwd):/src -w /src abranhe/clib sh -c "clib install"
13
+
14
+ script : docker run -it -v $(pwd):/src -w /src abranhe/clib sh -c "make run-test"
15
+
6
16
notifications :
7
- email : false
17
+ email : false
Original file line number Diff line number Diff line change 7
7
8
8
#include <stdio.h>
9
9
#include <string.h>
10
+ #include <stdlib.h>
10
11
#include "os.h"
11
12
12
- const char *
13
- show_help () {
14
- return "\n\
15
- Wanna know your operating system? - I know right :)\n\n\
16
- Usage:\n\n\
17
- $ os <flag> \n\n\
18
- Options:\n\n\
19
- -v, --version output version number\n\
20
- -h, --help output usage information\n\n\
21
- Example:\n\n\
22
- $ os\n\
23
- macOS\n\n" ;
13
+ /*
14
+ * os version.
15
+ */
16
+
17
+ #define VERSION "1.0.1"
18
+
19
+ /*
20
+ * Output usage information.
21
+ */
22
+
23
+ void
24
+ usage (void ) {
25
+ fprintf (stderr ,
26
+ "\n Usage: os [options]"
27
+ "\n"
28
+ "\n Options:"
29
+ "\n"
30
+ "\n -h, --help output help information"
31
+ "\n -v, --version output os version"
32
+ "\n"
33
+ "\n Examples:"
34
+ "\n"
35
+ "\n $ os"
36
+ "\n macOS"
37
+ "\n"
38
+ "\n"
39
+ );
40
+ exit (1 );
24
41
}
25
42
26
- /* CLI. */
43
+ /*
44
+ * Output os version.
45
+ */
46
+
47
+ void
48
+ version (void ) {
49
+ printf ("%s\n" , VERSION );
50
+ exit (0 );
51
+ }
52
+
53
+ /*
54
+ * CLI
55
+ */
56
+
27
57
int
28
58
main (int argc , char * * argv ) {
29
59
char * a = argv [1 ];
30
60
31
61
if (argc == 2 ) {
32
62
if (!strcmp (a , "-v" ) || !strcmp (a , "--version" )) {
33
- printf ( "%s" , "1.0.0\n" );
63
+ version ( );
34
64
return 0 ;
35
65
}
36
66
37
67
if (!strcmp (a , "-h" ) || !strcmp (a , "--help" )) {
38
- printf ( "%s" , show_help () );
68
+ usage ( );
39
69
return 0 ;
40
70
}
41
71
}
42
72
43
73
if (argc > 1 ) {
44
- fprintf (stderr , "\033[31mSee `--help` for details.\033[0m\n" );
74
+ fprintf (stderr ,
75
+ "\033[31mSee `--help` for details.\033[0m\n" );
45
76
return 1 ;
46
77
}
47
78
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " os" ,
3
- "version" : " 1.0.0 " ,
4
- "description" : " Wanna know your operating system? - I know right :) " ,
3
+ "version" : " 1.0.1 " ,
4
+ "description" : " Wanna know your operating system?" ,
5
5
"license" : " MIT" ,
6
6
"keywords" : [
7
7
" operating-system" ,
16
16
],
17
17
"repo" : " abranhe/os" ,
18
18
"dependencies" : {
19
- "abranhe/os.c" : " 1.0.2 "
19
+ "abranhe/os.c" : " 1.0.3 "
20
20
},
21
21
"install" : " make install"
22
22
}
Original file line number Diff line number Diff line change @@ -40,21 +40,17 @@ $ os --help
40
40
You will get:
41
41
42
42
```
43
- Wanna know your operating system? - I know right :)
43
+ Usage: os [options]
44
44
45
- Usage :
45
+ Options :
46
46
47
- $ os <flag>
47
+ -h, --help output help information
48
+ -v, --version output os version
48
49
49
- Options :
50
+ Examples :
50
51
51
- -v, --version output version number
52
- -h, --help output usage information
53
-
54
- Example:
55
-
56
- $ os
57
- macOS
52
+ $ os
53
+ macOS
58
54
```
59
55
60
56
## Related
Original file line number Diff line number Diff line change @@ -19,11 +19,11 @@ function assert {
19
19
20
20
describe " Help"
21
21
./os --help > /dev/null 2>&1
22
- assert $? 0
22
+ assert $? 1
23
23
24
24
describe " Help: short flag"
25
25
./os -h > /dev/null 2>&1
26
- assert $? 0
26
+ assert $? 1
27
27
28
28
describe " Version"
29
29
./os --version > /dev/null 2>&1
@@ -37,6 +37,14 @@ describe "Execute: more than two arguments"
37
37
./os foo bar baz > /dev/null 2>&1
38
38
assert $? 1
39
39
40
+ describe " Execute: no arguments"
41
+ ./os > /dev/null 2>&1
42
+ assert $? 0
43
+
44
+ describe " Execute: one argumet or flag"
45
+ ./os foo > /dev/null 2>&1
46
+ assert $? 1
47
+
40
48
printf " \033[32m\n(✓) Passed $tests assertions without errors\033[0m\n"
41
49
42
50
exit 0
You can’t perform that action at this time.
0 commit comments