@cloudant/couchbackup 2.9.9-SNAPSHOT.97 → 2.9.9-SNAPSHOT.99

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 (373) hide show
  1. package/.scannerwork/report-task.txt +2 -2
  2. package/.scannerwork/scanner-report/analysis-warnings.pb +2 -2
  3. package/.scannerwork/scanner-report/changesets-18.pb +1 -0
  4. package/.scannerwork/scanner-report/changesets-2.pb +1 -0
  5. package/.scannerwork/scanner-report/changesets-3.pb +1 -0
  6. package/.scannerwork/scanner-report/changesets-38.pb +1 -0
  7. package/.scannerwork/scanner-report/changesets-39.pb +1 -0
  8. package/.scannerwork/scanner-report/changesets-55.pb +1 -0
  9. package/.scannerwork/scanner-report/changesets-56.pb +1 -0
  10. package/.scannerwork/scanner-report/changesets-59.pb +1 -0
  11. package/.scannerwork/scanner-report/changesets-60.pb +1 -0
  12. package/.scannerwork/scanner-report/changesets-61.pb +1 -0
  13. package/.scannerwork/scanner-report/changesets-62.pb +1 -0
  14. package/.scannerwork/scanner-report/changesets-63.pb +1 -0
  15. package/.scannerwork/scanner-report/changesets-67.pb +1 -0
  16. package/.scannerwork/scanner-report/component-1.pb +1 -1
  17. package/.scannerwork/scanner-report/component-18.pb +1 -0
  18. package/.scannerwork/scanner-report/component-19.pb +1 -1
  19. package/.scannerwork/scanner-report/component-2.pb +1 -0
  20. package/.scannerwork/scanner-report/component-20.pb +1 -1
  21. package/.scannerwork/scanner-report/component-21.pb +1 -1
  22. package/.scannerwork/scanner-report/component-22.pb +1 -1
  23. package/.scannerwork/scanner-report/component-23.pb +1 -1
  24. package/.scannerwork/scanner-report/component-24.pb +1 -1
  25. package/.scannerwork/scanner-report/component-25.pb +1 -1
  26. package/.scannerwork/scanner-report/component-26.pb +1 -1
  27. package/.scannerwork/scanner-report/component-27.pb +1 -1
  28. package/.scannerwork/scanner-report/component-28.pb +1 -1
  29. package/.scannerwork/scanner-report/component-29.pb +1 -1
  30. package/.scannerwork/scanner-report/component-3.pb +1 -0
  31. package/.scannerwork/scanner-report/component-30.pb +1 -1
  32. package/.scannerwork/scanner-report/component-31.pb +1 -1
  33. package/.scannerwork/scanner-report/component-32.pb +1 -1
  34. package/.scannerwork/scanner-report/component-33.pb +1 -1
  35. package/.scannerwork/scanner-report/component-34.pb +1 -1
  36. package/.scannerwork/scanner-report/component-35.pb +1 -1
  37. package/.scannerwork/scanner-report/component-37.pb +1 -1
  38. package/.scannerwork/scanner-report/component-38.pb +1 -1
  39. package/.scannerwork/scanner-report/component-39.pb +1 -0
  40. package/.scannerwork/scanner-report/component-4.pb +1 -1
  41. package/.scannerwork/scanner-report/component-40.pb +1 -1
  42. package/.scannerwork/scanner-report/component-42.pb +1 -1
  43. package/.scannerwork/scanner-report/component-43.pb +1 -1
  44. package/.scannerwork/scanner-report/component-47.pb +1 -1
  45. package/.scannerwork/scanner-report/component-5.pb +1 -1
  46. package/.scannerwork/scanner-report/component-51.pb +1 -1
  47. package/.scannerwork/scanner-report/component-52.pb +1 -1
  48. package/.scannerwork/scanner-report/component-53.pb +1 -1
  49. package/.scannerwork/scanner-report/component-54.pb +1 -1
  50. package/.scannerwork/scanner-report/component-55.pb +1 -1
  51. package/.scannerwork/scanner-report/component-56.pb +1 -0
  52. package/.scannerwork/scanner-report/component-57.pb +1 -1
  53. package/.scannerwork/scanner-report/component-58.pb +1 -1
  54. package/.scannerwork/scanner-report/component-59.pb +1 -1
  55. package/.scannerwork/scanner-report/component-6.pb +1 -1
  56. package/.scannerwork/scanner-report/component-60.pb +1 -0
  57. package/.scannerwork/scanner-report/component-61.pb +1 -1
  58. package/.scannerwork/scanner-report/component-62.pb +1 -0
  59. package/.scannerwork/scanner-report/component-63.pb +1 -0
  60. package/.scannerwork/scanner-report/component-64.pb +1 -0
  61. package/.scannerwork/scanner-report/component-65.pb +1 -1
  62. package/.scannerwork/scanner-report/component-67.pb +1 -0
  63. package/.scannerwork/scanner-report/coverages-18.pb +0 -0
  64. package/.scannerwork/scanner-report/coverages-19.pb +0 -0
  65. package/.scannerwork/scanner-report/coverages-20.pb +0 -0
  66. package/.scannerwork/scanner-report/coverages-21.pb +0 -0
  67. package/.scannerwork/scanner-report/coverages-22.pb +0 -0
  68. package/.scannerwork/scanner-report/coverages-23.pb +0 -0
  69. package/.scannerwork/scanner-report/coverages-24.pb +0 -0
  70. package/.scannerwork/scanner-report/coverages-25.pb +0 -0
  71. package/.scannerwork/scanner-report/coverages-26.pb +0 -0
  72. package/.scannerwork/scanner-report/coverages-27.pb +0 -0
  73. package/.scannerwork/scanner-report/coverages-28.pb +0 -0
  74. package/.scannerwork/scanner-report/coverages-29.pb +0 -0
  75. package/.scannerwork/scanner-report/coverages-30.pb +0 -0
  76. package/.scannerwork/scanner-report/coverages-31.pb +0 -0
  77. package/.scannerwork/scanner-report/coverages-32.pb +0 -0
  78. package/.scannerwork/scanner-report/coverages-33.pb +0 -0
  79. package/.scannerwork/scanner-report/coverages-34.pb +0 -0
  80. package/.scannerwork/scanner-report/coverages-35.pb +0 -0
  81. package/.scannerwork/scanner-report/coverages-37.pb +0 -0
  82. package/.scannerwork/scanner-report/coverages-38.pb +0 -0
  83. package/.scannerwork/scanner-report/coverages-39.pb +0 -0
  84. package/.scannerwork/scanner-report/coverages-4.pb +0 -0
  85. package/.scannerwork/scanner-report/coverages-5.pb +0 -0
  86. package/.scannerwork/scanner-report/coverages-51.pb +0 -0
  87. package/.scannerwork/scanner-report/coverages-52.pb +0 -0
  88. package/.scannerwork/scanner-report/coverages-53.pb +0 -0
  89. package/.scannerwork/scanner-report/coverages-54.pb +0 -0
  90. package/.scannerwork/scanner-report/coverages-55.pb +0 -0
  91. package/.scannerwork/scanner-report/coverages-57.pb +0 -0
  92. package/.scannerwork/scanner-report/coverages-58.pb +0 -0
  93. package/.scannerwork/scanner-report/coverages-6.pb +0 -0
  94. package/.scannerwork/scanner-report/coverages-60.pb +0 -0
  95. package/.scannerwork/scanner-report/coverages-61.pb +0 -0
  96. package/.scannerwork/scanner-report/coverages-65.pb +0 -0
  97. package/.scannerwork/scanner-report/coverages-67.pb +0 -0
  98. package/.scannerwork/scanner-report/duplications-19.pb +0 -3
  99. package/.scannerwork/scanner-report/duplications-20.pb +2 -0
  100. package/.scannerwork/scanner-report/duplications-21.pb +0 -2
  101. package/.scannerwork/scanner-report/duplications-22.pb +0 -3
  102. package/.scannerwork/scanner-report/duplications-31.pb +2 -0
  103. package/.scannerwork/scanner-report/duplications-32.pb +3 -2
  104. package/.scannerwork/scanner-report/duplications-33.pb +3 -0
  105. package/.scannerwork/scanner-report/duplications-5.pb +3 -3
  106. package/.scannerwork/scanner-report/duplications-51.pb +2 -0
  107. package/.scannerwork/scanner-report/duplications-54.pb +2 -0
  108. package/.scannerwork/scanner-report/duplications-62.pb +0 -0
  109. package/.scannerwork/scanner-report/duplications-63.pb +0 -0
  110. package/.scannerwork/scanner-report/duplications-65.pb +1 -1
  111. package/.scannerwork/scanner-report/duplications-67.pb +2 -0
  112. package/.scannerwork/scanner-report/issues-23.pb +6 -0
  113. package/.scannerwork/scanner-report/issues-29.pb +2 -5
  114. package/.scannerwork/scanner-report/measures-18.pb +0 -0
  115. package/.scannerwork/scanner-report/measures-19.pb +0 -0
  116. package/.scannerwork/scanner-report/measures-20.pb +0 -0
  117. package/.scannerwork/scanner-report/measures-21.pb +0 -0
  118. package/.scannerwork/scanner-report/measures-22.pb +0 -0
  119. package/.scannerwork/scanner-report/measures-23.pb +0 -0
  120. package/.scannerwork/scanner-report/measures-24.pb +0 -0
  121. package/.scannerwork/scanner-report/measures-25.pb +0 -0
  122. package/.scannerwork/scanner-report/measures-26.pb +0 -0
  123. package/.scannerwork/scanner-report/measures-27.pb +0 -0
  124. package/.scannerwork/scanner-report/measures-28.pb +0 -0
  125. package/.scannerwork/scanner-report/measures-29.pb +0 -0
  126. package/.scannerwork/scanner-report/measures-30.pb +0 -0
  127. package/.scannerwork/scanner-report/measures-31.pb +0 -0
  128. package/.scannerwork/scanner-report/measures-32.pb +0 -0
  129. package/.scannerwork/scanner-report/measures-33.pb +0 -0
  130. package/.scannerwork/scanner-report/measures-34.pb +0 -0
  131. package/.scannerwork/scanner-report/measures-35.pb +0 -0
  132. package/.scannerwork/scanner-report/measures-37.pb +0 -0
  133. package/.scannerwork/scanner-report/measures-38.pb +0 -0
  134. package/.scannerwork/scanner-report/measures-39.pb +0 -0
  135. package/.scannerwork/scanner-report/measures-4.pb +0 -0
  136. package/.scannerwork/scanner-report/measures-40.pb +0 -0
  137. package/.scannerwork/scanner-report/measures-42.pb +0 -0
  138. package/.scannerwork/scanner-report/measures-43.pb +0 -0
  139. package/.scannerwork/scanner-report/measures-47.pb +0 -0
  140. package/.scannerwork/scanner-report/measures-5.pb +0 -0
  141. package/.scannerwork/scanner-report/measures-51.pb +0 -0
  142. package/.scannerwork/scanner-report/measures-52.pb +0 -0
  143. package/.scannerwork/scanner-report/measures-53.pb +0 -0
  144. package/.scannerwork/scanner-report/measures-54.pb +0 -0
  145. package/.scannerwork/scanner-report/measures-55.pb +0 -0
  146. package/.scannerwork/scanner-report/measures-57.pb +0 -0
  147. package/.scannerwork/scanner-report/measures-58.pb +0 -0
  148. package/.scannerwork/scanner-report/measures-59.pb +0 -0
  149. package/.scannerwork/scanner-report/measures-6.pb +0 -0
  150. package/.scannerwork/scanner-report/measures-60.pb +0 -0
  151. package/.scannerwork/scanner-report/measures-61.pb +0 -0
  152. package/.scannerwork/scanner-report/measures-64.pb +0 -0
  153. package/.scannerwork/scanner-report/measures-65.pb +0 -0
  154. package/.scannerwork/scanner-report/measures-67.pb +0 -0
  155. package/.scannerwork/scanner-report/metadata.pb +0 -0
  156. package/.scannerwork/scanner-report/source-18.txt +36 -0
  157. package/.scannerwork/scanner-report/source-19.txt +13 -110
  158. package/.scannerwork/scanner-report/source-20.txt +274 -16
  159. package/.scannerwork/scanner-report/source-21.txt +14 -271
  160. package/.scannerwork/scanner-report/source-22.txt +35 -91
  161. package/.scannerwork/scanner-report/source-23.txt +348 -74
  162. package/.scannerwork/scanner-report/source-24.txt +17 -607
  163. package/.scannerwork/scanner-report/source-25.txt +46 -7
  164. package/.scannerwork/scanner-report/source-26.txt +7 -41
  165. package/.scannerwork/scanner-report/source-27.txt +51 -19
  166. package/.scannerwork/scanner-report/source-28.txt +130 -116
  167. package/.scannerwork/scanner-report/source-29.txt +28 -347
  168. package/.scannerwork/scanner-report/source-30.txt +127 -16
  169. package/.scannerwork/scanner-report/source-31.txt +130 -85
  170. package/.scannerwork/scanner-report/source-32.txt +88 -114
  171. package/.scannerwork/scanner-report/source-33.txt +187 -99
  172. package/.scannerwork/scanner-report/source-34.txt +125 -51
  173. package/.scannerwork/scanner-report/source-35.txt +67 -122
  174. package/.scannerwork/scanner-report/source-37.txt +53 -90
  175. package/.scannerwork/scanner-report/source-38.txt +56 -167
  176. package/.scannerwork/scanner-report/source-39.txt +114 -0
  177. package/.scannerwork/scanner-report/source-4.txt +607 -16
  178. package/.scannerwork/scanner-report/source-40.txt +51 -393
  179. package/.scannerwork/scanner-report/source-42.txt +509 -104
  180. package/.scannerwork/scanner-report/source-43.txt +509 -92
  181. package/.scannerwork/scanner-report/source-47.txt +509 -41
  182. package/.scannerwork/scanner-report/source-5.txt +102 -215
  183. package/.scannerwork/scanner-report/source-51.txt +71 -59
  184. package/.scannerwork/scanner-report/source-52.txt +20 -90
  185. package/.scannerwork/scanner-report/source-53.txt +108 -25
  186. package/.scannerwork/scanner-report/source-54.txt +50 -139
  187. package/.scannerwork/scanner-report/source-55.txt +46 -509
  188. package/.scannerwork/scanner-report/source-57.txt +90 -56
  189. package/.scannerwork/scanner-report/source-58.txt +84 -36
  190. package/.scannerwork/scanner-report/source-59.txt +31 -509
  191. package/.scannerwork/scanner-report/source-6.txt +80 -48
  192. package/.scannerwork/scanner-report/source-60.txt +164 -0
  193. package/.scannerwork/scanner-report/source-61.txt +80 -509
  194. package/.scannerwork/scanner-report/source-64.txt +509 -0
  195. package/.scannerwork/scanner-report/source-65.txt +49 -64
  196. package/.scannerwork/scanner-report/{source-66.txt → source-67.txt} +64 -49
  197. package/.scannerwork/scanner-report/symbols-18.pb +14 -0
  198. package/.scannerwork/scanner-report/symbols-19.pb +10 -97
  199. package/.scannerwork/scanner-report/symbols-20.pb +485 -16
  200. package/.scannerwork/scanner-report/symbols-21.pb +11 -486
  201. package/.scannerwork/scanner-report/symbols-22.pb +42 -76
  202. package/.scannerwork/scanner-report/symbols-23.pb +494 -60
  203. package/.scannerwork/scanner-report/symbols-24.pb +16 -1253
  204. package/.scannerwork/scanner-report/symbols-25.pb +36 -9
  205. package/.scannerwork/scanner-report/symbols-26.pb +9 -43
  206. package/.scannerwork/scanner-report/symbols-27.pb +45 -11
  207. package/.scannerwork/scanner-report/symbols-28.pb +108 -112
  208. package/.scannerwork/scanner-report/symbols-29.pb +26 -493
  209. package/.scannerwork/scanner-report/symbols-30.pb +85 -14
  210. package/.scannerwork/scanner-report/symbols-31.pb +102 -69
  211. package/.scannerwork/scanner-report/symbols-32.pb +77 -102
  212. package/.scannerwork/scanner-report/symbols-33.pb +385 -103
  213. package/.scannerwork/scanner-report/symbols-34.pb +116 -36
  214. package/.scannerwork/scanner-report/symbols-35.pb +60 -85
  215. package/.scannerwork/scanner-report/symbols-37.pb +30 -28
  216. package/.scannerwork/scanner-report/symbols-38.pb +19 -0
  217. package/.scannerwork/scanner-report/symbols-39.pb +28 -0
  218. package/.scannerwork/scanner-report/symbols-4.pb +1253 -9
  219. package/.scannerwork/scanner-report/symbols-5.pb +97 -394
  220. package/.scannerwork/scanner-report/symbols-51.pb +43 -45
  221. package/.scannerwork/scanner-report/symbols-52.pb +17 -58
  222. package/.scannerwork/scanner-report/symbols-53.pb +33 -20
  223. package/.scannerwork/scanner-report/symbols-54.pb +42 -126
  224. package/.scannerwork/scanner-report/symbols-55.pb +20 -0
  225. package/.scannerwork/scanner-report/symbols-57.pb +58 -29
  226. package/.scannerwork/scanner-report/symbols-58.pb +41 -18
  227. package/.scannerwork/scanner-report/symbols-6.pb +68 -44
  228. package/.scannerwork/scanner-report/symbols-60.pb +126 -0
  229. package/.scannerwork/scanner-report/symbols-61.pb +46 -0
  230. package/.scannerwork/scanner-report/symbols-65.pb +149 -176
  231. package/.scannerwork/scanner-report/symbols-67.pb +180 -0
  232. package/.scannerwork/scanner-report/syntax-highlightings-18.pb +54 -0
  233. package/.scannerwork/scanner-report/syntax-highlightings-19.pb +13 -145
  234. package/.scannerwork/scanner-report/syntax-highlightings-20.pb +623 -27
  235. package/.scannerwork/scanner-report/syntax-highlightings-21.pb +25 -625
  236. package/.scannerwork/scanner-report/syntax-highlightings-22.pb +43 -119
  237. package/.scannerwork/scanner-report/syntax-highlightings-23.pb +593 -73
  238. package/.scannerwork/scanner-report/syntax-highlightings-24.pb +27 -851
  239. package/.scannerwork/scanner-report/syntax-highlightings-25.pb +61 -14
  240. package/.scannerwork/scanner-report/syntax-highlightings-26.pb +13 -47
  241. package/.scannerwork/scanner-report/syntax-highlightings-27.pb +76 -25
  242. package/.scannerwork/scanner-report/syntax-highlightings-28.pb +186 -97
  243. package/.scannerwork/scanner-report/syntax-highlightings-29.pb +31 -593
  244. package/.scannerwork/scanner-report/syntax-highlightings-30.pb +158 -21
  245. package/.scannerwork/scanner-report/syntax-highlightings-31.pb +187 -65
  246. package/.scannerwork/scanner-report/syntax-highlightings-32.pb +118 -187
  247. package/.scannerwork/scanner-report/syntax-highlightings-33.pb +269 -163
  248. package/.scannerwork/scanner-report/syntax-highlightings-34.pb +98 -59
  249. package/.scannerwork/scanner-report/syntax-highlightings-35.pb +67 -148
  250. package/.scannerwork/scanner-report/syntax-highlightings-37.pb +82 -117
  251. package/.scannerwork/scanner-report/syntax-highlightings-38.pb +54 -921
  252. package/.scannerwork/scanner-report/syntax-highlightings-39.pb +138 -0
  253. package/.scannerwork/scanner-report/syntax-highlightings-4.pb +851 -14
  254. package/.scannerwork/scanner-report/syntax-highlightings-40.pb +727 -3526
  255. package/.scannerwork/scanner-report/syntax-highlightings-42.pb +3737 -105
  256. package/.scannerwork/scanner-report/syntax-highlightings-43.pb +3738 -79
  257. package/.scannerwork/scanner-report/syntax-highlightings-47.pb +3737 -39
  258. package/.scannerwork/scanner-report/syntax-highlightings-5.pb +147 -294
  259. package/.scannerwork/scanner-report/syntax-highlightings-51.pb +52 -57
  260. package/.scannerwork/scanner-report/syntax-highlightings-52.pb +17 -100
  261. package/.scannerwork/scanner-report/syntax-highlightings-53.pb +94 -29
  262. package/.scannerwork/scanner-report/syntax-highlightings-54.pb +39 -174
  263. package/.scannerwork/scanner-report/syntax-highlightings-55.pb +53 -3736
  264. package/.scannerwork/scanner-report/syntax-highlightings-57.pb +108 -78
  265. package/.scannerwork/scanner-report/syntax-highlightings-58.pb +97 -63
  266. package/.scannerwork/scanner-report/syntax-highlightings-59.pb +34 -3738
  267. package/.scannerwork/scanner-report/syntax-highlightings-6.pb +66 -71
  268. package/.scannerwork/scanner-report/syntax-highlightings-60.pb +213 -0
  269. package/.scannerwork/scanner-report/syntax-highlightings-61.pb +84 -3736
  270. package/.scannerwork/scanner-report/syntax-highlightings-64.pb +3747 -0
  271. package/.scannerwork/scanner-report/syntax-highlightings-65.pb +127 -138
  272. package/.scannerwork/scanner-report/syntax-highlightings-67.pb +225 -0
  273. package/package.json +3 -3
  274. package/test-14-results.xml +143 -143
  275. package/test-16-results.xml +147 -147
  276. package/test-18-results.xml +158 -158
  277. package/test-19-results.xml +154 -154
  278. package/test-iam-18-results.xml +50 -50
  279. package/.scannerwork/scanner-report/changesets-36.pb +0 -1
  280. package/.scannerwork/scanner-report/changesets-41.pb +0 -1
  281. package/.scannerwork/scanner-report/changesets-42.pb +0 -1
  282. package/.scannerwork/scanner-report/changesets-43.pb +0 -1
  283. package/.scannerwork/scanner-report/changesets-44.pb +0 -1
  284. package/.scannerwork/scanner-report/changesets-45.pb +0 -1
  285. package/.scannerwork/scanner-report/changesets-46.pb +0 -1
  286. package/.scannerwork/scanner-report/changesets-47.pb +0 -1
  287. package/.scannerwork/scanner-report/changesets-48.pb +0 -1
  288. package/.scannerwork/scanner-report/changesets-49.pb +0 -1
  289. package/.scannerwork/scanner-report/changesets-66.pb +0 -1
  290. package/.scannerwork/scanner-report/changesets-69.pb +0 -1
  291. package/.scannerwork/scanner-report/changesets-7.pb +0 -1
  292. package/.scannerwork/scanner-report/component-36.pb +0 -1
  293. package/.scannerwork/scanner-report/component-41.pb +0 -1
  294. package/.scannerwork/scanner-report/component-44.pb +0 -1
  295. package/.scannerwork/scanner-report/component-45.pb +0 -1
  296. package/.scannerwork/scanner-report/component-46.pb +0 -1
  297. package/.scannerwork/scanner-report/component-48.pb +0 -1
  298. package/.scannerwork/scanner-report/component-49.pb +0 -1
  299. package/.scannerwork/scanner-report/component-66.pb +0 -1
  300. package/.scannerwork/scanner-report/component-69.pb +0 -1
  301. package/.scannerwork/scanner-report/component-7.pb +0 -1
  302. package/.scannerwork/scanner-report/coverages-42.pb +0 -0
  303. package/.scannerwork/scanner-report/coverages-43.pb +0 -0
  304. package/.scannerwork/scanner-report/coverages-45.pb +0 -0
  305. package/.scannerwork/scanner-report/coverages-47.pb +0 -0
  306. package/.scannerwork/scanner-report/coverages-49.pb +0 -0
  307. package/.scannerwork/scanner-report/coverages-66.pb +0 -0
  308. package/.scannerwork/scanner-report/coverages-7.pb +0 -0
  309. package/.scannerwork/scanner-report/duplications-43.pb +0 -2
  310. package/.scannerwork/scanner-report/duplications-45.pb +0 -2
  311. package/.scannerwork/scanner-report/duplications-66.pb +0 -2
  312. package/.scannerwork/scanner-report/issues-7.pb +0 -3
  313. package/.scannerwork/scanner-report/measures-41.pb +0 -0
  314. package/.scannerwork/scanner-report/measures-45.pb +0 -0
  315. package/.scannerwork/scanner-report/measures-49.pb +0 -0
  316. package/.scannerwork/scanner-report/measures-66.pb +0 -0
  317. package/.scannerwork/scanner-report/measures-7.pb +0 -0
  318. package/.scannerwork/scanner-report/source-41.txt +0 -31
  319. package/.scannerwork/scanner-report/source-45.txt +0 -75
  320. package/.scannerwork/scanner-report/source-49.txt +0 -129
  321. package/.scannerwork/scanner-report/source-7.txt +0 -47
  322. package/.scannerwork/scanner-report/symbols-42.pb +0 -42
  323. package/.scannerwork/scanner-report/symbols-43.pb +0 -44
  324. package/.scannerwork/scanner-report/symbols-45.pb +0 -42
  325. package/.scannerwork/scanner-report/symbols-47.pb +0 -18
  326. package/.scannerwork/scanner-report/symbols-49.pb +0 -33
  327. package/.scannerwork/scanner-report/symbols-66.pb +0 -153
  328. package/.scannerwork/scanner-report/symbols-7.pb +0 -27
  329. package/.scannerwork/scanner-report/syntax-highlightings-41.pb +0 -45
  330. package/.scannerwork/scanner-report/syntax-highlightings-45.pb +0 -78
  331. package/.scannerwork/scanner-report/syntax-highlightings-49.pb +0 -129
  332. package/.scannerwork/scanner-report/syntax-highlightings-66.pb +0 -214
  333. package/.scannerwork/scanner-report/syntax-highlightings-7.pb +0 -68
  334. /package/.scannerwork/scanner-report/{coverages-69.pb → coverages-2.pb} +0 -0
  335. /package/.scannerwork/scanner-report/{coverages-36.pb → coverages-3.pb} +0 -0
  336. /package/.scannerwork/scanner-report/{coverages-46.pb → coverages-56.pb} +0 -0
  337. /package/.scannerwork/scanner-report/{coverages-41.pb → coverages-59.pb} +0 -0
  338. /package/.scannerwork/scanner-report/{coverages-44.pb → coverages-62.pb} +0 -0
  339. /package/.scannerwork/scanner-report/{coverages-48.pb → coverages-63.pb} +0 -0
  340. /package/.scannerwork/scanner-report/{duplications-26.pb → duplications-18.pb} +0 -0
  341. /package/.scannerwork/scanner-report/{duplications-41.pb → duplications-2.pb} +0 -0
  342. /package/.scannerwork/scanner-report/{duplications-42.pb → duplications-25.pb} +0 -0
  343. /package/.scannerwork/scanner-report/{duplications-36.pb → duplications-3.pb} +0 -0
  344. /package/.scannerwork/scanner-report/{duplications-44.pb → duplications-38.pb} +0 -0
  345. /package/.scannerwork/scanner-report/{duplications-46.pb → duplications-39.pb} +0 -0
  346. /package/.scannerwork/scanner-report/{duplications-47.pb → duplications-55.pb} +0 -0
  347. /package/.scannerwork/scanner-report/{duplications-48.pb → duplications-56.pb} +0 -0
  348. /package/.scannerwork/scanner-report/{duplications-49.pb → duplications-59.pb} +0 -0
  349. /package/.scannerwork/scanner-report/{duplications-69.pb → duplications-60.pb} +0 -0
  350. /package/.scannerwork/scanner-report/{duplications-7.pb → duplications-61.pb} +0 -0
  351. /package/.scannerwork/scanner-report/{issues-5.pb → issues-33.pb} +0 -0
  352. /package/.scannerwork/scanner-report/{issues-28.pb → issues-34.pb} +0 -0
  353. /package/.scannerwork/scanner-report/{measures-69.pb → measures-2.pb} +0 -0
  354. /package/.scannerwork/scanner-report/{measures-36.pb → measures-3.pb} +0 -0
  355. /package/.scannerwork/scanner-report/{measures-46.pb → measures-56.pb} +0 -0
  356. /package/.scannerwork/scanner-report/{measures-44.pb → measures-62.pb} +0 -0
  357. /package/.scannerwork/scanner-report/{measures-48.pb → measures-63.pb} +0 -0
  358. /package/.scannerwork/scanner-report/{source-69.txt → source-2.txt} +0 -0
  359. /package/.scannerwork/scanner-report/{source-36.txt → source-3.txt} +0 -0
  360. /package/.scannerwork/scanner-report/{source-46.txt → source-56.txt} +0 -0
  361. /package/.scannerwork/scanner-report/{source-44.txt → source-62.txt} +0 -0
  362. /package/.scannerwork/scanner-report/{source-48.txt → source-63.txt} +0 -0
  363. /package/.scannerwork/scanner-report/{symbols-69.pb → symbols-2.pb} +0 -0
  364. /package/.scannerwork/scanner-report/{symbols-36.pb → symbols-3.pb} +0 -0
  365. /package/.scannerwork/scanner-report/{symbols-46.pb → symbols-56.pb} +0 -0
  366. /package/.scannerwork/scanner-report/{symbols-41.pb → symbols-59.pb} +0 -0
  367. /package/.scannerwork/scanner-report/{symbols-44.pb → symbols-62.pb} +0 -0
  368. /package/.scannerwork/scanner-report/{symbols-48.pb → symbols-63.pb} +0 -0
  369. /package/.scannerwork/scanner-report/{syntax-highlightings-69.pb → syntax-highlightings-2.pb} +0 -0
  370. /package/.scannerwork/scanner-report/{syntax-highlightings-36.pb → syntax-highlightings-3.pb} +0 -0
  371. /package/.scannerwork/scanner-report/{syntax-highlightings-46.pb → syntax-highlightings-56.pb} +0 -0
  372. /package/.scannerwork/scanner-report/{syntax-highlightings-44.pb → syntax-highlightings-62.pb} +0 -0
  373. /package/.scannerwork/scanner-report/{syntax-highlightings-48.pb → syntax-highlightings-63.pb} +0 -0
@@ -1,4 +1,4 @@
1
- // Copyright © 2023 IBM Corp. All rights reserved.
1
+ // Copyright © 2017, 2022 IBM Corp. All rights reserved.
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -12,89 +12,134 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
+ /* global describe it beforeEach */
15
16
  'use strict';
16
17
 
17
- const chunk = require('lodash/chunk');
18
- const difference = require('lodash/difference');
19
- const forOwn = require('lodash/forOwn');
20
- const isEmpty = require('lodash/isEmpty');
21
- const union = require('lodash/union');
22
-
23
- const compare = async(database1, database2, client) => {
24
- // check docs same in both dbs
25
- const allDocs1 = await getAllDocs(client, database1);
26
- const allDocs2 = await getAllDocs(client, database2);
27
-
28
- const onlyInDb1 = (difference(allDocs1, allDocs2));
29
- const onlyInDb2 = (difference(allDocs2, allDocs1));
30
-
31
- let databasesSame = isEmpty(onlyInDb1) && isEmpty(onlyInDb2);
32
-
33
- if (!databasesSame) {
34
- console.log(onlyInDb1.length + ' documents only in db 1.');
35
- console.log('Document IDs only in db 1: ' + onlyInDb1);
36
- console.log(onlyInDb2.length + ' documents only in db 2.');
37
- console.log('Document IDs only in db 2: ' + onlyInDb2);
38
- }
39
-
40
- // check revs same in docs common to both dbs
41
- const partitionSize = 500;
42
- const batches = chunk(union(allDocs1, allDocs2), partitionSize);
43
-
44
- const missingRevsInDb2 = await getMissingRevs(client, database1, database2, batches);
45
- const missingRevsInDb1 = await getMissingRevs(client, database2, database1, batches);
46
-
47
- databasesSame = databasesSame && isEmpty(missingRevsInDb1) && isEmpty(missingRevsInDb2);
48
-
49
- if (!databasesSame) {
50
- console.log('Missing revs in db 1:' + JSON.stringify(missingRevsInDb1));
51
- console.log('Missing revs in db 2:' + JSON.stringify(missingRevsInDb2));
52
- }
53
-
54
- return databasesSame;
55
- };
56
-
57
- const getMissingRevs = async(client, databaseName1, databaseName2, batcheses) => {
58
- const fakeRevisionId = '9999-a';
59
-
60
- const missing = {};
61
-
62
- // look in db1 - use a fake revision ID to fetch all leaf revisions
63
-
64
- for (const batches of batcheses) {
65
- const documentRevisions = {};
66
- batches.forEach(id => (documentRevisions[id] = [fakeRevisionId]));
67
-
68
- const result1 = await client.postRevsDiff({ db: databaseName1, documentRevisions });
69
- const revsDiffRequestDb2 = {};
70
- forOwn(result1.result, (v, k) => (revsDiffRequestDb2[k] = v.possible_ancestors));
71
- // look in db2
72
- const result2 = await client.postRevsDiff({ db: databaseName2, documentRevisions: revsDiffRequestDb2 });
73
- forOwn(result2.result, (v, k) => {
74
- if ('missing' in v) {
75
- missing[k] = v.missing;
76
- }
77
- });
78
- }
79
- return missing;
80
- };
81
-
82
- const getAllDocs = async(client, database) => {
83
- let allDocIds = [];
84
- const limit = 2000;
85
- let startKey = '\u0000';
86
- do {
87
- const pageOfDocIds = (await client.postAllDocs({ db: database, startKey, limit })).result.rows.map(r => r.id);
88
- allDocIds = allDocIds.concat(pageOfDocIds);
89
- if (pageOfDocIds.length < limit) {
90
- startKey = null;
91
- } else {
92
- startKey = pageOfDocIds[limit - 1] + '\u0000';
93
- }
94
- } while (startKey != null);
95
- return allDocIds;
96
- };
97
-
98
- module.exports = {
99
- compare
100
- };
18
+ const assert = require('assert');
19
+ const backup = require('../includes/shallowbackup.js');
20
+ const request = require('../includes/request.js');
21
+ const fs = require('fs');
22
+ const nock = require('nock');
23
+
24
+ // Function to create a DB object and call the shallow backup function
25
+ // This is normally done by app.js
26
+ function shallowBackup(dbUrl, opts) {
27
+ const db = request.client(dbUrl, opts);
28
+ // Disable compression to make body assertions easier
29
+ db.service.setEnableGzipCompression(false);
30
+ return backup(db, opts);
31
+ }
32
+
33
+ // Note all these tests include a body parameter of include_docs and a query
34
+ // string of include_docs because of a quirk of nano that when using the fetch
35
+ // method always adds the include_docs query string.
36
+ describe('#unit Perform backup using shallow backup', function() {
37
+ const dbUrl = 'http://localhost:5984/animaldb';
38
+ // Query string keys are stringified by Nano
39
+ const badgerKey = 'badger\0';
40
+ const kookaburraKey = 'kookaburra\0';
41
+ const snipeKey = 'snipe\0';
42
+
43
+ beforeEach('Reset nocks', function() {
44
+ nock.cleanAll();
45
+ });
46
+
47
+ it('should perform a shallow backup', function(done) {
48
+ const couch = nock(dbUrl)
49
+ // batch 1
50
+ .post('/_all_docs', { limit: 3, include_docs: true })
51
+ .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_1.json', 'utf8')))
52
+ // batch 2
53
+ .post('/_all_docs', { limit: 3, start_key: badgerKey, include_docs: true })
54
+ .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_2.json', 'utf8')))
55
+ // batch 3
56
+ .post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
57
+ .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_3.json', 'utf8')))
58
+ // batch 4
59
+ .post('/_all_docs', { limit: 3, start_key: snipeKey, include_docs: true })
60
+ .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_4.json', 'utf8')));
61
+
62
+ shallowBackup(dbUrl, { bufferSize: 3, parallelism: 1 })
63
+ .on('error', function(err) {
64
+ assert.fail(err);
65
+ })
66
+ .on('received', function(data) {
67
+ if (data.batch === 3) {
68
+ assert.strictEqual(data.length, 2); // smaller last batch
69
+ } else {
70
+ assert.strictEqual(data.length, 3);
71
+ }
72
+ })
73
+ .on('finished', function(data) {
74
+ assert.strictEqual(data.total, 11);
75
+ assert.ok(couch.isDone());
76
+ done();
77
+ });
78
+ });
79
+
80
+ it('should perform a shallow backup with transient error', function(done) {
81
+ const couch = nock(dbUrl)
82
+ // batch 1
83
+ .post('/_all_docs', { limit: 3, include_docs: true })
84
+ .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_1.json', 'utf8')))
85
+ // batch 2
86
+ .post('/_all_docs', { limit: 3, start_key: badgerKey, include_docs: true })
87
+ .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_2.json', 'utf8')))
88
+ // batch 3 - transient error
89
+ .post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
90
+ .reply(500, { error: 'Internal Server Error' })
91
+ // batch 3 - retry
92
+ .post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
93
+ .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_3.json', 'utf8')))
94
+ // batch 4
95
+ .post('/_all_docs', { limit: 3, start_key: snipeKey, include_docs: true })
96
+ .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_4.json', 'utf8')));
97
+
98
+ shallowBackup(dbUrl, { bufferSize: 3, parallelism: 1 })
99
+ .on('error', function(err) {
100
+ assert.strictEqual(err.name, 'HTTPError');
101
+ })
102
+ .on('received', function(data) {
103
+ if (data.batch === 3) {
104
+ assert.strictEqual(data.length, 2); // smaller last batch
105
+ } else {
106
+ assert.strictEqual(data.length, 3);
107
+ }
108
+ })
109
+ .on('finished', function(data) {
110
+ assert.strictEqual(data.total, 11);
111
+ assert.ok(couch.isDone());
112
+ done();
113
+ });
114
+ });
115
+
116
+ it('should fail to perform a shallow backup on fatal error', function(done) {
117
+ const couch = nock(dbUrl)
118
+ // batch 1
119
+ .post('/_all_docs', { limit: 3, include_docs: true })
120
+ .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_1.json', 'utf8')))
121
+ // batch 2
122
+ .post('/_all_docs', { limit: 3, start_key: badgerKey, include_docs: true })
123
+ .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_2.json', 'utf8')))
124
+ // batch 3 - fatal error
125
+ .post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
126
+ .reply(401, { error: 'Unauthorized' });
127
+
128
+ let errCount = 0;
129
+
130
+ shallowBackup(dbUrl, { bufferSize: 3, parallelism: 1 })
131
+ .on('error', function(err) {
132
+ errCount++;
133
+ assert.strictEqual(err.name, 'Unauthorized');
134
+ })
135
+ .on('received', function(data) {
136
+ assert.strictEqual(data.length, 3);
137
+ })
138
+ .on('finished', function(data) {
139
+ assert.strictEqual(data.total, 6);
140
+ assert.ok(couch.isDone());
141
+ assert.strictEqual(errCount, 1);
142
+ done();
143
+ });
144
+ });
145
+ });
@@ -1,4 +1,4 @@
1
- // Copyright © 2017, 2022 IBM Corp. All rights reserved.
1
+ // Copyright © 2017 IBM Corp. All rights reserved.
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -12,134 +12,108 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- /* global describe it beforeEach */
15
+ /* global describe it */
16
16
  'use strict';
17
17
 
18
18
  const assert = require('assert');
19
- const backup = require('../includes/shallowbackup.js');
20
- const request = require('../includes/request.js');
21
19
  const fs = require('fs');
22
- const nock = require('nock');
20
+ const u = require('./citestutils.js');
23
21
 
24
- // Function to create a DB object and call the shallow backup function
25
- // This is normally done by app.js
26
- function shallowBackup(dbUrl, opts) {
27
- const db = request.client(dbUrl, opts);
28
- // Disable compression to make body assertions easier
29
- db.service.setEnableGzipCompression(false);
30
- return backup(db, opts);
31
- }
22
+ [{ useApi: true }, { useApi: false }].forEach(function(params) {
23
+ describe(u.scenario('Resume tests', params), function() {
24
+ it('should create a log file', function(done) {
25
+ // Allow up to 90 s for this test
26
+ u.setTimeout(this, 60);
32
27
 
33
- // Note all these tests include a body parameter of include_docs and a query
34
- // string of include_docs because of a quirk of nano that when using the fetch
35
- // method always adds the include_docs query string.
36
- describe('#unit Perform backup using shallow backup', function() {
37
- const dbUrl = 'http://localhost:5984/animaldb';
38
- // Query string keys are stringified by Nano
39
- const badgerKey = 'badger\0';
40
- const kookaburraKey = 'kookaburra\0';
41
- const snipeKey = 'snipe\0';
42
-
43
- beforeEach('Reset nocks', function() {
44
- nock.cleanAll();
45
- });
46
-
47
- it('should perform a shallow backup', function(done) {
48
- const couch = nock(dbUrl)
49
- // batch 1
50
- .post('/_all_docs', { limit: 3, include_docs: true })
51
- .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_1.json', 'utf8')))
52
- // batch 2
53
- .post('/_all_docs', { limit: 3, start_key: badgerKey, include_docs: true })
54
- .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_2.json', 'utf8')))
55
- // batch 3
56
- .post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
57
- .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_3.json', 'utf8')))
58
- // batch 4
59
- .post('/_all_docs', { limit: 3, start_key: snipeKey, include_docs: true })
60
- .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_4.json', 'utf8')));
61
-
62
- shallowBackup(dbUrl, { bufferSize: 3, parallelism: 1 })
63
- .on('error', function(err) {
64
- assert.fail(err);
65
- })
66
- .on('received', function(data) {
67
- if (data.batch === 3) {
68
- assert.strictEqual(data.length, 2); // smaller last batch
28
+ const actualBackup = `./${this.fileName}`;
29
+ const logFile = `./${this.fileName}` + '.log';
30
+ // Use abort parameter to terminate the backup a given number of ms after
31
+ // the first data write to the output file.
32
+ const p = u.p(params, { opts: { log: logFile } });
33
+ u.testBackupToFile(p, 'animaldb', actualBackup, function(err) {
34
+ if (err) {
35
+ done(err);
69
36
  } else {
70
- assert.strictEqual(data.length, 3);
37
+ // Assert the log file exists
38
+ try {
39
+ assert.ok(fs.existsSync(logFile), 'The log file should exist.');
40
+ done();
41
+ } catch (err) {
42
+ done(err);
43
+ }
71
44
  }
72
- })
73
- .on('finished', function(data) {
74
- assert.strictEqual(data.total, 11);
75
- assert.ok(couch.isDone());
76
- done();
77
45
  });
78
- });
46
+ });
79
47
 
80
- it('should perform a shallow backup with transient error', function(done) {
81
- const couch = nock(dbUrl)
82
- // batch 1
83
- .post('/_all_docs', { limit: 3, include_docs: true })
84
- .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_1.json', 'utf8')))
85
- // batch 2
86
- .post('/_all_docs', { limit: 3, start_key: badgerKey, include_docs: true })
87
- .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_2.json', 'utf8')))
88
- // batch 3 - transient error
89
- .post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
90
- .reply(500, { error: 'Internal Server Error' })
91
- // batch 3 - retry
92
- .post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
93
- .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_3.json', 'utf8')))
94
- // batch 4
95
- .post('/_all_docs', { limit: 3, start_key: snipeKey, include_docs: true })
96
- .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_4.json', 'utf8')));
48
+ it('should restore corrupted animaldb to a database correctly', function(done) {
49
+ // Allow up to 60 s to restore and compare (again it should be faster)!
50
+ u.setTimeout(this, 60);
51
+ const input = fs.createReadStream('./test/fixtures/animaldb_corrupted.json');
52
+ const dbName = this.dbName;
53
+ input.on('open', function() {
54
+ u.testRestore(params, input, dbName, function(err) {
55
+ if (err) {
56
+ done(err);
57
+ } else {
58
+ u.dbCompare('animaldb', dbName, done);
59
+ }
60
+ });
61
+ });
62
+ });
97
63
 
98
- shallowBackup(dbUrl, { bufferSize: 3, parallelism: 1 })
99
- .on('error', function(err) {
100
- assert.strictEqual(err.name, 'HTTPError');
101
- })
102
- .on('received', function(data) {
103
- if (data.batch === 3) {
104
- assert.strictEqual(data.length, 2); // smaller last batch
105
- } else {
106
- assert.strictEqual(data.length, 3);
107
- }
108
- })
109
- .on('finished', function(data) {
110
- assert.strictEqual(data.total, 11);
111
- assert.ok(couch.isDone());
112
- done();
64
+ it('should restore resumed animaldb with blank line to a database correctly', function(done) {
65
+ // Allow up to 60 s to restore and compare (again it should be faster)!
66
+ u.setTimeout(this, 60);
67
+ const input = fs.createReadStream('./test/fixtures/animaldb_resumed_blank.json');
68
+ const dbName = this.dbName;
69
+ input.on('open', function() {
70
+ u.testRestore(params, input, dbName, function(err) {
71
+ if (err) {
72
+ done(err);
73
+ } else {
74
+ u.dbCompare('animaldb', dbName, done);
75
+ }
76
+ });
113
77
  });
78
+ });
114
79
  });
80
+ });
115
81
 
116
- it('should fail to perform a shallow backup on fatal error', function(done) {
117
- const couch = nock(dbUrl)
118
- // batch 1
119
- .post('/_all_docs', { limit: 3, include_docs: true })
120
- .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_1.json', 'utf8')))
121
- // batch 2
122
- .post('/_all_docs', { limit: 3, start_key: badgerKey, include_docs: true })
123
- .reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_2.json', 'utf8')))
124
- // batch 3 - fatal error
125
- .post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
126
- .reply(401, { error: 'Unauthorized' });
82
+ describe('Resume tests', function() {
83
+ // Currently cannot abort API backups, when we do this test should be run for
84
+ // both API and CLI
85
+ it('should correctly backup and restore backup10m', function(done) {
86
+ // Allow up to 90 s for this test
87
+ u.setTimeout(this, 90);
127
88
 
128
- let errCount = 0;
89
+ const actualBackup = `./${this.fileName}`;
90
+ const logFile = `./${this.fileName}` + '.log';
91
+ // Use abort parameter to terminate the backup a given number of ms after
92
+ // the first data write to the output file.
93
+ const p = u.p(params, { abort: true }, { opts: { log: logFile } });
94
+ const restoreDb = this.dbName;
95
+ // Set the database doc count as fewer than this should be written during
96
+ // resumed backup.
97
+ p.exclusiveMaxExpected = 5096;
129
98
 
130
- shallowBackup(dbUrl, { bufferSize: 3, parallelism: 1 })
131
- .on('error', function(err) {
132
- errCount++;
133
- assert.strictEqual(err.name, 'Unauthorized');
134
- })
135
- .on('received', function(data) {
136
- assert.strictEqual(data.length, 3);
137
- })
138
- .on('finished', function(data) {
139
- assert.strictEqual(data.total, 6);
140
- assert.ok(couch.isDone());
141
- assert.strictEqual(errCount, 1);
142
- done();
143
- });
99
+ u.testBackupAbortResumeRestore(p, 'backup10m', actualBackup, restoreDb, done);
100
+ });
101
+ // Note --output is only valid for CLI usage, this test should only run for CLI
102
+ const params = { useApi: false };
103
+ it('should correctly backup and restore backup10m using --output', function(done) {
104
+ // Allow up to 90 s for this test
105
+ u.setTimeout(this, 90);
106
+
107
+ const actualBackup = `./${this.fileName}`;
108
+ const logFile = `./${this.fileName}` + '.log';
109
+ // Use abort parameter to terminate the backup a given number of ms after
110
+ // the first data write to the output file.
111
+ const p = u.p(params, { abort: true }, { opts: { output: actualBackup, log: logFile } });
112
+ const restoreDb = this.dbName;
113
+ // Set the database doc count as fewer than this should be written during
114
+ // resumed backup.
115
+ p.exclusiveMaxExpected = 5096;
116
+
117
+ u.testBackupAbortResumeRestore(p, 'backup10m', actualBackup, restoreDb, done);
144
118
  });
145
119
  });