]> granicus.if.org Git - vim/commitdiff
patch 8.1.1031: memory usage test may still fail v8.1.1031
authorBram Moolenaar <Bram@vim.org>
Thu, 21 Mar 2019 20:16:36 +0000 (21:16 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 21 Mar 2019 20:16:36 +0000 (21:16 +0100)
Problem:    Memory usage test may still fail.
Solution:   Drop the unused min value. (Christian Brabandt)

src/testdir/test_memory_usage.vim
src/version.c

index b70d2d03f08d850bb3ea3cdb8672e9969a6ceb24..a3d1d65ef56e8506a1adc16f87a658b34c74ef02 100644 (file)
@@ -36,15 +36,12 @@ func s:monitor_memory_usage(pid) abort
   let proc = {}
   let proc.pid = a:pid
   let proc.hist = []
-  let proc.min = 0
   let proc.max = 0
 
   func proc.op() abort
     " Check the last 200ms.
     let val = s:memory_usage(self.pid)
-    if self.min > val
-      let self.min = val
-    elseif self.max < val
+    if self.max < val
       let self.max = val
     endif
     call add(self.hist, val)
@@ -56,7 +53,7 @@ func s:monitor_memory_usage(pid) abort
   endfunc
 
   call WaitFor({-> proc.op()}, 10000)
-  return {'last': get(proc.hist, -1), 'min': proc.min, 'max': proc.max}
+  return {'last': get(proc.hist, -1), 'max': proc.max}
 endfunc
 
 let s:term_vim = {}
@@ -101,8 +98,11 @@ func Test_memory_func_capture_vargs()
 
   " Estimate the limit of max usage as 2x initial usage.
   call assert_inrange(before, 2 * before, after.max)
-  " In this case, garbase collecting is not needed.
-  call assert_equal(after.last, after.max)
+  " In this case, garbage collecting is not needed.  The value might fluctuate
+  " a bit, allow for 3% tolerance.
+  let lower = after.last * 97 / 100
+  let upper = after.last * 103 / 100
+  call assert_inrange(lower, upper, after.max)
 
   call vim.stop()
   call delete(testfile)
@@ -137,9 +137,11 @@ func Test_memory_func_capture_lvars()
     let last = s:monitor_memory_usage(vim.pid).last
   endfor
 
-  " The usage may be a bit less than the last value 
+  " The usage may be a bit less than the last value, use 80%.
+  " Allow for 1% tolerance at the upper limit.
   let lower = before * 8 / 10
-  call assert_inrange(lower, after.max + (after.last - before), last)
+  let upper = (after.max + (after.last - before)) * 101 / 100
+  call assert_inrange(lower, upper, last)
 
   call vim.stop()
   call delete(testfile)
index 1129164cecc804c9786549af7ffa5d999da8c998..686a7bd0544f0d913268bd58e2716001e469cff6 100644 (file)
@@ -779,6 +779,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1031,
 /**/
     1030,
 /**/