@webos-tools/cli 3.2.0 → 3.2.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 (152) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.js +52 -52
  3. package/.vscode/c_cpp_properties.json +21 -0
  4. package/.vscode/launch.json +97 -0
  5. package/.vscode/settings.json +13 -0
  6. package/.vscode/tasks.json +32 -0
  7. package/APIs.js +79 -79
  8. package/CHANGELOG.md +11 -5
  9. package/LICENSE +201 -201
  10. package/bin/ares-config.js +1 -1
  11. package/bin/ares-device-info.js +30 -30
  12. package/bin/ares-generate.js +274 -274
  13. package/bin/ares-inspect.js +179 -179
  14. package/bin/ares-install.js +223 -223
  15. package/bin/ares-log.js +259 -259
  16. package/bin/ares-pull.js +156 -156
  17. package/bin/ares-push.js +155 -155
  18. package/bin/ares-server.js +174 -174
  19. package/bin/ares-setup-device.js +6 -10
  20. package/bin/ares-shell.js +132 -132
  21. package/bin/ares.js +166 -166
  22. package/files/conf/ares.json +1 -2
  23. package/files/conf/ipk.json +30 -30
  24. package/files/conf/novacom-devices.json +2 -2
  25. package/files/conf/query/query-app.json +14 -14
  26. package/files/conf/query/query-hosted.json +18 -18
  27. package/files/conf/query/query-package.json +10 -10
  28. package/files/conf/query/query-service.json +6 -6
  29. package/files/conf/webos_emul +27 -27
  30. package/files/conf-base/env/sdk-apollo.json +8 -8
  31. package/files/conf-base/env/sdk-ose.json +8 -8
  32. package/files/conf-base/env/sdk-tv.json +8 -8
  33. package/files/conf-base/profile/config-apollo.json +29 -29
  34. package/files/conf-base/profile/config-ose.json +29 -29
  35. package/files/conf-base/profile/config-tv.json +31 -31
  36. package/files/conf-base/query/query-app.json +14 -14
  37. package/files/conf-base/query/query-hosted.json +18 -18
  38. package/files/conf-base/query/query-package.json +10 -10
  39. package/files/conf-base/query/query-service.json +6 -6
  40. package/files/conf-base/query/signage/query-app.json +1 -1
  41. package/files/conf-base/query/signage/query-service.json +1 -1
  42. package/files/conf-base/template-conf/ose-templates.json +67 -67
  43. package/files/conf-base/template-conf/tv-sdk-templates.json +57 -57
  44. package/files/help/ares-device.help +109 -109
  45. package/files/help/ares-install.help +95 -95
  46. package/files/help/ares-launch.help +1 -1
  47. package/files/help/ares-log-pmlogd.help +84 -84
  48. package/files/help/ares-log.help +101 -101
  49. package/files/help/ares-novacom.help +68 -68
  50. package/files/help/ares-pull.help +38 -38
  51. package/files/help/ares-push.help +38 -38
  52. package/files/help/ares-server.help +44 -44
  53. package/files/help/ares-shell.help +42 -42
  54. package/files/help/ares.help +52 -52
  55. package/files/help/readme.help +23 -23
  56. package/files/schema/ApplicationDescription.schema +319 -319
  57. package/files/templates/apollo-sdk-templates/appinfo/appinfo.json +10 -10
  58. package/files/templates/apollo-sdk-templates/bootplate-web/index.html +88 -88
  59. package/files/templates/apollo-sdk-templates/hosted-webapp/index.html +13 -13
  60. package/files/templates/apollo-sdk-templates/js-service/helloclient.js +31 -31
  61. package/files/templates/apollo-sdk-templates/js-service/helloworld_webos_service.js +188 -188
  62. package/files/templates/apollo-sdk-templates/serviceinfo/package.json +11 -11
  63. package/files/templates/apollo-sdk-templates/serviceinfo/services.json +8 -8
  64. package/files/templates/ose-sdk-templates/appinfo/appinfo.json +10 -10
  65. package/files/templates/ose-sdk-templates/bootplate-web/index.html +88 -88
  66. package/files/templates/ose-sdk-templates/hosted-webapp/index.html +13 -13
  67. package/files/templates/ose-sdk-templates/js-service/helloclient.js +31 -31
  68. package/files/templates/ose-sdk-templates/js-service/helloworld_webos_service.js +188 -188
  69. package/files/templates/ose-sdk-templates/qml-app/main.qml +68 -68
  70. package/files/templates/ose-sdk-templates/qmlappinfo/appinfo.json +10 -10
  71. package/files/templates/ose-sdk-templates/serviceinfo/package.json +11 -11
  72. package/files/templates/ose-sdk-templates/serviceinfo/services.json +8 -8
  73. package/files/templates/signage-sdk-templates/Backlight_Scheduling/index.html +1 -1
  74. package/files/templates/signage-sdk-templates/Backlight_Scheduling/scheduler.js +2 -3
  75. package/files/templates/signage-sdk-templates/File_Explorer/index.html +1 -33
  76. package/files/templates/signage-sdk-templates/File_Explorer/js/Root.js +0 -9
  77. package/files/templates/tv-sdk-templates/appinfo/appinfo.json +10 -10
  78. package/files/templates/tv-sdk-templates/bootplate-web/index.html +58 -58
  79. package/files/templates/tv-sdk-templates/bootplate-web/webOSTVjs-1.2.10/LICENSE-2.0.txt +202 -202
  80. package/files/templates/tv-sdk-templates/hosted-webapp/index.html +14 -14
  81. package/files/templates/tv-sdk-templates/js-service/helloworld_service.js +39 -39
  82. package/files/templates/tv-sdk-templates/packageinfo/packageinfo.json +3 -3
  83. package/files/templates/tv-sdk-templates/serviceinfo/package.json +11 -11
  84. package/files/templates/tv-sdk-templates/serviceinfo/services.json +8 -8
  85. package/lib/base/ares.html +40 -40
  86. package/lib/base/cli-appdata.js +290 -289
  87. package/lib/base/cli-control.js +44 -44
  88. package/lib/base/common-tools.js +29 -29
  89. package/lib/base/error-handler.js +265 -265
  90. package/lib/base/file-watcher.js +155 -155
  91. package/lib/base/help-format.js +147 -147
  92. package/lib/base/luna.js +178 -178
  93. package/lib/base/novacom.js +4 -4
  94. package/lib/base/sdkenv.js +59 -59
  95. package/lib/base/server.js +137 -137
  96. package/lib/base/setup-device.js +2 -2
  97. package/lib/base/version-tools.js +79 -79
  98. package/lib/device.js +1419 -1419
  99. package/lib/generator.js +1 -1
  100. package/lib/inspect.js +493 -493
  101. package/lib/log.js +584 -584
  102. package/lib/package.js +61 -7
  103. package/lib/pull.js +231 -231
  104. package/lib/pusher.js +210 -210
  105. package/lib/session.js +74 -74
  106. package/lib/shell.js +193 -193
  107. package/lib/tar-filter-pack.js +62 -62
  108. package/lib/util/copy.js +31 -31
  109. package/lib/util/createFileName.js +40 -40
  110. package/lib/util/eof.js +30 -30
  111. package/lib/util/json.js +63 -63
  112. package/lib/util/merge.js +14 -14
  113. package/lib/util/objclone.js +40 -40
  114. package/lib/util/spinner.js +37 -37
  115. package/npm-shrinkwrap.json +2 -2
  116. package/package.json +1 -1
  117. package/scripts/postinstall.js +24 -24
  118. package/spec/helpers/reporter.js +65 -65
  119. package/spec/jsSpecs/apiTest/generator.spec.js +372 -372
  120. package/spec/jsSpecs/apiTest/inspector.spec.js +89 -89
  121. package/spec/jsSpecs/apiTest/installer.spec.js +67 -67
  122. package/spec/jsSpecs/apiTest/launcher.spec.js +150 -150
  123. package/spec/jsSpecs/apiTest/packager.spec.js +194 -194
  124. package/spec/jsSpecs/apiTest/puller.spec.js +101 -101
  125. package/spec/jsSpecs/apiTest/pusher.spec.js +103 -103
  126. package/spec/jsSpecs/apiTest/server.spec.js +115 -115
  127. package/spec/jsSpecs/apiTest/setupDevice.spec.js +93 -93
  128. package/spec/jsSpecs/apiTest/shell.spec.js +49 -49
  129. package/spec/jsSpecs/ares-config.spec.js +88 -88
  130. package/spec/jsSpecs/ares-device.spec.js +443 -443
  131. package/spec/jsSpecs/ares-generate.spec.js +397 -401
  132. package/spec/jsSpecs/ares-inspect.spec.js +252 -252
  133. package/spec/jsSpecs/ares-install.spec.js +150 -150
  134. package/spec/jsSpecs/ares-log.spec.js +824 -824
  135. package/spec/jsSpecs/ares-novacom.spec.js +149 -149
  136. package/spec/jsSpecs/ares-pull.spec.js +157 -157
  137. package/spec/jsSpecs/ares-push.spec.js +146 -146
  138. package/spec/jsSpecs/ares-setup-device.spec.js +1 -0
  139. package/spec/jsSpecs/ares-shell.spec.js +220 -220
  140. package/spec/jsSpecs/ares.spec.js +83 -83
  141. package/spec/support/jasmine.json +22 -22
  142. package/spec/tempFiles/nativeApp/auto/pkg_arm64/appinfo.json +9 -9
  143. package/spec/tempFiles/nativeApp/ose/pkg_arm/appinfo.json +8 -8
  144. package/spec/tempFiles/nativeApp/ose/pkg_arm/package.properties +2 -2
  145. package/spec/tempFiles/nativeApp/oseEmul/pkg_x86/appinfo.json +9 -9
  146. package/spec/tempFiles/nativeApp/rsi/pkg_x86/appinfo.json +9 -9
  147. package/spec/tempFiles/sign/sign.crt +32 -32
  148. package/spec/tempFiles/sign/signPriv.key +52 -52
  149. package/spec/test_data/ares-generate.json +58 -91
  150. package/spec/test_data/ares.json +50 -50
  151. package/webos-tools-cli-3.2.1.tgz +0 -0
  152. package/webos-tools-cli-3.2.0.tgz +0 -0
@@ -1,220 +1,220 @@
1
- /*
2
- * Copyright (c) 2020-2024 LG Electronics Inc.
3
- *
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /* eslint-disable no-useless-escape */
8
- const exec = require('child_process').exec,
9
- common = require('./common-spec');
10
-
11
- const aresCmd = 'ares-shell';
12
-
13
- let cmd,
14
- options,
15
- hasSession = false;
16
-
17
- beforeAll(function(done) {
18
- cmd = common.makeCmd(aresCmd);
19
- common.getOptions()
20
- .then(function(result) {
21
- options = result;
22
- done();
23
- });
24
- });
25
-
26
- describe(aresCmd, function() {
27
- it("Add device with ares-setup-device", function(done) {
28
- if (options.profile === "tv") {
29
- pending(options.skipTxt);
30
- }
31
- common.resetDeviceList()
32
- .then(function() {
33
- return common.addDeviceInfo();
34
- }).then(function(result) {
35
- expect(result).toContain(options.device);
36
- done();
37
- }).catch(function(err) {
38
- expect(err).toContain("The specified value already exist");
39
- done();
40
- });
41
- });
42
- });
43
-
44
- describe(aresCmd + ' -h -v', function() {
45
- it('Print help message with verbose log', function(done) {
46
- if (options.profile === "tv") {
47
- pending(options.skipTxt);
48
- }
49
- exec(cmd + ' -h -v', function(error, stdout, stderr) {
50
- if (stderr && stderr.length > 0) {
51
- common.detectNodeMessage(stderr);
52
- expect(stderr).toContain("verb argv");
53
- }
54
- expect(stdout).toContain("SYNOPSIS");
55
- expect(error).toBeNull();
56
- done();
57
- });
58
- });
59
- });
60
-
61
- describe(aresCmd + ' --device-list(-D)', function() {
62
- it('Show available device list', function(done) {
63
- if (options.profile === "tv") {
64
- pending(options.skipTxt);
65
- }
66
- exec(cmd + ' -D', function(error, stdout, stderr) {
67
- if (stderr && stderr.length > 0) {
68
- common.detectNodeMessage(stderr);
69
- }
70
- expect(stdout).toContain(options.device);
71
- expect(stdout).toContain(options.profile);
72
- done();
73
- });
74
- });
75
- });
76
-
77
- describe('Check if there are sessions on the device', function() {
78
- it('Check session', function(done) {
79
- if (options.profile === "tv") {
80
- pending(options.skipTxt);
81
- }
82
- const deviceCmd = common.makeCmd('ares-device');
83
- exec(deviceCmd + ` -s ${options.device}`, function(error, stdout, stderr) {
84
- if (stderr && stderr.length > 0) {
85
- common.detectNodeMessage(stderr);
86
- }
87
-
88
- if (stdout.includes("sessionId")) {
89
- hasSession = true;
90
- }
91
- done();
92
- });
93
- });
94
- });
95
- describe(aresCmd, function() {
96
- it('Open shell on default device', function(done) {
97
- if (options.profile === "tv") {
98
- pending(options.skipTxt);
99
- }
100
- exec(cmd, function(error, stdout, stderr) {
101
- if (stderr && stderr.length > 0) {
102
- common.detectNodeMessage(stderr);
103
- }
104
- expect(stdout).not.toContain("[Info] Set target device : " + options.device);
105
- done();
106
- });
107
- });
108
- });
109
-
110
- describe(aresCmd + ' --display(-dp)', function() {
111
- it('Set display', function(done) {
112
- if (options.profile === "tv") {
113
- pending(options.skipTxt);
114
- }
115
- exec(cmd + ' -dp 1', function(error, stdout, stderr) {
116
- if (stderr && stderr.length > 0) {
117
- common.detectNodeMessage(stderr);
118
- // case of auto emulator using developer user
119
- if (options.device === "emulator" && hasSession) {
120
- expect(stderr).toContain("ares-shell ERR! [Tips]: Unable to connect to the target device. root access required <connect user session>", error);
121
- } else {
122
- // TO-DO: uncaughtException TypeError: process.stdin.setRawMode is not a function
123
- // expect(stderr).toContain("ares-shell ERR! [Tips]: This device does not support multiple sessions");
124
- }
125
- } else {
126
- expect(stdout).toContain(`Start ${options.device} shell`, error);
127
- }
128
- done();
129
- });
130
- });
131
- });
132
-
133
- describe(aresCmd + ' --run in session', function() {
134
- it('Run CMD', function(done) {
135
- if (options.profile === "tv") {
136
- pending(options.skipTxt);
137
- }
138
- exec(cmd + ' -dp 1 -r \"echo hello webOS\"', function(error, stdout, stderr) {
139
- if (stderr && stderr.length > 0) {
140
- common.detectNodeMessage(stderr);
141
- // case of auto emulator using developer user
142
- if (options.device === "emulator" && hasSession) {
143
- expect(stderr).toContain("ares-shell ERR! [Tips]: Unable to connect to the target device. root access required <connect user session>", error);
144
- } else {
145
- expect(stderr).toContain("ares-shell ERR! [Tips]: This device does not support multiple sessions");
146
- }
147
- } else {
148
- expect(stdout.trim()).toBe("hello webOS", stderr);
149
- }
150
- done();
151
- });
152
- });
153
- });
154
-
155
-
156
- describe(aresCmd + ' --run echo $PATH', function() {
157
- it('Check environment variable with --run option', function(done) {
158
- if (options.profile === "tv") {
159
- pending(options.skipTxt);
160
- }
161
- let tmpCmd = cmd + ' -r \"echo \\$PATH\"';
162
- if (process.platform === "win32") {
163
- tmpCmd = cmd + ' -r \"echo $PATH\"';
164
- }
165
-
166
- exec(tmpCmd, function(error, stdout, stderr) {
167
- if (stderr && stderr.length > 0) {
168
- common.detectNodeMessage(stderr);
169
- }
170
- expect(stdout.trim()).toBe("/usr/sbin:/usr/bin:/sbin:/bin", stderr);
171
- done();
172
- });
173
- });
174
- });
175
-
176
- describe(aresCmd + ' --run echo $PATH in session', function() {
177
- it('Check environment variable with --run option', function(done) {
178
- if (options.profile === "tv") {
179
- pending(options.skipTxt);
180
- }
181
- let tmpCmd = cmd + ' -dp 1 -r \"echo \\$PATH\"';
182
- if (process.platform === "win32") {
183
- tmpCmd = cmd + ' -dp 1 -r \"echo $PATH\"';
184
- }
185
-
186
- exec(tmpCmd, function(error, stdout, stderr) {
187
- if (stderr && stderr.length > 0) {
188
- common.detectNodeMessage(stderr);
189
- // case of auto emulator using developer user
190
- if (options.device === "emulator" && hasSession) {
191
- expect(stderr).toContain("ares-shell ERR! [Tips]: Unable to connect to the target device. root access required <connect user session>", error);
192
- } else {
193
- expect(stderr).toContain("ares-shell ERR! [Tips]: This device does not support multiple sessions");
194
- }
195
- } else {
196
- expect(stdout.trim()).toBe("/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", stderr);
197
- }
198
- done();
199
- });
200
- });
201
- });
202
-
203
- describe(aresCmd + ' negative TC', function() {
204
- it('Set invalid display', function(done) {
205
- if (options.profile === "tv") {
206
- pending(options.skipTxt);
207
- }
208
- exec(cmd + ` -dp 9`, function(error, stdout, stderr) {
209
- if (stderr && stderr.length > 0) {
210
- common.detectNodeMessage(stderr);
211
- if (hasSession) {
212
- expect(stderr).toContain("ares-shell ERR! [Tips]: Invalid value <DISPLAY_ID> : 9");
213
- } else {
214
- expect(stderr).toContain("ares-shell ERR! [Tips]: This device does not support multiple sessions");
215
- }
216
- }
217
- done();
218
- });
219
- });
220
- });
1
+ /*
2
+ * Copyright (c) 2020-2024 LG Electronics Inc.
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /* eslint-disable no-useless-escape */
8
+ const exec = require('child_process').exec,
9
+ common = require('./common-spec');
10
+
11
+ const aresCmd = 'ares-shell';
12
+
13
+ let cmd,
14
+ options,
15
+ hasSession = false;
16
+
17
+ beforeAll(function(done) {
18
+ cmd = common.makeCmd(aresCmd);
19
+ common.getOptions()
20
+ .then(function(result) {
21
+ options = result;
22
+ done();
23
+ });
24
+ });
25
+
26
+ describe(aresCmd, function() {
27
+ it("Add device with ares-setup-device", function(done) {
28
+ if (options.profile === "tv") {
29
+ pending(options.skipTxt);
30
+ }
31
+ common.resetDeviceList()
32
+ .then(function() {
33
+ return common.addDeviceInfo();
34
+ }).then(function(result) {
35
+ expect(result).toContain(options.device);
36
+ done();
37
+ }).catch(function(err) {
38
+ expect(err).toContain("The specified value already exist");
39
+ done();
40
+ });
41
+ });
42
+ });
43
+
44
+ describe(aresCmd + ' -h -v', function() {
45
+ it('Print help message with verbose log', function(done) {
46
+ if (options.profile === "tv") {
47
+ pending(options.skipTxt);
48
+ }
49
+ exec(cmd + ' -h -v', function(error, stdout, stderr) {
50
+ if (stderr && stderr.length > 0) {
51
+ common.detectNodeMessage(stderr);
52
+ expect(stderr).toContain("verb argv");
53
+ }
54
+ expect(stdout).toContain("SYNOPSIS");
55
+ expect(error).toBeNull();
56
+ done();
57
+ });
58
+ });
59
+ });
60
+
61
+ describe(aresCmd + ' --device-list(-D)', function() {
62
+ it('Show available device list', function(done) {
63
+ if (options.profile === "tv") {
64
+ pending(options.skipTxt);
65
+ }
66
+ exec(cmd + ' -D', function(error, stdout, stderr) {
67
+ if (stderr && stderr.length > 0) {
68
+ common.detectNodeMessage(stderr);
69
+ }
70
+ expect(stdout).toContain(options.device);
71
+ expect(stdout).toContain(options.profile);
72
+ done();
73
+ });
74
+ });
75
+ });
76
+
77
+ describe('Check if there are sessions on the device', function() {
78
+ it('Check session', function(done) {
79
+ if (options.profile === "tv") {
80
+ pending(options.skipTxt);
81
+ }
82
+ const deviceCmd = common.makeCmd('ares-device');
83
+ exec(deviceCmd + ` -s ${options.device}`, function(error, stdout, stderr) {
84
+ if (stderr && stderr.length > 0) {
85
+ common.detectNodeMessage(stderr);
86
+ }
87
+
88
+ if (stdout.includes("sessionId")) {
89
+ hasSession = true;
90
+ }
91
+ done();
92
+ });
93
+ });
94
+ });
95
+ describe(aresCmd, function() {
96
+ it('Open shell on default device', function(done) {
97
+ if (options.profile === "tv") {
98
+ pending(options.skipTxt);
99
+ }
100
+ exec(cmd, function(error, stdout, stderr) {
101
+ if (stderr && stderr.length > 0) {
102
+ common.detectNodeMessage(stderr);
103
+ }
104
+ expect(stdout).not.toContain("[Info] Set target device : " + options.device);
105
+ done();
106
+ });
107
+ });
108
+ });
109
+
110
+ describe(aresCmd + ' --display(-dp)', function() {
111
+ it('Set display', function(done) {
112
+ if (options.profile === "tv") {
113
+ pending(options.skipTxt);
114
+ }
115
+ exec(cmd + ' -dp 1', function(error, stdout, stderr) {
116
+ if (stderr && stderr.length > 0) {
117
+ common.detectNodeMessage(stderr);
118
+ // case of auto emulator using developer user
119
+ if (options.device === "emulator" && hasSession) {
120
+ expect(stderr).toContain("ares-shell ERR! [Tips]: Unable to connect to the target device. root access required <connect user session>", error);
121
+ } else {
122
+ // TO-DO: uncaughtException TypeError: process.stdin.setRawMode is not a function
123
+ // expect(stderr).toContain("ares-shell ERR! [Tips]: This device does not support multiple sessions");
124
+ }
125
+ } else {
126
+ expect(stdout).toContain(`Start ${options.device} shell`, error);
127
+ }
128
+ done();
129
+ });
130
+ });
131
+ });
132
+
133
+ describe(aresCmd + ' --run in session', function() {
134
+ it('Run CMD', function(done) {
135
+ if (options.profile === "tv") {
136
+ pending(options.skipTxt);
137
+ }
138
+ exec(cmd + ' -dp 1 -r \"echo hello webOS\"', function(error, stdout, stderr) {
139
+ if (stderr && stderr.length > 0) {
140
+ common.detectNodeMessage(stderr);
141
+ // case of auto emulator using developer user
142
+ if (options.device === "emulator" && hasSession) {
143
+ expect(stderr).toContain("ares-shell ERR! [Tips]: Unable to connect to the target device. root access required <connect user session>", error);
144
+ } else {
145
+ expect(stderr).toContain("ares-shell ERR! [Tips]: This device does not support multiple sessions");
146
+ }
147
+ } else {
148
+ expect(stdout.trim()).toBe("hello webOS", stderr);
149
+ }
150
+ done();
151
+ });
152
+ });
153
+ });
154
+
155
+
156
+ describe(aresCmd + ' --run echo $PATH', function() {
157
+ it('Check environment variable with --run option', function(done) {
158
+ if (options.profile === "tv") {
159
+ pending(options.skipTxt);
160
+ }
161
+ let tmpCmd = cmd + ' -r \"echo \\$PATH\"';
162
+ if (process.platform === "win32") {
163
+ tmpCmd = cmd + ' -r \"echo $PATH\"';
164
+ }
165
+
166
+ exec(tmpCmd, function(error, stdout, stderr) {
167
+ if (stderr && stderr.length > 0) {
168
+ common.detectNodeMessage(stderr);
169
+ }
170
+ expect(stdout.trim()).toBe("/usr/sbin:/usr/bin:/sbin:/bin", stderr);
171
+ done();
172
+ });
173
+ });
174
+ });
175
+
176
+ describe(aresCmd + ' --run echo $PATH in session', function() {
177
+ it('Check environment variable with --run option', function(done) {
178
+ if (options.profile === "tv") {
179
+ pending(options.skipTxt);
180
+ }
181
+ let tmpCmd = cmd + ' -dp 1 -r \"echo \\$PATH\"';
182
+ if (process.platform === "win32") {
183
+ tmpCmd = cmd + ' -dp 1 -r \"echo $PATH\"';
184
+ }
185
+
186
+ exec(tmpCmd, function(error, stdout, stderr) {
187
+ if (stderr && stderr.length > 0) {
188
+ common.detectNodeMessage(stderr);
189
+ // case of auto emulator using developer user
190
+ if (options.device === "emulator" && hasSession) {
191
+ expect(stderr).toContain("ares-shell ERR! [Tips]: Unable to connect to the target device. root access required <connect user session>", error);
192
+ } else {
193
+ expect(stderr).toContain("ares-shell ERR! [Tips]: This device does not support multiple sessions");
194
+ }
195
+ } else {
196
+ expect(stdout.trim()).toBe("/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", stderr);
197
+ }
198
+ done();
199
+ });
200
+ });
201
+ });
202
+
203
+ describe(aresCmd + ' negative TC', function() {
204
+ it('Set invalid display', function(done) {
205
+ if (options.profile === "tv") {
206
+ pending(options.skipTxt);
207
+ }
208
+ exec(cmd + ` -dp 9`, function(error, stdout, stderr) {
209
+ if (stderr && stderr.length > 0) {
210
+ common.detectNodeMessage(stderr);
211
+ if (hasSession) {
212
+ expect(stderr).toContain("ares-shell ERR! [Tips]: Invalid value <DISPLAY_ID> : 9");
213
+ } else {
214
+ expect(stderr).toContain("ares-shell ERR! [Tips]: This device does not support multiple sessions");
215
+ }
216
+ }
217
+ done();
218
+ });
219
+ });
220
+ });
@@ -1,83 +1,83 @@
1
- /*
2
- * Copyright (c) 2020-2024 LG Electronics Inc.
3
- *
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- const path = require('path'),
8
- fs = require('fs'),
9
- exec = require('child_process').exec,
10
- common = require('./common-spec');
11
-
12
- const aresCmd = 'ares';
13
-
14
- let cmd,
15
- expectedList;
16
-
17
- beforeAll(function(done) {
18
- cmd = common.makeCmd(aresCmd);
19
- common.getOptions()
20
- .then(function() {
21
- return common.getExpectedResult(aresCmd);
22
- }).then(function(result) {
23
- expectedList = result.list;
24
- done();
25
- });
26
- });
27
-
28
-
29
- // ares command test
30
- describe(aresCmd + ' --list(-l)', function() {
31
- it('Should show all the ares commands', function(done) {
32
- exec(cmd + ' --list', function(error, stdout, stderr) {
33
- if (stderr && stderr.length > 0) {
34
- common.detectNodeMessage(stderr);
35
- }
36
- // get expected list
37
- expectedList = expectedList.join('\n'); // multi string in array. need to join
38
- stdout = stdout.trim().replace(/\s+['\n']/g, '\n');
39
- expect(stdout).toBe(expectedList);
40
- done();
41
- });
42
- });
43
- });
44
-
45
- describe(aresCmd + ' --version(-v)', function() {
46
- it('Check version info with package.json', function(done) {
47
- exec(cmd + ' --version', function(error, stdout, stderr) {
48
- if (stderr && stderr.length > 0) {
49
- common.detectNodeMessage(stderr);
50
- }
51
- // get CLI version
52
- const text = fs.readFileSync(path.join(__dirname, "../../", "package.json"), 'utf8');
53
- const pkgInfoObj = JSON.parse(text);
54
- const cliVersion = "Version: " + pkgInfoObj.version;
55
- expect(stdout.trim()).toBe(cliVersion);
56
- done();
57
- });
58
- });
59
- });
60
-
61
- describe(aresCmd + ' --<COMMAND>', function() {
62
- it('Display the help information of the generate', function(done) {
63
- exec(cmd + ' -generate', function(error, stdout, stderr) {
64
- if (stderr && stderr.length > 0) {
65
- common.detectNodeMessage(stderr);
66
- }
67
- expect(error).toBeNull();
68
- done();
69
- });
70
- });
71
- });
72
-
73
- describe(aresCmd + ' negative TC', function() {
74
- it('Set invalid command', function(done) {
75
- exec(cmd + ` --build`, function(error, stdout, stderr) {
76
- if (stderr && stderr.length > 0) {
77
- common.detectNodeMessage(stderr);
78
- expect(stderr).toContain("ares ERR! [Tips]: This command is invalid. Please check the supported commands using ares -l");
79
- }
80
- done();
81
- });
82
- });
83
- });
1
+ /*
2
+ * Copyright (c) 2020-2024 LG Electronics Inc.
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ const path = require('path'),
8
+ fs = require('fs'),
9
+ exec = require('child_process').exec,
10
+ common = require('./common-spec');
11
+
12
+ const aresCmd = 'ares';
13
+
14
+ let cmd,
15
+ expectedList;
16
+
17
+ beforeAll(function(done) {
18
+ cmd = common.makeCmd(aresCmd);
19
+ common.getOptions()
20
+ .then(function() {
21
+ return common.getExpectedResult(aresCmd);
22
+ }).then(function(result) {
23
+ expectedList = result.list;
24
+ done();
25
+ });
26
+ });
27
+
28
+
29
+ // ares command test
30
+ describe(aresCmd + ' --list(-l)', function() {
31
+ it('Should show all the ares commands', function(done) {
32
+ exec(cmd + ' --list', function(error, stdout, stderr) {
33
+ if (stderr && stderr.length > 0) {
34
+ common.detectNodeMessage(stderr);
35
+ }
36
+ // get expected list
37
+ expectedList = expectedList.join('\n'); // multi string in array. need to join
38
+ stdout = stdout.trim().replace(/\s+['\n']/g, '\n');
39
+ expect(stdout).toBe(expectedList);
40
+ done();
41
+ });
42
+ });
43
+ });
44
+
45
+ describe(aresCmd + ' --version(-v)', function() {
46
+ it('Check version info with package.json', function(done) {
47
+ exec(cmd + ' --version', function(error, stdout, stderr) {
48
+ if (stderr && stderr.length > 0) {
49
+ common.detectNodeMessage(stderr);
50
+ }
51
+ // get CLI version
52
+ const text = fs.readFileSync(path.join(__dirname, "../../", "package.json"), 'utf8');
53
+ const pkgInfoObj = JSON.parse(text);
54
+ const cliVersion = "Version: " + pkgInfoObj.version;
55
+ expect(stdout.trim()).toBe(cliVersion);
56
+ done();
57
+ });
58
+ });
59
+ });
60
+
61
+ describe(aresCmd + ' --<COMMAND>', function() {
62
+ it('Display the help information of the generate', function(done) {
63
+ exec(cmd + ' -generate', function(error, stdout, stderr) {
64
+ if (stderr && stderr.length > 0) {
65
+ common.detectNodeMessage(stderr);
66
+ }
67
+ expect(error).toBeNull();
68
+ done();
69
+ });
70
+ });
71
+ });
72
+
73
+ describe(aresCmd + ' negative TC', function() {
74
+ it('Set invalid command', function(done) {
75
+ exec(cmd + ` --build`, function(error, stdout, stderr) {
76
+ if (stderr && stderr.length > 0) {
77
+ common.detectNodeMessage(stderr);
78
+ expect(stderr).toContain("ares ERR! [Tips]: This command is invalid. Please check the supported commands using ares -l");
79
+ }
80
+ done();
81
+ });
82
+ });
83
+ });
@@ -1,22 +1,22 @@
1
- {
2
- "spec_dir": "spec",
3
- "spec_files": [
4
- "jsSpecs/ares-config.spec.js",
5
- "jsSpecs/ares-generate.spec.js",
6
- "jsSpecs/ares-inspect.spec.js",
7
- "jsSpecs/ares-install.spec.js",
8
- "jsSpecs/ares-launch.spec.js",
9
- "jsSpecs/ares-package.spec.js",
10
- "jsSpecs/ares-pull.spec.js",
11
- "jsSpecs/ares-push.spec.js",
12
- "jsSpecs/ares-server.spec.js",
13
- "jsSpecs/ares-setup-device.spec.js",
14
- "jsSpecs/ares-shell.spec.js",
15
- "jsSpecs/ares.spec.js",
16
- "jsSpecs/ares-device.spec.js",
17
- "jsSpecs/ares-log.spec.js"
18
- ],
19
- "helpers": [
20
- "helpers/**/*.js"
21
- ]
22
- }
1
+ {
2
+ "spec_dir": "spec",
3
+ "spec_files": [
4
+ "jsSpecs/ares-config.spec.js",
5
+ "jsSpecs/ares-generate.spec.js",
6
+ "jsSpecs/ares-inspect.spec.js",
7
+ "jsSpecs/ares-install.spec.js",
8
+ "jsSpecs/ares-launch.spec.js",
9
+ "jsSpecs/ares-package.spec.js",
10
+ "jsSpecs/ares-pull.spec.js",
11
+ "jsSpecs/ares-push.spec.js",
12
+ "jsSpecs/ares-server.spec.js",
13
+ "jsSpecs/ares-setup-device.spec.js",
14
+ "jsSpecs/ares-shell.spec.js",
15
+ "jsSpecs/ares.spec.js",
16
+ "jsSpecs/ares-device.spec.js",
17
+ "jsSpecs/ares-log.spec.js"
18
+ ],
19
+ "helpers": [
20
+ "helpers/**/*.js"
21
+ ]
22
+ }