Pino: 6 tests in v4.10.2 failing on Windows 7 Pro SP1

Created on 2 Dec 2017  路  10Comments  路  Source: pinojs/pino

I get 6 failing tests when I try to run npm test on my Windows 7 Pro SP1 machine...


Ouput from npm test

C:\Users\mbrunetti\Documents\pino>npm test

> [email protected] test C:\Users\mbrunetti\Documents\pino
> standard | snazzy && tap --no-cov test/*test.js

test/addlevel.test.js ............................... 21/21
test/basic.test.js ................................ 102/102
test/browser.serializers.test.js .................... 25/25
test/browser.test.js .............................. 174/174
test/browser.transmit.test.js ....................... 28/28
test/crlf.test.js ..................................... 3/3
test/error.test.js .................................. 10/10
test/escaping.test.js ............................... 39/39
test/events.test.js .................................. 8/13 30s
  terminates on SIGHUP when no other handlers registered
  not ok kill ENOSYS
    stack: |
      Timeout._onTimeout (test/events.test.js:107:34)
    at:
      line: 1024
      column: 11
      file: util.js
      function: _errnoException
    code: ENOSYS
    errno: ENOSYS
    syscall: kill
    test: terminates on SIGHUP when no other handlers registered

  terminates on SIGHUP when no other handlers registered
  not ok test count !== plan
    +++ found                                                           
    --- wanted                                                          
    -2                                                                  
    +1                                                                  
    results:
      ok: false
      count: 1
      pass: 0
      fail: 1
      bailout: false
      todo: 0
      skip: 0
      plan:
        start: 1
        end: 2
        skipAll: false
        skipReason: ''
        comment: ''
      failures:
        - ok: false
          id: 1
          name: kill ENOSYS
          diag:
            stack: |
              Timeout._onTimeout (test/events.test.js:107:34)
            at:
              line: 1024
              column: 11
              file: util.js
              function: _errnoException
            code: ENOSYS
            errno: ENOSYS
            syscall: kill
            test: terminates on SIGHUP when no other handlers registered
          parent: terminates on SIGHUP when no other handlers registered

  lets app terminate when SIGHUP received with multiple handlers
  not ok kill ENOSYS
    stack: |
      Timeout._onTimeout (test/events.test.js:129:34)
    at:
      line: 1024
      column: 11
      file: util.js
      function: _errnoException
    code: ENOSYS
    errno: ENOSYS
    syscall: kill
    test: lets app terminate when SIGHUP received with multiple handlers

  lets app terminate when SIGHUP received with multiple handlers
  not ok test count !== plan
    +++ found                                                           
    --- wanted                                                          
    -3                                                                  
    +1                                                                  
    results:
      ok: false
      count: 1
      pass: 0
      fail: 1
      bailout: false
      todo: 0
      skip: 0
      plan:
        start: 1
        end: 3
        skipAll: false
        skipReason: ''
        comment: ''
      failures:
        - ok: false
          id: 1
          name: kill ENOSYS
          diag:
            stack: |
              Timeout._onTimeout (test/events.test.js:129:34)
            at:
              line: 1024
              column: 11
              file: util.js
              function: _errnoException
            code: ENOSYS
            errno: ENOSYS
            syscall: kill
            test: lets app terminate when SIGHUP received with multiple handlers
          parent: lets app terminate when SIGHUP received with multiple handlers

  not ok test count !== plan
    +++ found                                                           
    --- wanted                                                          
    -1                                                                  
    +6                                                                  
    results:
      ok: false
      count: 6
      pass: 4
      fail: 3
      bailout: false
      todo: 0
      skip: 0
      plan:
        start: null
        end: null
        skipAll: false
        skipReason: ''
        comment: ''
      failures:
        - ok: false
          id: 5
          time: 1017.041
          name: terminates on SIGHUP when no other handlers registered
        - ok: false
          id: 6
          time: 1012.426
          name: lets app terminate when SIGHUP received with multiple handlers
        - tapError: no plan

test/extreme.test.js .FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal.
test/extreme.test.js .................................. 0/1 507ms
  extreme mode
  not ok ENOENT: no such file or directory, open 'C:\dev\null'
    errno: -4058
    code: ENOENT
    syscall: open
    path: 'C:\dev\null'
    test: extreme mode

test/http.test.js ................................... 19/19
test/islevelenabled.test.js ......................... 11/11
test/levels.test.js ................................. 37/37
test/metadata.test.js ............................... 24/24
test/pretty.test.js ................................. 56/56
test/serializers.test.js ............................ 10/10
test/timestamp.test.js .............................. 17/17
total ............................................. 584/590


  584 passing (39s)
  6 failing

npm ERR! Test failed.  See above for more details.


@davidmarkclements Does this project support Windows? Since Travis CI doesn't support Windows yet, what do you think of also enabling AppVeyor CI? It is free for open source projects and will run the tests in various Windows environments. (And I often see it used in combination with Travis.)

I'd be happy to make a PR with the fixes for Windows btw, if you do support Windows.

All 10 comments

We don't explicitly _not_ support Windows. It's just that none of us develop on Windows. Those errors are in the "extreme mode" code. If you're able to submit fixes, please do so.

@jsumners That's what I was guessing.

Do you think it would be an impediment to enable AppVeyor to make sure tests pass on Windows?

If at some point there's a feature that works on nix but not on Windows, you could always just disable the test for Windows environments (e.g. if (os.platform() !== 'win32') { test('some *nix-only feature, ...) }) and then at least we know that this package generally works on Windows *with some known exceptions.

I suspect that if you'd like to collaborate as our Windows guy, @davidmarkclements and @mcollina might agree to that. But as it stands, I don't want to guess at using AppVeyor. I have _zero_ experience with testing and developing on Windows.

I would certainly be happy to collaborate as your Windows guy 馃憤

@zenflow can you start sending a PR to fix those tests? I think _extreme mode_ is completely broken on Windows, but it might be my bet. So, you might want to fix extreme mode on Windows itself, as the current logic is built of Unix.

@zenflow any movement here?

@jsumners Terribly sorry, I forgot all about this. I'll get on this today 馃憤

I think at this point we can stop worrying about v4. It goes into unsupported mode in two weeks and we are completely dropping support for it in v5.0.0 (see the next-major branch).

additionally #393 will make this issue redundant

Closing because we no longer support Node 4.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ronag picture ronag  路  5Comments

sachinavinaw picture sachinavinaw  路  7Comments

P4sca1 picture P4sca1  路  4Comments

lioaslan picture lioaslan  路  3Comments

acro5piano picture acro5piano  路  3Comments