12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- local helpers = require('test.functional.helpers')(after_each)
- local assert_log = helpers.assert_log
- local clear = helpers.clear
- local command = helpers.command
- local eq = helpers.eq
- local exec_lua = helpers.exec_lua
- local expect_exit = helpers.expect_exit
- local request = helpers.request
- local retry = helpers.retry
- describe('log', function()
- local testlog = 'Xtest_logging'
- after_each(function()
- expect_exit(command, 'qa!')
- os.remove(testlog)
- end)
- it('skipped before log_init', function()
- -- This test is for _visibility_: adjust as needed, after checking for regression.
- --
- -- During startup some components may try to log before logging is setup.
- -- That should be uncommon (ideally never)--and if there are MANY such
- -- calls, that needs investigation.
- clear()
- eq(0, request('nvim__stats').log_skip)
- clear{env={CDPATH='~doesnotexist'}}
- assert(request('nvim__stats').log_skip <= 13)
- end)
- it('messages are formatted with name or test id', function()
- -- Examples:
- -- ERR 2022-05-29T12:30:03.800 T2 log_init:110: test log message
- -- ERR 2022-05-29T12:30:03.814 T2/child log_init:110: test log message
- clear({env={
- NVIM_LOG_FILE=testlog,
- -- TODO: remove this after nvim_log #7062 is merged.
- __NVIM_TEST_LOG='1'
- }})
- local tid = _G._nvim_test_id
- retry(nil, 1000, function()
- assert_log(tid..'%.%d+%.%d +server_init:%d+: test log message', testlog, 100)
- end)
- exec_lua([[
- local j1 = vim.fn.jobstart({ vim.v.progpath, '-es', '-V1', '+foochild', '+qa!' }, vim.empty_dict())
- vim.fn.jobwait({ j1 }, 10000)
- ]])
- -- Child Nvim spawned by jobstart() appends "/c" to parent name.
- retry(nil, 1000, function()
- assert_log('%.%d+%.%d/c +server_init:%d+: test log message', testlog, 100)
- end)
- end)
- end)
|