diff --git a/deps/zlib/zconf.h.included b/deps/zlib/zconf.h.included new file mode 100644 index 00000000000000..c88d40847b6af8 --- /dev/null +++ b/deps/zlib/zconf.h.included @@ -0,0 +1,562 @@ +/* zconf.h -- configuration of the zlib compression library + * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* @(#) $Id$ */ + +#ifndef ZCONF_H +#define ZCONF_H + +/* + * This library is also built as a part of AOSP, which does not need to include + * chromeconf.h. This config does not want chromeconf.h, so it can set this + * macro to opt out. While this works today, there's no guarantee that building + * zlib outside of Chromium keeps working in the future. + */ +#if !defined(CHROMIUM_ZLIB_NO_CHROMECONF) +/* This include does prefixing as below, but with an updated set of names. Also + * sets up export macros in component builds. */ +//#include "chromeconf.h" +#endif + +/* + * If you *really* need a unique prefix for all types and library functions, + * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. + * Even better than compiling with -DZ_PREFIX would be to use configure to set + * this permanently in zconf.h using "./configure --zprefix". + */ +#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ +# define Z_PREFIX_SET + +/* all linked symbols and init macros */ +# define _dist_code z__dist_code +# define _length_code z__length_code +# define _tr_align z__tr_align +# define _tr_flush_bits z__tr_flush_bits +# define _tr_flush_block z__tr_flush_block +# define _tr_init z__tr_init +# define _tr_stored_block z__tr_stored_block +# define _tr_tally z__tr_tally +# define adler32 z_adler32 +# define adler32_combine z_adler32_combine +# define adler32_combine64 z_adler32_combine64 +# define adler32_z z_adler32_z +# ifndef Z_SOLO +# define compress z_compress +# define compress2 z_compress2 +# define compressBound z_compressBound +# endif +# define crc32 z_crc32 +# define crc32_combine z_crc32_combine +# define crc32_combine64 z_crc32_combine64 +# define crc32_combine_gen z_crc32_combine_gen +# define crc32_combine_gen64 z_crc32_combine_gen64 +# define crc32_combine_op z_crc32_combine_op +# define crc32_z z_crc32_z +# define deflate z_deflate +# define deflateBound z_deflateBound +# define deflateCopy z_deflateCopy +# define deflateEnd z_deflateEnd +# define deflateGetDictionary z_deflateGetDictionary +# define deflateInit z_deflateInit +# define deflateInit2 z_deflateInit2 +# define deflateInit2_ z_deflateInit2_ +# define deflateInit_ z_deflateInit_ +# define deflateParams z_deflateParams +# define deflatePending z_deflatePending +# define deflatePrime z_deflatePrime +# define deflateReset z_deflateReset +# define deflateResetKeep z_deflateResetKeep +# define deflateSetDictionary z_deflateSetDictionary +# define deflateSetHeader z_deflateSetHeader +# define deflateTune z_deflateTune +# define deflate_copyright z_deflate_copyright +# define get_crc_table z_get_crc_table +# ifndef Z_SOLO +# define gz_error z_gz_error +# define gz_intmax z_gz_intmax +# define gz_strwinerror z_gz_strwinerror +# define gzbuffer z_gzbuffer +# define gzclearerr z_gzclearerr +# define gzclose z_gzclose +# define gzclose_r z_gzclose_r +# define gzclose_w z_gzclose_w +# define gzdirect z_gzdirect +# define gzdopen z_gzdopen +# define gzeof z_gzeof +# define gzerror z_gzerror +# define gzflush z_gzflush +# define gzfread z_gzfread +# define gzfwrite z_gzfwrite +# define gzgetc z_gzgetc +# define gzgetc_ z_gzgetc_ +# define gzgets z_gzgets +# define gzoffset z_gzoffset +# define gzoffset64 z_gzoffset64 +# define gzopen z_gzopen +# define gzopen64 z_gzopen64 +# ifdef _WIN32 +# define gzopen_w z_gzopen_w +# endif +# define gzprintf z_gzprintf +# define gzputc z_gzputc +# define gzputs z_gzputs +# define gzread z_gzread +# define gzrewind z_gzrewind +# define gzseek z_gzseek +# define gzseek64 z_gzseek64 +# define gzsetparams z_gzsetparams +# define gztell z_gztell +# define gztell64 z_gztell64 +# define gzungetc z_gzungetc +# define gzvprintf z_gzvprintf +# define gzwrite z_gzwrite +# endif +# define inflate z_inflate +# define inflateBack z_inflateBack +# define inflateBackEnd z_inflateBackEnd +# define inflateBackInit z_inflateBackInit +# define inflateBackInit_ z_inflateBackInit_ +# define inflateCodesUsed z_inflateCodesUsed +# define inflateCopy z_inflateCopy +# define inflateEnd z_inflateEnd +# define inflateGetDictionary z_inflateGetDictionary +# define inflateGetHeader z_inflateGetHeader +# define inflateInit z_inflateInit +# define inflateInit2 z_inflateInit2 +# define inflateInit2_ z_inflateInit2_ +# define inflateInit_ z_inflateInit_ +# define inflateMark z_inflateMark +# define inflatePrime z_inflatePrime +# define inflateReset z_inflateReset +# define inflateReset2 z_inflateReset2 +# define inflateResetKeep z_inflateResetKeep +# define inflateSetDictionary z_inflateSetDictionary +# define inflateSync z_inflateSync +# define inflateSyncPoint z_inflateSyncPoint +# define inflateUndermine z_inflateUndermine +# define inflateValidate z_inflateValidate +# define inflate_copyright z_inflate_copyright +# define inflate_fast z_inflate_fast +# define inflate_table z_inflate_table +# ifndef Z_SOLO +# define uncompress z_uncompress +# define uncompress2 z_uncompress2 +# endif +# define zError z_zError +# ifndef Z_SOLO +# define zcalloc z_zcalloc +# define zcfree z_zcfree +# endif +# define zlibCompileFlags z_zlibCompileFlags +# define zlibVersion z_zlibVersion + +/* all zlib typedefs in zlib.h and zconf.h */ +# define Byte z_Byte +# define Bytef z_Bytef +# define alloc_func z_alloc_func +# define charf z_charf +# define free_func z_free_func +# ifndef Z_SOLO +# define gzFile z_gzFile +# endif +# define gz_header z_gz_header +# define gz_headerp z_gz_headerp +# define in_func z_in_func +# define intf z_intf +# define out_func z_out_func +# define uInt z_uInt +# define uIntf z_uIntf +# define uLong z_uLong +# define uLongf z_uLongf +# define voidp z_voidp +# define voidpc z_voidpc +# define voidpf z_voidpf + +/* all zlib structs in zlib.h and zconf.h */ +# define gz_header_s z_gz_header_s +# define internal_state z_internal_state + +#endif + +#if defined(__MSDOS__) && !defined(MSDOS) +# define MSDOS +#endif +#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) +# define OS2 +#endif +#if defined(_WINDOWS) && !defined(WINDOWS) +# define WINDOWS +#endif +#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) +# ifndef WIN32 +# define WIN32 +# endif +#endif +#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) +# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) +# ifndef SYS16BIT +# define SYS16BIT +# endif +# endif +#endif + +/* + * Compile with -DMAXSEG_64K if the alloc function cannot allocate more + * than 64k bytes at a time (needed on systems with 16-bit int). + */ +#ifdef SYS16BIT +# define MAXSEG_64K +#endif +#ifdef MSDOS +# define UNALIGNED_OK +#endif + +#ifdef __STDC_VERSION__ +# ifndef STDC +# define STDC +# endif +# if __STDC_VERSION__ >= 199901L +# ifndef STDC99 +# define STDC99 +# endif +# endif +#endif +#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) +# define STDC +#endif +#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) +# define STDC +#endif +#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) +# define STDC +#endif +#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) +# define STDC +#endif + +#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ +# define STDC +#endif + +#ifndef STDC +# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ +# define const /* note: need a more gentle solution here */ +# endif +#endif + +#if defined(ZLIB_CONST) && !defined(z_const) +# define z_const const +#else +# define z_const +#endif + +#ifdef Z_SOLO + typedef unsigned long z_size_t; +#else +# define z_longlong long long +# if defined(NO_SIZE_T) + typedef unsigned NO_SIZE_T z_size_t; +# elif defined(STDC) +# include + typedef size_t z_size_t; +# else + typedef unsigned long z_size_t; +# endif +# undef z_longlong +#endif + +/* Maximum value for memLevel in deflateInit2 */ +#ifndef MAX_MEM_LEVEL +# ifdef MAXSEG_64K +# define MAX_MEM_LEVEL 8 +# else +# define MAX_MEM_LEVEL 9 +# endif +#endif + +/* Maximum value for windowBits in deflateInit2 and inflateInit2. + * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files + * created by gzip. (Files created by minigzip can still be extracted by + * gzip.) + */ +#ifndef MAX_WBITS +# define MAX_WBITS 15 /* 32K LZ77 window */ +#endif + +/* The memory requirements for deflate are (in bytes): + (1 << (windowBits+2)) + (1 << (memLevel+9)) + that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) + plus a few kilobytes for small objects. For example, if you want to reduce + the default memory requirements from 256K to 128K, compile with + make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" + Of course this will generally degrade compression (there's no free lunch). + + The memory requirements for inflate are (in bytes) 1 << windowBits + that is, 32K for windowBits=15 (default value) plus about 7 kilobytes + for small objects. +*/ + + /* Type declarations */ + +#ifndef OF /* function prototypes */ +# ifdef STDC +# define OF(args) args +# else +# define OF(args) () +# endif +#endif + +#ifndef Z_ARG /* function prototypes for stdarg */ +# if defined(STDC) || defined(Z_HAVE_STDARG_H) +# define Z_ARG(args) args +# else +# define Z_ARG(args) () +# endif +#endif + +/* The following definitions for FAR are needed only for MSDOS mixed + * model programming (small or medium model with some far allocations). + * This was tested only with MSC; for other MSDOS compilers you may have + * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, + * just define FAR to be empty. + */ +#ifdef SYS16BIT +# if defined(M_I86SM) || defined(M_I86MM) + /* MSC small or medium model */ +# define SMALL_MEDIUM +# ifdef _MSC_VER +# define FAR _far +# else +# define FAR far +# endif +# endif +# if (defined(__SMALL__) || defined(__MEDIUM__)) + /* Turbo C small or medium model */ +# define SMALL_MEDIUM +# ifdef __BORLANDC__ +# define FAR _far +# else +# define FAR far +# endif +# endif +#endif + +#if defined(WINDOWS) || defined(WIN32) + /* If building or using zlib as a DLL, define ZLIB_DLL. + * This is not mandatory, but it offers a little performance increase. + */ +# ifdef ZLIB_DLL +# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) +# ifdef ZLIB_INTERNAL +# define ZEXTERN extern __declspec(dllexport) +# else +# define ZEXTERN extern __declspec(dllimport) +# endif +# endif +# endif /* ZLIB_DLL */ + /* If building or using zlib with the WINAPI/WINAPIV calling convention, + * define ZLIB_WINAPI. + * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. + */ +# ifdef ZLIB_WINAPI +# ifdef FAR +# undef FAR +# endif +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include + /* No need for _export, use ZLIB.DEF instead. */ + /* For complete Windows compatibility, use WINAPI, not __stdcall. */ +# define ZEXPORT WINAPI +# ifdef WIN32 +# define ZEXPORTVA WINAPIV +# else +# define ZEXPORTVA FAR CDECL +# endif +# endif +#endif + +#if defined (__BEOS__) +# ifdef ZLIB_DLL +# ifdef ZLIB_INTERNAL +# define ZEXPORT __declspec(dllexport) +# define ZEXPORTVA __declspec(dllexport) +# else +# define ZEXPORT __declspec(dllimport) +# define ZEXPORTVA __declspec(dllimport) +# endif +# endif +#endif + +#ifndef ZEXTERN +# define ZEXTERN extern +#endif +#ifndef ZEXPORT +# define ZEXPORT +#endif +#ifndef ZEXPORTVA +# define ZEXPORTVA +#endif + +#ifndef FAR +# define FAR +#endif +#ifndef far +# define far +#endif + +#if !defined(__MACTYPES__) +typedef unsigned char Byte; /* 8 bits */ +#endif +typedef unsigned int uInt; /* 16 bits or more */ +typedef unsigned long uLong; /* 32 bits or more */ + +#ifdef SMALL_MEDIUM + /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ +# define Bytef Byte FAR +#else + typedef Byte FAR Bytef; +#endif +typedef char FAR charf; +typedef int FAR intf; +typedef uInt FAR uIntf; +typedef uLong FAR uLongf; + +#ifdef STDC + typedef void const *voidpc; + typedef void FAR *voidpf; + typedef void *voidp; +#else + typedef Byte const *voidpc; + typedef Byte FAR *voidpf; + typedef Byte *voidp; +#endif + +#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) +# include +# if (UINT_MAX == 0xffffffffUL) +# define Z_U4 unsigned +# elif (ULONG_MAX == 0xffffffffUL) +# define Z_U4 unsigned long +# elif (USHRT_MAX == 0xffffffffUL) +# define Z_U4 unsigned short +# endif +#endif + +#ifdef Z_U4 + typedef Z_U4 z_crc_t; +#else + typedef unsigned long z_crc_t; +#endif + +#if !defined(_WIN32) +# define Z_HAVE_UNISTD_H +#endif + +#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ +# define Z_HAVE_STDARG_H +#endif + +#ifdef STDC +# ifndef Z_SOLO +# include /* for off_t */ +# endif +#endif + +#if defined(STDC) || defined(Z_HAVE_STDARG_H) +# ifndef Z_SOLO +# include /* for va_list */ +# endif +#endif + +#ifdef _WIN32 +# ifndef Z_SOLO +# include /* for wchar_t */ +# endif +#endif + +/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and + * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even + * though the former does not conform to the LFS document), but considering + * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as + * equivalently requesting no 64-bit operations + */ +#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 +# undef _LARGEFILE64_SOURCE +#endif + +#ifndef Z_HAVE_UNISTD_H +# ifdef __WATCOMC__ +# define Z_HAVE_UNISTD_H +# endif +#endif +#ifndef Z_HAVE_UNISTD_H +# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32) +# define Z_HAVE_UNISTD_H +# endif +#endif +#ifndef Z_SOLO +# if defined(Z_HAVE_UNISTD_H) +# include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ +# ifdef VMS +# include /* for off_t */ +# endif +# ifndef z_off_t +# define z_off_t off_t +# endif +# endif +#endif + +#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 +# define Z_LFS64 +#endif + +#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) +# define Z_LARGE64 +#endif + +#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) +# define Z_WANT64 +#endif + +#if !defined(SEEK_SET) && !defined(Z_SOLO) +# define SEEK_SET 0 /* Seek from beginning of file. */ +# define SEEK_CUR 1 /* Seek from current position. */ +# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ +#endif + +#ifndef z_off_t +# define z_off_t long +#endif + +#if !defined(_WIN32) && defined(Z_LARGE64) +# define z_off64_t off64_t +#else +# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO) +# define z_off64_t __int64 +# else +# define z_off64_t z_off_t +# endif +#endif + +/* MVS linker does not support external names larger than 8 bytes */ +#if defined(__MVS__) + #pragma map(deflateInit_,"DEIN") + #pragma map(deflateInit2_,"DEIN2") + #pragma map(deflateEnd,"DEEND") + #pragma map(deflateBound,"DEBND") + #pragma map(inflateInit_,"ININ") + #pragma map(inflateInit2_,"ININ2") + #pragma map(inflateEnd,"INEND") + #pragma map(inflateSync,"INSY") + #pragma map(inflateSetDictionary,"INSEDI") + #pragma map(compressBound,"CMBND") + #pragma map(inflate_table,"INTABL") + #pragma map(inflate_fast,"INFA") + #pragma map(inflate_copyright,"INCOPY") +#endif + +#endif /* ZCONF_H */ diff --git a/test/message/assert_throws_stack.js b/test/fixtures/assertion/assert_throws_stack.js similarity index 82% rename from test/message/assert_throws_stack.js rename to test/fixtures/assertion/assert_throws_stack.js index 36bc5734cae37f..a1fca696c5ac10 100644 --- a/test/message/assert_throws_stack.js +++ b/test/fixtures/assertion/assert_throws_stack.js @@ -1,6 +1,6 @@ 'use strict'; -require('../common'); +require('../../common'); const assert = require('assert').strict; assert.throws(() => { throw new Error('foo'); }, { bar: true }); diff --git a/test/message/assert_throws_stack.out b/test/fixtures/assertion/assert_throws_stack.snapshot similarity index 80% rename from test/message/assert_throws_stack.out rename to test/fixtures/assertion/assert_throws_stack.snapshot index 06eaa906442440..723537a2824d1f 100644 --- a/test/message/assert_throws_stack.out +++ b/test/fixtures/assertion/assert_throws_stack.snapshot @@ -19,9 +19,9 @@ AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal: generatedMessage: true, code: 'ERR_ASSERTION', actual: Error: foo - at assert.throws.bar (*assert_throws_stack.js:*) - at getActual (node:assert:*) - at Function.throws (node:assert:*) + at assert.throws.bar (*assert_throws_stack.js:*:*) + at getActual (node:assert:*:*) + at Function.throws (node:assert:*:*) at Object. (*assert_throws_stack.js:*:*) at * at * diff --git a/test/message/internal_assert.js b/test/fixtures/assertion/internal_assert.js similarity index 80% rename from test/message/internal_assert.js rename to test/fixtures/assertion/internal_assert.js index fdb459b67ca0fa..871504f0925a6f 100644 --- a/test/message/internal_assert.js +++ b/test/fixtures/assertion/internal_assert.js @@ -1,7 +1,7 @@ 'use strict'; // Flags: --expose-internals -require('../common'); +require('../../common'); const assert = require('internal/assert'); assert(false); diff --git a/test/message/internal_assert.out b/test/fixtures/assertion/internal_assert.snapshot similarity index 88% rename from test/message/internal_assert.out rename to test/fixtures/assertion/internal_assert.snapshot index bd25c879478083..0228d381ff4c12 100644 --- a/test/message/internal_assert.out +++ b/test/fixtures/assertion/internal_assert.snapshot @@ -7,7 +7,7 @@ Please open an issue with this stack trace at https://github.com/nodejs/node/iss at new NodeError (node:internal/errors:*:*) at assert (node:internal/assert:*:*) - at * (*test*message*internal_assert.js:7:1) + at * (*test*fixtures*assertion*internal_assert.js:7:1) at * at * at * diff --git a/test/message/internal_assert_fail.js b/test/fixtures/assertion/internal_assert_fail.js similarity index 82% rename from test/message/internal_assert_fail.js rename to test/fixtures/assertion/internal_assert_fail.js index 1b2cf13552869b..503a1dcbc7264a 100644 --- a/test/message/internal_assert_fail.js +++ b/test/fixtures/assertion/internal_assert_fail.js @@ -1,7 +1,7 @@ 'use strict'; // Flags: --expose-internals -require('../common'); +require('../../common'); const assert = require('internal/assert'); assert.fail('Unreachable!'); diff --git a/test/message/internal_assert_fail.out b/test/fixtures/assertion/internal_assert_fail.snapshot similarity index 88% rename from test/message/internal_assert_fail.out rename to test/fixtures/assertion/internal_assert_fail.snapshot index 408d6d3364470d..e60a01f88ab773 100644 --- a/test/message/internal_assert_fail.out +++ b/test/fixtures/assertion/internal_assert_fail.snapshot @@ -8,7 +8,7 @@ Please open an issue with this stack trace at https://github.com/nodejs/node/iss at new NodeError (node:internal/errors:*:*) at Function.fail (node:internal/assert:*:*) - at * (*test*message*internal_assert_fail.js:7:8) + at * (*test*fixtures*assertion*internal_assert_fail.js:7:8) at * at * at * diff --git a/test/message/core_line_numbers.js b/test/fixtures/console/core_line_numbers.js similarity index 95% rename from test/message/core_line_numbers.js rename to test/fixtures/console/core_line_numbers.js index 585a6042652df1..5482a21bae9a1f 100644 --- a/test/message/core_line_numbers.js +++ b/test/fixtures/console/core_line_numbers.js @@ -1,5 +1,5 @@ 'use strict'; -require('../common'); +require('../../common'); Error.stackTraceLimit = 3; const punycode = require('punycode'); diff --git a/test/message/core_line_numbers.out b/test/fixtures/console/core_line_numbers.snapshot similarity index 69% rename from test/message/core_line_numbers.out rename to test/fixtures/console/core_line_numbers.snapshot index b5f4b6c72010e9..b91cf0fe441c85 100644 --- a/test/message/core_line_numbers.out +++ b/test/fixtures/console/core_line_numbers.snapshot @@ -5,6 +5,6 @@ node:punycode:49 RangeError: Invalid input at error (node:punycode:49:8) at Object.decode (node:punycode:*:*) - at Object. (*test*message*core_line_numbers.js:*:*) + at Object. (*test*fixtures*console*core_line_numbers.js:*:*) Node.js * diff --git a/test/message/eval_messages.js b/test/fixtures/console/eval_messages.js similarity index 98% rename from test/message/eval_messages.js rename to test/fixtures/console/eval_messages.js index 69dcbd6efa23a7..171bff06b8d6e9 100644 --- a/test/message/eval_messages.js +++ b/test/fixtures/console/eval_messages.js @@ -21,7 +21,7 @@ 'use strict'; -require('../common'); +require('../../common'); const spawn = require('child_process').spawn; diff --git a/test/message/eval_messages.out b/test/fixtures/console/eval_messages.snapshot similarity index 100% rename from test/message/eval_messages.out rename to test/fixtures/console/eval_messages.snapshot diff --git a/test/message/stdin_messages.js b/test/fixtures/console/stdin_messages.js similarity index 98% rename from test/message/stdin_messages.js rename to test/fixtures/console/stdin_messages.js index 79475bd4d217b6..874b473be38e00 100644 --- a/test/message/stdin_messages.js +++ b/test/fixtures/console/stdin_messages.js @@ -21,7 +21,7 @@ 'use strict'; -require('../common'); +require('../../common'); const spawn = require('child_process').spawn; diff --git a/test/message/stdin_messages.out b/test/fixtures/console/stdin_messages.snapshot similarity index 100% rename from test/message/stdin_messages.out rename to test/fixtures/console/stdin_messages.snapshot diff --git a/test/message/if-error-has-good-stack.js b/test/fixtures/errors/if-error-has-good-stack.js similarity index 93% rename from test/message/if-error-has-good-stack.js rename to test/fixtures/errors/if-error-has-good-stack.js index 4f529d3e5d17ff..85c127c4e24c54 100644 --- a/test/message/if-error-has-good-stack.js +++ b/test/fixtures/errors/if-error-has-good-stack.js @@ -1,6 +1,6 @@ 'use strict'; -require('../common'); +require('../../common'); Error.stackTraceLimit = 4; const assert = require('assert'); diff --git a/test/message/if-error-has-good-stack.out b/test/fixtures/errors/if-error-has-good-stack.snapshot similarity index 100% rename from test/message/if-error-has-good-stack.out rename to test/fixtures/errors/if-error-has-good-stack.snapshot diff --git a/test/message/test-no-extra-info-on-fatal-exception.js b/test/fixtures/errors/test-no-extra-info-on-fatal-exception.js similarity index 81% rename from test/message/test-no-extra-info-on-fatal-exception.js rename to test/fixtures/errors/test-no-extra-info-on-fatal-exception.js index dbc61b0f2382e0..d72a7a22cd727e 100644 --- a/test/message/test-no-extra-info-on-fatal-exception.js +++ b/test/fixtures/errors/test-no-extra-info-on-fatal-exception.js @@ -1,7 +1,7 @@ // Flags: --no-extra-info-on-fatal-exception 'use strict'; -require('../common'); +require('../../common'); Error.stackTraceLimit = 1; throw new Error('foo'); diff --git a/test/message/test-no-extra-info-on-fatal-exception.out b/test/fixtures/errors/test-no-extra-info-on-fatal-exception.snapshot similarity index 100% rename from test/message/test-no-extra-info-on-fatal-exception.out rename to test/fixtures/errors/test-no-extra-info-on-fatal-exception.snapshot diff --git a/test/message/throw_error_with_getter_throw.js b/test/fixtures/errors/throw_error_with_getter_throw.js similarity index 87% rename from test/message/throw_error_with_getter_throw.js rename to test/fixtures/errors/throw_error_with_getter_throw.js index a807ff3e2b6504..341397f28c6101 100644 --- a/test/message/throw_error_with_getter_throw.js +++ b/test/fixtures/errors/throw_error_with_getter_throw.js @@ -1,5 +1,7 @@ 'use strict'; -require('../common'); + +require('../../common'); + throw { // eslint-disable-line no-throw-literal get stack() { throw new Error('weird throw but ok'); diff --git a/test/message/throw_error_with_getter_throw.out b/test/fixtures/errors/throw_error_with_getter_throw.snapshot similarity index 100% rename from test/message/throw_error_with_getter_throw.out rename to test/fixtures/errors/throw_error_with_getter_throw.snapshot diff --git a/test/message/throw_null.js b/test/fixtures/errors/throw_null.js similarity index 97% rename from test/message/throw_null.js rename to test/fixtures/errors/throw_null.js index fb233d1db56704..d8fc14ba784488 100644 --- a/test/message/throw_null.js +++ b/test/fixtures/errors/throw_null.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -require('../common'); +require('../../common'); // eslint-disable-next-line no-throw-literal throw null; diff --git a/test/message/throw_null.out b/test/fixtures/errors/throw_null.snapshot similarity index 100% rename from test/message/throw_null.out rename to test/fixtures/errors/throw_null.snapshot diff --git a/test/message/throw_undefined.js b/test/fixtures/errors/throw_undefined.js similarity index 97% rename from test/message/throw_undefined.js rename to test/fixtures/errors/throw_undefined.js index a89aaf2ee2da59..8c486a7ff4c470 100644 --- a/test/message/throw_undefined.js +++ b/test/fixtures/errors/throw_undefined.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -require('../common'); +require('../../common'); // eslint-disable-next-line no-throw-literal throw undefined; diff --git a/test/message/throw_undefined.out b/test/fixtures/errors/throw_undefined.snapshot similarity index 72% rename from test/message/throw_undefined.out rename to test/fixtures/errors/throw_undefined.snapshot index 56b0cac4259d6d..f04267471578da 100644 --- a/test/message/throw_undefined.out +++ b/test/fixtures/errors/throw_undefined.snapshot @@ -1,5 +1,5 @@ -*test*message*throw_undefined.js:* +*test*fixtures*errors*throw_undefined.js:* throw undefined; ^ undefined diff --git a/test/message/timeout_throw.js b/test/fixtures/errors/timeout_throw.js similarity index 98% rename from test/message/timeout_throw.js rename to test/fixtures/errors/timeout_throw.js index 9bcbd85b5036e2..bd4130479b48c6 100644 --- a/test/message/timeout_throw.js +++ b/test/fixtures/errors/timeout_throw.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -require('../common'); +require('../../common'); setTimeout(function() { // eslint-disable-next-line no-undef,no-unused-expressions diff --git a/test/message/timeout_throw.out b/test/fixtures/errors/timeout_throw.snapshot similarity index 65% rename from test/message/timeout_throw.out rename to test/fixtures/errors/timeout_throw.snapshot index 83b861caa7ca29..2745fba6f53191 100644 --- a/test/message/timeout_throw.out +++ b/test/fixtures/errors/timeout_throw.snapshot @@ -1,8 +1,8 @@ -*test*message*timeout_throw.js:* +*test*fixtures*errors*timeout_throw.js:* undefined_reference_error_maker; ^ ReferenceError: undefined_reference_error_maker is not defined - at Timeout._onTimeout (*test*message*timeout_throw.js:*:*) + at Timeout._onTimeout (*test*fixtures*errors*timeout_throw.js:*:*) at listOnTimeout (node:internal/timers:*:*) at process.processTimers (node:internal/timers:*:*) diff --git a/test/message/undefined_reference_in_new_context.js b/test/fixtures/errors/undefined_reference_in_new_context.js similarity index 98% rename from test/message/undefined_reference_in_new_context.js rename to test/fixtures/errors/undefined_reference_in_new_context.js index 29a67632f8f7dd..baa45de11ecef7 100644 --- a/test/message/undefined_reference_in_new_context.js +++ b/test/fixtures/errors/undefined_reference_in_new_context.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -require('../common'); +require('../../common'); const vm = require('vm'); console.error('before'); diff --git a/test/message/undefined_reference_in_new_context.out b/test/fixtures/errors/undefined_reference_in_new_context.snapshot similarity index 77% rename from test/message/undefined_reference_in_new_context.out rename to test/fixtures/errors/undefined_reference_in_new_context.snapshot index 8d8228bd902950..22eb5c304622f8 100644 --- a/test/message/undefined_reference_in_new_context.out +++ b/test/fixtures/errors/undefined_reference_in_new_context.snapshot @@ -8,6 +8,6 @@ ReferenceError: foo is not defined at Script.runInContext (node:vm:*) at Script.runInNewContext (node:vm:*) at Object.runInNewContext (node:vm:*) - at Object. (*test*message*undefined_reference_in_new_context.js:*) + at Object. (*test*fixtures*errors*undefined_reference_in_new_context.js:*) Node.js * diff --git a/test/message/util-inspect-error-cause.js b/test/fixtures/errors/util-inspect-error-cause.js similarity index 98% rename from test/message/util-inspect-error-cause.js rename to test/fixtures/errors/util-inspect-error-cause.js index ed9d8230fe0c40..f08c293db9ef95 100644 --- a/test/message/util-inspect-error-cause.js +++ b/test/fixtures/errors/util-inspect-error-cause.js @@ -1,6 +1,6 @@ 'use strict'; -require('../common'); +require('../../common'); const { inspect } = require('util'); diff --git a/test/message/util-inspect-error-cause.out b/test/fixtures/errors/util-inspect-error-cause.snapshot similarity index 100% rename from test/message/util-inspect-error-cause.out rename to test/fixtures/errors/util-inspect-error-cause.snapshot diff --git a/test/message/util_inspect_error.js b/test/fixtures/errors/util_inspect_error.js similarity index 92% rename from test/message/util_inspect_error.js rename to test/fixtures/errors/util_inspect_error.js index 20affd6c711fd8..ddec5e01a6ed16 100644 --- a/test/message/util_inspect_error.js +++ b/test/fixtures/errors/util_inspect_error.js @@ -1,6 +1,6 @@ 'use strict'; -require('../common'); +require('../../common'); const util = require('util'); const err = new Error('foo\nbar'); diff --git a/test/message/util_inspect_error.out b/test/fixtures/errors/util_inspect_error.snapshot similarity index 100% rename from test/message/util_inspect_error.out rename to test/fixtures/errors/util_inspect_error.snapshot diff --git a/test/message/v8_warning.js b/test/fixtures/errors/v8_warning.js similarity index 89% rename from test/message/v8_warning.js rename to test/fixtures/errors/v8_warning.js index d7d1c5e7dbdff6..ab4d2bf305823f 100644 --- a/test/message/v8_warning.js +++ b/test/fixtures/errors/v8_warning.js @@ -1,6 +1,6 @@ 'use strict'; -require('../common'); +require('../../common'); function AsmModule() { 'use asm'; diff --git a/test/message/v8_warning.out b/test/fixtures/errors/v8_warning.snapshot similarity index 100% rename from test/message/v8_warning.out rename to test/fixtures/errors/v8_warning.snapshot diff --git a/test/fixtures/map/source_map_enclosing_function.js b/test/fixtures/map/source_map_enclosing_function.js new file mode 100644 index 00000000000000..cf67a62d505fa1 --- /dev/null +++ b/test/fixtures/map/source_map_enclosing_function.js @@ -0,0 +1,7 @@ +// Flags: --enable-source-maps + +'use strict'; +require('../../common'); +Error.stackTraceLimit = 5; + +require('../source-map/enclosing-call-site-min.js'); diff --git a/test/message/source_map_enclosing_function.out b/test/fixtures/map/source_map_enclosing_function.snapshot similarity index 100% rename from test/message/source_map_enclosing_function.out rename to test/fixtures/map/source_map_enclosing_function.snapshot diff --git a/test/message/source_map_reference_error_tabs.js b/test/fixtures/map/source_map_reference_error_tabs.js similarity index 53% rename from test/message/source_map_reference_error_tabs.js rename to test/fixtures/map/source_map_reference_error_tabs.js index fbe058a5f531bf..fbca02979e09fc 100644 --- a/test/message/source_map_reference_error_tabs.js +++ b/test/fixtures/map/source_map_reference_error_tabs.js @@ -1,7 +1,7 @@ // Flags: --enable-source-maps 'use strict'; -require('../common'); +require('../../common'); Error.stackTraceLimit = 2; -require('../fixtures/source-map/tabs.js'); +require('../source-map/tabs.js'); diff --git a/test/message/source_map_reference_error_tabs.out b/test/fixtures/map/source_map_reference_error_tabs.snapshot similarity index 100% rename from test/message/source_map_reference_error_tabs.out rename to test/fixtures/map/source_map_reference_error_tabs.snapshot diff --git a/test/message/source_map_sourcemapping_url_string.js b/test/fixtures/map/source_map_sourcemapping_url_string.js similarity index 61% rename from test/message/source_map_sourcemapping_url_string.js rename to test/fixtures/map/source_map_sourcemapping_url_string.js index 254d18bd080e53..a018ba4108aca5 100644 --- a/test/message/source_map_sourcemapping_url_string.js +++ b/test/fixtures/map/source_map_sourcemapping_url_string.js @@ -1,11 +1,11 @@ // Flags: --enable-source-maps 'use strict'; -require('../common'); +require('../../common'); Error.stackTraceLimit = 2; try { - require('../fixtures/source-map/typescript-sourcemapping_url_string'); + require('../source-map/typescript-sourcemapping_url_string'); } catch (err) { setTimeout(() => { console.info(err); diff --git a/test/message/source_map_sourcemapping_url_string.out b/test/fixtures/map/source_map_sourcemapping_url_string.snapshot similarity index 52% rename from test/message/source_map_sourcemapping_url_string.out rename to test/fixtures/map/source_map_sourcemapping_url_string.snapshot index 3d0b6e15eb6c7a..4e03603a637159 100644 --- a/test/message/source_map_sourcemapping_url_string.out +++ b/test/fixtures/map/source_map_sourcemapping_url_string.snapshot @@ -1,3 +1,3 @@ Error: an exception. - at *typescript-sourcemapping_url_string.ts:3:7* + at Object. (*typescript-sourcemapping_url_string.ts:3:7) at Module._compile (node:internal/modules/cjs/loader:*) diff --git a/test/message/source_map_throw_catch.js b/test/fixtures/map/source_map_throw_catch.js similarity index 66% rename from test/message/source_map_throw_catch.js rename to test/fixtures/map/source_map_throw_catch.js index 603fa81867bcbe..21e1d07bb63eb6 100644 --- a/test/message/source_map_throw_catch.js +++ b/test/fixtures/map/source_map_throw_catch.js @@ -1,11 +1,11 @@ // Flags: --enable-source-maps 'use strict'; -require('../common'); +require('../../common'); Error.stackTraceLimit = 2; try { - require('../fixtures/source-map/typescript-throw'); + require('../source-map/typescript-throw'); } catch (err) { setTimeout(() => { console.info(err); diff --git a/test/message/source_map_throw_catch.out b/test/fixtures/map/source_map_throw_catch.snapshot similarity index 100% rename from test/message/source_map_throw_catch.out rename to test/fixtures/map/source_map_throw_catch.snapshot diff --git a/test/message/source_map_throw_icu.js b/test/fixtures/map/source_map_throw_icu.js similarity index 54% rename from test/message/source_map_throw_icu.js rename to test/fixtures/map/source_map_throw_icu.js index 672c1575c6547a..0527e179d91f3c 100644 --- a/test/message/source_map_throw_icu.js +++ b/test/fixtures/map/source_map_throw_icu.js @@ -1,7 +1,7 @@ // Flags: --enable-source-maps 'use strict'; -require('../common'); +require('../../common'); Error.stackTraceLimit = 2; -require('../fixtures/source-map/icu'); +require('../source-map/icu'); diff --git a/test/message/source_map_throw_icu.out b/test/fixtures/map/source_map_throw_icu.snapshot similarity index 100% rename from test/message/source_map_throw_icu.out rename to test/fixtures/map/source_map_throw_icu.snapshot diff --git a/test/fixtures/map/source_map_throw_set_immediate.js b/test/fixtures/map/source_map_throw_set_immediate.js new file mode 100644 index 00000000000000..44c8591366f245 --- /dev/null +++ b/test/fixtures/map/source_map_throw_set_immediate.js @@ -0,0 +1,5 @@ +// Flags: --enable-source-maps + +'use strict'; +require('../../common'); +require('../source-map/uglify-throw'); diff --git a/test/message/source_map_throw_set_immediate.out b/test/fixtures/map/source_map_throw_set_immediate.snapshot similarity index 100% rename from test/message/source_map_throw_set_immediate.out rename to test/fixtures/map/source_map_throw_set_immediate.snapshot diff --git a/test/message/promise_unhandled_warn_with_error.js b/test/fixtures/promise/promise_unhandled_warn_with_error.js similarity index 88% rename from test/message/promise_unhandled_warn_with_error.js rename to test/fixtures/promise/promise_unhandled_warn_with_error.js index e07f52039101a3..b71757a259f04a 100644 --- a/test/message/promise_unhandled_warn_with_error.js +++ b/test/fixtures/promise/promise_unhandled_warn_with_error.js @@ -1,7 +1,7 @@ // Flags: --unhandled-rejections=warn-with-error-code 'use strict'; -require('../common'); +require('../../common'); const assert = require('assert'); Promise.reject(new Error('alas')); diff --git a/test/message/promise_unhandled_warn_with_error.out b/test/fixtures/promise/promise_unhandled_warn_with_error.snapshot similarity index 100% rename from test/message/promise_unhandled_warn_with_error.out rename to test/fixtures/promise/promise_unhandled_warn_with_error.snapshot diff --git a/test/message/unhandled_promise_trace_warnings.js b/test/fixtures/promise/unhandled_promise_trace_warnings.js similarity index 86% rename from test/message/unhandled_promise_trace_warnings.js rename to test/fixtures/promise/unhandled_promise_trace_warnings.js index 66c1f39e5de091..53c5315a2dabfd 100644 --- a/test/message/unhandled_promise_trace_warnings.js +++ b/test/fixtures/promise/unhandled_promise_trace_warnings.js @@ -1,5 +1,5 @@ // Flags: --trace-warnings --unhandled-rejections=warn 'use strict'; -require('../common'); +require('../../common'); const p = Promise.reject(new Error('This was rejected')); setImmediate(() => p.catch(() => {})); diff --git a/test/message/unhandled_promise_trace_warnings.out b/test/fixtures/promise/unhandled_promise_trace_warnings.snapshot similarity index 68% rename from test/message/unhandled_promise_trace_warnings.out rename to test/fixtures/promise/unhandled_promise_trace_warnings.snapshot index a8717d0e13d1e4..4539d2adb490e6 100644 --- a/test/message/unhandled_promise_trace_warnings.out +++ b/test/fixtures/promise/unhandled_promise_trace_warnings.snapshot @@ -1,5 +1,5 @@ (node:*) UnhandledPromiseRejectionWarning: Error: This was rejected - at * (*test*message*unhandled_promise_trace_warnings.js:*) + at * (*test*fixtures*promise*unhandled_promise_trace_warnings.js:*) at * at * at * @@ -10,7 +10,7 @@ at * at * (node:*) Error: This was rejected - at * (*test*message*unhandled_promise_trace_warnings.js:*) + at * (*test*fixtures*promise*unhandled_promise_trace_warnings.js:*) at * at * at * @@ -22,5 +22,5 @@ at promiseRejectHandler (node:internal/process/promises:*) at Promise.then * at Promise.catch * - at Immediate. (*test*message*unhandled_promise_trace_warnings.js:*) + at Immediate. (*test*fixtures*promise*unhandled_promise_trace_warnings.js:*) at * diff --git a/test/message/max_tick_depth.js b/test/fixtures/tick/max_tick_depth.js similarity index 98% rename from test/message/max_tick_depth.js rename to test/fixtures/tick/max_tick_depth.js index 15462157d2160d..2370fce0af9420 100644 --- a/test/message/max_tick_depth.js +++ b/test/fixtures/tick/max_tick_depth.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -require('../common'); +require('../../common'); process.maxTickDepth = 10; let i = 20; diff --git a/test/message/max_tick_depth.out b/test/fixtures/tick/max_tick_depth.snapshot similarity index 100% rename from test/message/max_tick_depth.out rename to test/fixtures/tick/max_tick_depth.snapshot diff --git a/test/message/nexttick_throw.js b/test/fixtures/tick/nexttick_throw.js similarity index 98% rename from test/message/nexttick_throw.js rename to test/fixtures/tick/nexttick_throw.js index d7e51b411eda64..3aaef64b9bfe7a 100644 --- a/test/message/nexttick_throw.js +++ b/test/fixtures/tick/nexttick_throw.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -require('../common'); +require('../../common'); process.nextTick(function() { process.nextTick(function() { diff --git a/test/message/nexttick_throw.out b/test/fixtures/tick/nexttick_throw.snapshot similarity index 69% rename from test/message/nexttick_throw.out rename to test/fixtures/tick/nexttick_throw.snapshot index 2d105a5c422abc..b97007968e453d 100644 --- a/test/message/nexttick_throw.out +++ b/test/fixtures/tick/nexttick_throw.snapshot @@ -1,9 +1,9 @@ -*test*message*nexttick_throw.js:* +*test*fixtures*tick*nexttick_throw.js:* undefined_reference_error_maker; ^ ReferenceError: undefined_reference_error_maker is not defined - at *test*message*nexttick_throw.js:*:* + at *test*fixtures*tick*nexttick_throw.js:*:* at process.processTicksAndRejections (node:internal/process/task_queues:*:*) Node.js * diff --git a/test/message/message.status b/test/message/message.status deleted file mode 100644 index bd3f488b7bedd6..00000000000000 --- a/test/message/message.status +++ /dev/null @@ -1,19 +0,0 @@ -prefix message - -# To mark a test as flaky, list the test name in the appropriate section -# below, without ".js", followed by ": PASS,FLAKY". Example: -# sample-test : PASS,FLAKY - -[true] # This section applies to all platforms - -[$system==win32] - -[$system==linux] - -[$system==macos] - -[$system==solaris] # Also applies to SmartOS - -[$system==freebsd] - -[$system==aix] diff --git a/test/message/source_map_enclosing_function.js b/test/message/source_map_enclosing_function.js deleted file mode 100644 index f77bd818f02d78..00000000000000 --- a/test/message/source_map_enclosing_function.js +++ /dev/null @@ -1,7 +0,0 @@ -// Flags: --enable-source-maps - -'use strict'; -require('../common'); -Error.stackTraceLimit = 5; - -require('../fixtures/source-map/enclosing-call-site-min.js'); diff --git a/test/message/source_map_throw_set_immediate.js b/test/message/source_map_throw_set_immediate.js deleted file mode 100644 index 17da1bd7acea66..00000000000000 --- a/test/message/source_map_throw_set_immediate.js +++ /dev/null @@ -1,5 +0,0 @@ -// Flags: --enable-source-maps - -'use strict'; -require('../common'); -require('../fixtures/source-map/uglify-throw'); diff --git a/test/message/testcfg.py b/test/message/testcfg.py deleted file mode 100644 index 4be454b55c9053..00000000000000 --- a/test/message/testcfg.py +++ /dev/null @@ -1,139 +0,0 @@ -from __future__ import print_function -# Copyright 2008 the V8 project authors. All rights reserved. -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import test -import os -from os.path import join, exists, basename, isdir -import re -from functools import reduce - -FLAGS_PATTERN = re.compile(r"//\s+Flags:(.*)") - -class MessageTestCase(test.TestCase): - - def __init__(self, path, file, expected, arch, mode, context, config): - super(MessageTestCase, self).__init__(context, path, arch, mode) - self.file = file - self.expected = expected - self.config = config - self.arch = arch - self.mode = mode - self.parallel = True - - def IgnoreLine(self, str): - """Ignore empty lines and valgrind output.""" - if not str.strip(): return True - else: return str.startswith('==') or str.startswith('**') - - def IsFailureOutput(self, output): - f = open(self.expected) - # Skip initial '#' comment and spaces - #for line in f: - # if (not line.startswith('#')) and (not line.strip()): - # break - # Convert output lines to regexps that we can match - env = { 'basename': basename(self.file) } - patterns = [ ] - for line in f: - if not line.strip(): - continue - pattern = re.escape(line.rstrip() % env) - pattern = pattern.replace('\\*', '.*') - pattern = '^%s$' % pattern - patterns.append(pattern) - # Compare actual output with the expected - raw_lines = (output.stdout + output.stderr).split('\n') - outlines = [ s for s in raw_lines if not self.IgnoreLine(s) ] - if len(outlines) != len(patterns): - print("length differs.") - print("expect=%d" % len(patterns)) - print("actual=%d" % len(outlines)) - print("patterns:") - for i in range(len(patterns)): - print("pattern = %s" % patterns[i]) - print("outlines:") - for i in range(len(outlines)): - print("outline = %s" % outlines[i]) - return True - for i in range(len(patterns)): - if not re.match(patterns[i], outlines[i]): - print("match failed") - print("line=%d" % i) - print("expect=%s" % patterns[i]) - print("actual=%s" % outlines[i]) - return True - return False - - def GetLabel(self): - return "%s %s" % (self.mode, self.GetName()) - - def GetName(self): - return self.path[-1] - - def GetCommand(self): - result = [self.config.context.GetVm(self.arch, self.mode)] - source = open(self.file).read() - flags_match = FLAGS_PATTERN.search(source) - if flags_match: - result += flags_match.group(1).strip().split() - result.append(self.file) - return result - - def GetSource(self): - return (open(self.file).read() - + "\n--- expected output ---\n" - + open(self.expected).read()) - - -class MessageTestConfiguration(test.TestConfiguration): - def Ls(self, path): - if isdir(path): - return [f for f in os.listdir(path) - if f.endswith('.js') or f.endswith('.mjs')] - else: - return [] - - def ListTests(self, current_path, path, arch, mode): - all_tests = [current_path + [t] for t in self.Ls(self.root)] - result = [] - for tst in all_tests: - if self.Contains(path, tst): - file_path = join(self.root, reduce(join, tst[1:], '')) - output_path = file_path[:file_path.rfind('.')] + '.out' - if not exists(output_path): - raise Exception("Could not find %s" % output_path) - result.append(MessageTestCase(tst, file_path, output_path, - arch, mode, self.context, self)) - return result - - def GetBuildRequirements(self): - return ['sample', 'sample=shell'] - - -def GetConfiguration(context, root): - return MessageTestConfiguration(context, root, 'message')