[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