Patch 8.0.0196 (after 8.0.0194)
Problem:    The test for :profile is slow and does not work on MS-Windows.
Solution:   Use the "-es" argument. (Dominique Pelle)  Swap single and double
            quotes for system()
Files:      src/testdir/test_profile.vim


*** ../vim-8.0.0195/src/testdir/test_profile.vim        2017-01-15 
21:12:44.604730821 +0100
--- src/testdir/test_profile.vim        2017-01-16 22:35:52.559857823 +0100
***************
*** 4,19 ****
  endif
  
  func Test_profile_func()
-   if !has('unix')
-     return
-   endif
    let lines = [
      \ "func! Foo1()",
      \ "endfunc",
      \ "func! Foo2()",
!     \ "  let count = 100",
!     \ "  while count > 0",
!     \ "    let count = count - 1",
      \ "  endwhile",
      \ "endfunc",
      \ "func! Foo3()",
--- 4,16 ----
  endif
  
  func Test_profile_func()
    let lines = [
      \ "func! Foo1()",
      \ "endfunc",
      \ "func! Foo2()",
!     \ "  let l:count = 100",
!     \ "  while l:count > 0",
!     \ "    let l:count = l:count - 1",
      \ "  endwhile",
      \ "endfunc",
      \ "func! Foo3()",
***************
*** 35,81 ****
      \ ]
  
    call writefile(lines, 'Xprofile_func.vim')
!   let a = system(v:progpath
!     \ . " -u NONE -i NONE --noplugin"
!     \ . " -c 'profile start Xprofile_func.log'"
!     \ . " -c 'profile func Foo*'"
!     \ . " -c 'so Xprofile_func.vim'"
!     \ . " -c 'qall!'")
!   let lines = readfile('Xprofile_func.log')
! 
!   call assert_equal(28, len(lines))
  
!   call assert_equal('FUNCTION  Foo1()', lines[0])
!   call assert_equal('Called 2 times',   lines[1])
!   call assert_equal('FUNCTION  Foo2()', lines[7])
!   call assert_equal('Called 1 time',    lines[8])
  
    " - Foo1() is called 3 times but should be reported as called twice
    "   since one call is in between "profile pause" .. "profile continue".
!   " - Foo2() should come before Foo1() since Foo1() does much more work.\
    " - Foo3() is not reported because function is deleted.
    " - Unlike Foo3(), Foo2() should not be deleted since there is a check
    "   for v:profiling.
    " - Bar() is not reported since it does not match "profile func Foo*".
!   call assert_equal('FUNCTIONS SORTED ON TOTAL TIME',        lines[18])
!   call assert_equal('count  total (s)   self (s)  function', lines[19])
!   call assert_match('^\s*1\s\+\d\+\.\d\+\s\+Foo2()$',        lines[20])
!   call assert_match('^\s*2\s\+\d\+\.\d\+\s\+Foo1()$',        lines[21])
!   call assert_equal('',                                      lines[22])
!   call assert_equal('FUNCTIONS SORTED ON SELF TIME',         lines[23])
!   call assert_equal('count  total (s)   self (s)  function', lines[24])
!   call assert_match('^\s*1\s\+\d\+\.\d\+\s\+Foo2()$',        lines[25])
!   call assert_match('^\s*2\s\+\d\+\.\d\+\s\+Foo1()$',        lines[26])
!   call assert_equal('',                                      lines[27])
  
    call delete('Xprofile_func.vim')
    call delete('Xprofile_func.log')
  endfunc
  
  func Test_profile_file()
-   if !has('unix')
-     return
-   endif
    let lines = [
      \ 'func! Foo()',
      \ 'endfunc',
--- 32,90 ----
      \ ]
  
    call writefile(lines, 'Xprofile_func.vim')
!   call system(v:progpath
!     \ . ' -es -u NONE -U NONE -i NONE --noplugin'
!     \ . ' -c "profile start Xprofile_func.log"'
!     \ . ' -c "profile func Foo*"'
!     \ . ' -c "so Xprofile_func.vim"'
!     \ . ' -c "qall!"')
!   call assert_equal(0, v:shell_error)
  
!   let lines = readfile('Xprofile_func.log')
  
    " - Foo1() is called 3 times but should be reported as called twice
    "   since one call is in between "profile pause" .. "profile continue".
!   " - Foo2() should come before Foo1() since Foo1() does much more work.
    " - Foo3() is not reported because function is deleted.
    " - Unlike Foo3(), Foo2() should not be deleted since there is a check
    "   for v:profiling.
    " - Bar() is not reported since it does not match "profile func Foo*".
!   call assert_equal(28, len(lines))
! 
!   call assert_equal('FUNCTION  Foo1()',                            lines[0])
!   call assert_equal('Called 2 times',                              lines[1])
!   call assert_match('^Total time:\s\+\d\+\.\d\+$',                 lines[2])
!   call assert_match('^ Self time:\s\+\d\+\.\d\+$',                 lines[3])
!   call assert_equal('',                                            lines[4])
!   call assert_equal('count  total (s)   self (s)',                 lines[5])
!   call assert_equal('',                                            lines[6])
!   call assert_equal('FUNCTION  Foo2()',                            lines[7])
!   call assert_equal('Called 1 time',                               lines[8])
!   call assert_match('^Total time:\s\+\d\+\.\d\+$',                 lines[9])
!   call assert_match('^ Self time:\s\+\d\+\.\d\+$',                 lines[10])
!   call assert_equal('',                                            lines[11])
!   call assert_equal('count  total (s)   self (s)',                 lines[12])
!   call assert_match('^\s*1\s\+.*\slet l:count = 100$',             lines[13])
!   call assert_match('^\s*101\s\+.*\swhile l:count > 0$',           lines[14])
!   call assert_match('^\s*100\s\+.*\s  let l:count = l:count - 1$', lines[15])
!   call assert_match('^\s*100\s\+.*\sendwhile$',                    lines[16])
!   call assert_equal('',                                            lines[17])
!   call assert_equal('FUNCTIONS SORTED ON TOTAL TIME',              lines[18])
!   call assert_equal('count  total (s)   self (s)  function',       lines[19])
!   call assert_match('^\s*1\s\+\d\+\.\d\+\s\+Foo2()$',              lines[20])
!   call assert_match('^\s*2\s\+\d\+\.\d\+\s\+Foo1()$',              lines[21])
!   call assert_equal('',                                            lines[22])
!   call assert_equal('FUNCTIONS SORTED ON SELF TIME',               lines[23])
!   call assert_equal('count  total (s)   self (s)  function',       lines[24])
!   call assert_match('^\s*1\s\+\d\+\.\d\+\s\+Foo2()$',              lines[25])
!   call assert_match('^\s*2\s\+\d\+\.\d\+\s\+Foo1()$',              lines[26])
!   call assert_equal('',                                            lines[27])
  
    call delete('Xprofile_func.vim')
    call delete('Xprofile_func.log')
  endfunc
  
  func Test_profile_file()
    let lines = [
      \ 'func! Foo()',
      \ 'endfunc',
***************
*** 87,99 ****
      \ ]
  
    call writefile(lines, 'Xprofile_file.vim')
!   let a = system(v:progpath
!     \ . " -u NONE -i NONE --noplugin"
!     \ . " -c 'profile start Xprofile_file.log'"
!     \ . " -c 'profile file Xprofile_file.vim'"
!     \ . " -c 'so Xprofile_file.vim'"
!     \ . " -c 'so Xprofile_file.vim'"
!     \ . " -c 'qall!'")
  
    let lines = readfile('Xprofile_file.log')
  
--- 96,109 ----
      \ ]
  
    call writefile(lines, 'Xprofile_file.vim')
!   call system(v:progpath
!     \ . ' -es -u NONE -U NONE -i NONE --noplugin'
!     \ . ' -c "profile start Xprofile_file.log"'
!     \ . ' -c "profile file Xprofile_file.vim"'
!     \ . ' -c "so Xprofile_file.vim"'
!     \ . ' -c "so Xprofile_file.vim"'
!     \ . ' -c "qall!"')
!   call assert_equal(0, v:shell_error)
  
    let lines = readfile('Xprofile_file.log')
  
*** ../vim-8.0.0195/src/version.c       2017-01-16 20:53:31.154599637 +0100
--- src/version.c       2017-01-16 22:23:35.266650762 +0100
***************
*** 766,767 ****
--- 766,769 ----
  {   /* Add new patch number below this line */
+ /**/
+     196,
  /**/

-- 
Facepalm statement #7: "Last week I almost got pregnant!"

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui