[Pkg-javascript-devel] Bug#952198: node-nodemailer: FTBFS: dh_auto_test: error: /bin/sh -e debian/tests/pkg-js/test returned exit code 2

Lucas Nussbaum lucas at debian.org
Sun Feb 23 13:10:38 GMT 2020


Source: node-nodemailer
Version: 6.4.2-1
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200222 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> dpkg-buildpackage
> -----------------
> 
> Command: dpkg-buildpackage -us -uc -sa -rfakeroot
> dpkg-buildpackage: info: source package node-nodemailer
> dpkg-buildpackage: info: source version 6.4.2-1
> dpkg-buildpackage: info: source distribution unstable
> dpkg-buildpackage: info: source changed by Xavier Guimard <yadd at debian.org>
>  dpkg-source --before-build .
> dpkg-buildpackage: info: host architecture amd64
>  debian/rules clean
> dh clean --with nodejs
>    dh_auto_clean --buildsystem=nodejs
> 	rm -rf ./node_modules/.cache
>    dh_clean
>  dpkg-source -b .
> dpkg-source: info: using source format '3.0 (quilt)'
> dpkg-source: info: building node-nodemailer using existing ./node-nodemailer_6.4.2.orig.tar.gz
> dpkg-source: info: building node-nodemailer in node-nodemailer_6.4.2-1.debian.tar.xz
> dpkg-source: info: building node-nodemailer in node-nodemailer_6.4.2-1.dsc
>  debian/rules binary
> dh binary --with nodejs
>    dh_update_autotools_config
>    dh_autoreconf
>    dh_auto_configure --buildsystem=nodejs
>    dh_auto_build --buildsystem=nodejs
> No build command found, searching known files
> 	cd ./. && grunt
> Can't exec "grunt": No such file or directory at /usr/share/perl5/Debian/Debhelper/Dh_Lib.pm line 484.
> ### Command "grunt" failed in .
> ############################################################################
> 1 failures, unable to build automatically.
> Install a debian/nodejs/./build or add a "override_dh_auto_build:" target
> in debian/rules
> ############################################################################
> Aborting auto_build
> Command "grunt" succeeded in .
>    dh_auto_test --buildsystem=nodejs
> 	/bin/sh -e debian/tests/pkg-js/test
> 
> 
>   #addressparser
>     ✓ should handle single address correctly
>     ✓ should handle multiple addresses correctly
>     ✓ should handle unquoted name correctly
>     ✓ should handle quoted name correctly
>     ✓ should handle quoted semicolons correctly
>     ✓ should handle unquoted name, unquoted address correctly
>     ✓ should handle emtpy group correctly
>     ✓ should handle address group correctly
>     ✓ should handle semicolon as a delimiter
>     ✓ should handle mixed group correctly
>     ✓ should flatten mixed group correctly
>     ✓ semicolon as delimiter should not break group parsing
>     ✓ should handle name from comment correctly
>     ✓ should handle skip comment correctly
>     ✓ should handle missing address correctly
>     ✓ should handle apostrophe in name correctly
>     ✓ should handle particularily bad input, unescaped colon correctly
>     ✓ should handle invalid email address correctly
>     ✓ should handle unexpected <
> 
>   Base64 Tests
>     #encode
>       ✓ shoud encode UTF-8 string to base64
>       ✓ shoud encode Buffer to base64
>     #wrap
>       ✓ should wrap long base64 encoded lines
>     base64 Streams
>       ✓ should transform incoming bytes to base64
>       ✓ should transform incoming bytes to base64 and back
> 
>   DKIM Tests
>     ✓ should sign message
>     ✓ should sign large message using cache dir (175ms)
>     ✓ should sign large message without cache dir (136ms)
>     ✓ should emit cache error
>     ✓ should sign large message as Buffer (107ms)
>     ✓ should sign large message as String (137ms)
> 
>   DKIM MessageParser Tests
>     ✓ should extract header and body
> 
>   DKIM RelaxedBody Tests
>     ✓ Should calculate body hash byte by byte (179ms)
>     ✓ Should calculate body hash all at once
> 
>   DKIM Sign Tests
>     ✓ should create relaxed headers
>     ✓ should skip specific headers
>     ✓ should sign headers
>     ✓ should sign headers for unicode domain
> 
>   Cookie Tests
>     #getPath
>       ✓ should return root path
>       ✓ should return without file
>     #isExpired
>       ✓ should match expired cookie
>     #compare
>       ✓ should match similar cookies
>     #add
>       ✓ should append new cookie
>       ✓ should update existing cookie
>     #match
>       ✓ should check if a cookie matches particular domain and path
>       ✓ should check if a cookie matches particular domain and path
>       ✓ should check if a cookie is secure
>     #parse
>       ✓ should parse Set-Cookie value
>       ✓ should ignore invalid expire header
>     Listing
>       #list
>         ✓ should return matching cookies for an URL
>       #get
>         ✓ should return matching cookies for an URL
>     #set
>       ✓ should set cookie
> 
>   Fetch Tests
>     ✓ should fetch HTTP data
>     ✓ should fetch HTTPS data
>     ✓ should fetch HTTP data with redirects
>     ✓ should return error for too many redirects
>     ✓ should fetch HTTP data with custom redirect limit
>     ✓ should return error for custom redirect limit
>     ✓ should return disable redirects
>     ✓ should unzip compressed HTTP data
>     ✓ should return error for unresolved host
>     ✓ should return error for invalid status
>     ✓ should allow invalid status
>     ✓ should return error for invalid url
>     ✓ should return timeout error (1001ms)
>     ✓ should handle basic HTTP auth
>     ✓ should return error for invalid protocol
>     ✓ should set cookie value
>     ✓ should set user agent
>     ✓ should post data
>     ✓ should post stream data
>     ✓ should return error for invalid cert
> 
>   JSON Transport Tests
>     ✓ should return an JSON string
>     ✓ should return an JSON string for calendar event
> 
>   MailComposer unit tests
>     ✓ should create new MailComposer
>     #compile
>       ✓ should use Mixed structure with text and attachment
>       ✓ should use Mixed structure with multiple attachments
>       ✓ should create Alternative structure with text and html
>       ✓ should create Alternative structure with text, watchHtml and html
>       ✓ should create Alternative structure with text, amp and html
>       ✓ should create Alternative structure with text, icalEvent and html
>       ✓ should create Alternative structure using encoded icalEvent
>       ✓ should create Alternative structure with text, html and cid attachment
>       ✓ should create Related structure with html and cid attachment
>       ✓ should create content node with only text
>       ✓ should create content node with only an attachment
>       ✓ should create content node with encoded buffer
>       ✓ should create content node from data url
>       ✓ should create the same output
>       ✓ should use raw input for the message
>       ✓ should use raw input for different parts
>       ✓ should discard BCC
>       ✓ should autodetect text encoding
>       ✓ should use quoted-printable text encoding
>       ✓ should use base64 text encoding
>       ✓ should keep BCC
>       ✓ should set headers for attachment
>       ✓ should keep plaintext for attachment
>       ✓ should ignore attachment filename
>       ✓ should add ical alternative
>       ✓ should use load attachment from file
>       ✓ should not load attachment from file
> 
>   Mime-Funcs Tests
>     #isPlainText
>       ✓ should detect plain text
>       ✓ should return true
>       ✓ should return false on low bits
>       ✓ should return false on high bits
>     #hasLongerLines
>       ✓ should detect longer lines
>     #encodeWord
>       ✓ should encode quoted-printable
>       ✓ should encode base64
>     #encodeWords
>       ✓ should encode Ascii range
>       ✓ should split QP on maxLength
>       ✓ should split base64 on maxLength
>     #buildHeaderParam
>       ✓ should return unmodified
>       ✓ should encode and split ascii
>       ✓ should encode double byte unicode characters
>       ✓ should encode and split unicode
>       ✓ should encode and split filename with dashes
>       ✓ should encode and decode
>     #parseHeaderValue
>       ✓ should handle default value only
>       ✓ should handle unquoted params
>       ✓ should handle quoted params
>       ✓ should handle multi line values
>       ✓ should handle params only
>     #_buildHeaderValue
>       ✓ should build header value
>       ✓ should handle unicode filename
>       ✓ should handle dashed filename
>       ✓ should split emoji filename
>       ✓ should quote filename with spaces
>       ✓ should quote filename with special characters
>     #foldLines
>       ✓ should Fold long header line
>       ✓ should Fold flowed text
>       ✓ should fold one long line
> 
>   Mime-Type Tests
>     #detectExtension
>       ✓ should detect default extension
>       ✓ should detect single extension
>       ✓ should detect first matching extension
>     #detectMimeType
>       ✓ should detect default mime type
>       ✓ should detect single mime type
>       ✓ should detect first matching mime type
> 
>   MimeNode Tests
>     ✓ should create MimeNode object
>     ✓ should use default header keys
>     ✓ should use custom header keys
>     #createChild
>       ✓ should create child
>     #appendChild
>       ✓ should append child node
>     #replace
>       ✓ should replace node
>     #remove
>       ✓ should remove node
>     #setHeader
>       ✓ should set header
>       ✓ should set multiple headers with the same key
>     #addHeader
>       ✓ should add header
>       ✓ should set multiple headers with the same key
>     #getHeader
>       ✓ should return first matching header value
>     #setContent
>       ✓ should set the contents for a node
>     #build
>       ✓ should build root node
>       ✓ should build child node
>       ✓ should build multipart node
>       ✓ should build root with generated headers
>       ✓ should not include bcc missing in output, but in envelope
>       ✓ should include bcc missing in output and in envelope
>       ✓ should use set envelope
>       ✓ should have unicode subject
>       ✓ should have unicode subject with strange characters
>       ✓ should keep 7bit text as is
>       ✓ should prefer base64
>       ✓ should force quoted-printable
>       ✓ should prefer quoted-printable
>       ✓ should not flow text
>       ✓ should not flow html
>       ✓ should use 7bit for html
>       ✓ should fetch ascii filename
>       ✓ should set unicode filename
>       ✓ should set dashed filename
>       ✓ should encode filename with a space
>       ✓ should detect content type from filename
>       ✓ should convert address objects
>       ✓ should skip empty header
>       ✓ should not process prepared headers
>       ✓ should set default transfer encoding for application content
>       ✓ should not set transfer encoding for multipart content
>       ✓ should not set transfer encoding for message/ content
>       ✓ should use from domain for message-id
>       ✓ should fallback to hostname for message-id
>     #getEnvelope
>       ✓ should get envelope
>     #messageId
>       ✓ should create and return message-Id
>     #getAddresses
>       ✓ should get address object
>     #_parseAddresses
>       ✓ should normalize header key
>     #_normalizeHeaderKey
>       ✓ should normalize header key
>     #_handleContentType
>       ✓ should do nothing on non multipart
>       ✓ should use provided boundary
>       ✓ should generate boundary
>     #_generateBoundary 
>       ✓ should genereate boundary string
>     #_encodeHeaderValue
>       ✓ should do noting if possible
>       ✓ should encode non ascii characters
>       ✓ should format references
>       ✓ should format message-id
>       ✓ should format addresses
>     #_convertAddresses
>       ✓ should convert address object to a string
>       ✓ should keep ascii name as is
>       ✓ should include name in quotes for special symbols
>       ✓ should escape quotes
>       ✓ should mime encode unicode names
>     #_generateMessageId
>       ✓ should generate uuid-looking message-id
>     Attachment streaming
>       ✓ should pipe URL as an attachment (123ms)
>       ✓ should reject URL attachment
>       ✓ should return an error on invalid url
>       ✓ should pipe file as an attachment
>       ✓ should reject file as an attachment
>       ✓ should return an error on invalid file path
>       ✓ should return a error for an errored stream (101ms)
>       ✓ should return a stream error (101ms)
>     #transform
>       ✓ should pipe through provided stream
>     #processFunc
>       ✓ should pipe through provided process function
>     Raw content
>       ✓ should return pregenerated content
>       ✓ should return pregenerated content for a child node
>       ✓ should return pregenerated content from a stream
>       ✓ should catch error from a raw stream 1
>       ✓ should catch error from a raw stream 2
> 
>   Quoted-Printable Tests
>     #encode
>       ✓ shoud encode UTF-8 string to QP
>       ✓ shoud encode Buffer to QP
>     #wrap
>       ✓ should wrap long QP encoded lines
>       ✓ should wrap line ending with <CR>
>     QP Streams
>       ✓ should transform incoming bytes to QP
>       ✓ should transform incoming bytes to QP and back
> 
>   Sendmail Windows Newlines
>     ✓ should rewrite all linebreaks (byte by byte)
>     ✓ should rewrite all linebreaks (all at once)
> 
>   Sendmail Transport Tests
>     ✓ Should expose version number
>     ✓ Should send message
>     ✓ Should return an error
> 
>   SES Transport Tests
>     ✓ should return MessageId
>     ✓ should sign message with DKIM
>     ✓ should limit parallel connections (5179ms)
>     ✓ should rate limit messages (10170ms)
>     ✓ should rate limit long messages (12154ms)
>     ✓ should rate limit messages and connections (10182ms)
>     ✓ detect sending slots on idle events (10166ms)
> 
>   Shared Funcs Tests
>     Logger tests
>       ✓ Should create a logger
>     Connection url parser tests
>       ✓ Should parse connection url
>       ✓ should not choke on special symbols in auth
>     Resolver tests
>       ✓ should set text from html string
>       ✓ should set text from html buffer
>       ✓ should set text from a html file
>       ✓ should set text from an html url
>       ✓ should set text from redirecting url
>       ✓ should set text from gzipped url
>       ✓ should set text from a html stream
>       ✓ should return an error
>       ✓ should return encoded string as buffer
>       data uri tests
>         ✓ should resolve with mime type and base64
>         ✓ should resolve with mime type and plaintext
>         ✓ should resolve with plaintext
>         ✓ should resolve with mime type, charset and base64
>     #assign tests
>       ✓ should assign multiple objects to target
>     #encodeXText tests
>       ✓ should not encode atom
>       ✓ should not encode email
>       ✓ should encode space
>       ✓ should encode unicode
>       ✓ should encode low codes
> 
>   HTTP Proxy Client Tests
>     ✓ should connect to a socket through proxy (108ms)
>     ✓ should connect to a socket through proxy with auth (103ms)
>     ✓ should should fail auth
> 
>   SMTP-Connection Tests
>     Version test
>       ✓ Should expose version number
>     Connection tests
>       1) "before each" hook for "should connect to unsecure server"
>       2) "after each" hook for "should connect to unsecure server"
>     Login tests
>       ✓ should login
>       ✓ should return error for invalid login
>       ✓ should return error for missing credentials
>       ✓ should return error for incomplete credentials
>       xoauth2 login
>         ✓ should login with xoauth2 string
>         ✓ should return error for invalid xoauth2 string token
>         ✓ should login with xoauth2 object
>         ✓ should fail with xoauth2 object
>         ✓ should fail with invalid xoauth2 response
>       custom login
>         ✓ should login
>       Send without PIPELINING
>         ✓ should send only to valid recipients without PIPELINING (49ms)
>       Send messages
>         ✓ should send message (43ms)
>         ✓ should send multiple messages (89ms)
>         ✓ should send only to valid recipients (89ms)
>         ✓ should reject all recipients (46ms)
>         ✓ should reject too large SIZE arguments
>         ✓ should reject too large message
>         ✓ should declare SIZE (44ms)
>         ✓ lmtp should send only to valid recipients (133ms)
>         ✓ should send using SMTPUTF8 (89ms)
>         ✓ should send using 8BITMIME (89ms)
>         ✓ should receive error for 8-bit content without 8BITMIME declaration (89ms)
>         ✓ should return error for invalidly formatted recipients
>         ✓ should return error for no valid recipients (41ms)
>         ✓ should return error for invalid sender
>         ✓ should send message string
>         ✓ should send message buffer
>         ✓ should send message stream (43ms)
> 
>   SMTP Pool Tests
>     ✓ Should expose version number
>     ✓ Should detect wellknown data
>     ✓ should send mail (113ms)
>     ✓ should send multiple mails (1223ms)
>     ✓ should tolerate connection errors (1909ms)
>     ✓ should tolerate idle connections and re-assign messages to other connections (2034ms)
>     ✓ should call back with connection errors to senders having messages in flight (352ms)
>     ✓ should not send more then allowed for one connection (5792ms)
>     ✓ should send multiple mails with rate limit (25213ms)
>     ✓ should return pending messages once closed
>     ✓ should emit idle for free slots in the pool (20206ms)
>     ✓ Should login and send mail using proxied socket (104ms)
>     ✓ Should verify connection with success (102ms)
>     ✓ Should not verify connection
> 
>   SMTP Transport Tests
>     Anonymous sender tests
>       ✓ Should expose version number
>       ✓ Should detect wellknown data
>       ✓ Should fail envelope (103ms)
>       ✓ Should not fail auth (146ms)
>       ✓ Should send mail (102ms)
>       ✓ Should recover unexpeced close during transmission (254ms)
>     Authenticated sender tests
>       ✓ Should login and send mail (103ms)
>       ✓ Should verify connection with success (102ms)
>       ✓ Should not verify connection
>       ✓ Should login and send mail using proxied socket (103ms)
> 
>   Stream Transport Tests
>     ✓ Should expose version number
>     Send as stream
>       ✓ Should send mail using unix newlines
>       ✓ Should send mail using windows newlines
>     Send as buffer
>       ✓ Should send mail using unix newlines
>       ✓ Should send mail using windows newlines
> 
>   Well-Known Services Tests
>     #wellKnown
>       ✓ Should find by key
>       ✓ Should find by alias
>       ✓ Should find by domain
>       ✓ Should find no match
> 
>   XOAuth2 tests
>     ✓ should get an existing access token
>     ✓ should convert access token to XOAuth2 token
>     ✓ should get an existing access token, no timeout
>     ✓ should generate a fresh access token
>     ✓ should generate a fresh access token with custom method
>     ✓ should fail generating a fresh access token with custom method
>     ✓ should generate a fresh access token after timeout (3003ms)
>     ✓ should emit access token update
>     ✓ should sign payload
> 
> 
>   328 passing (2m)
>   2 failing
> 
>   1) SMTP-Connection Tests
>        Connection tests
>          "before each" hook for "should connect to unsecure server":
>      Uncaught Error: listen EADDRINUSE: address already in use :::9999
>       at Server.setupListenHandle [as _listen2] (net.js:1280:14)
>       at listenInCluster (net.js:1328:12)
>       at Server.listen (net.js:1415:7)
>       at HttpConnectProxy.(anonymous function) [as listen] (debian/tests/node_modules/proxy-test-server/lib/server.js:20:29)
>       at Server.<anonymous> (test/smtp-connection/smtp-connection-test.js:100:39)
>       at emitListeningNT (net.js:1314:10)
>       at process._tickCallback (internal/process/next_tick.js:63:19)
> 
>   2) SMTP-Connection Tests
>        Connection tests
>          "after each" hook for "should connect to unsecure server":
>      Error [ERR_SERVER_NOT_RUNNING]: Server is not running.
>       at Server.close (net.js:1566:12)
>       at emitCloseNT (net.js:1619:8)
>       at process._tickCallback (internal/process/next_tick.js:63:19)
> 
> 
> 
> dh_auto_test: error: /bin/sh -e debian/tests/pkg-js/test returned exit code 2

The full build log is available from:
   http://qa-logs.debian.net/2020/02/22/node-nodemailer_6.4.2-1_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Pkg-javascript-devel mailing list