@@ -61,6 +61,7 @@ describe('parseOptions', () => {
6161 enableExecutionId : false ,
6262 timeoutMilliseconds : 0 ,
6363 ignoredRoutes : null ,
64+ propagateFrameworkErrors : false ,
6465 } ,
6566 } ,
6667 {
@@ -77,6 +78,7 @@ describe('parseOptions', () => {
7778 '--timeout' ,
7879 '6' ,
7980 '--ignored-routes=banana' ,
81+ '--propagate-framework-errors=true' ,
8082 ] ,
8183 envVars : { } ,
8284 expectedOptions : {
@@ -88,6 +90,7 @@ describe('parseOptions', () => {
8890 enableExecutionId : false ,
8991 timeoutMilliseconds : 6000 ,
9092 ignoredRoutes : 'banana' ,
93+ propagateFrameworkErrors : true ,
9194 } ,
9295 } ,
9396 {
@@ -100,6 +103,7 @@ describe('parseOptions', () => {
100103 FUNCTION_SOURCE : '/source' ,
101104 CLOUD_RUN_TIMEOUT_SECONDS : '2' ,
102105 IGNORED_ROUTES : '' ,
106+ PROPAGATE_FRAMEWORK_ERRORS : 'true' ,
103107 } ,
104108 expectedOptions : {
105109 port : '1234' ,
@@ -110,6 +114,7 @@ describe('parseOptions', () => {
110114 enableExecutionId : false ,
111115 timeoutMilliseconds : 2000 ,
112116 ignoredRoutes : '' ,
117+ propagateFrameworkErrors : true ,
113118 } ,
114119 } ,
115120 {
@@ -125,6 +130,7 @@ describe('parseOptions', () => {
125130 '--source=/source' ,
126131 '--timeout=3' ,
127132 '--ignored-routes=avocado' ,
133+ '--propagate-framework-errors' ,
128134 ] ,
129135 envVars : {
130136 PORT : '4567' ,
@@ -133,6 +139,7 @@ describe('parseOptions', () => {
133139 FUNCTION_SOURCE : '/somewhere/else' ,
134140 CLOUD_RUN_TIMEOUT_SECONDS : '5' ,
135141 IGNORED_ROUTES : 'banana' ,
142+ PROPAGATE_FRAMEWORK_ERRORS : 'false' ,
136143 } ,
137144 expectedOptions : {
138145 port : '1234' ,
@@ -143,6 +150,7 @@ describe('parseOptions', () => {
143150 enableExecutionId : false ,
144151 timeoutMilliseconds : 3000 ,
145152 ignoredRoutes : 'avocado' ,
153+ propagateFrameworkErrors : false ,
146154 } ,
147155 } ,
148156 ] ;
@@ -236,4 +244,33 @@ describe('parseOptions', () => {
236244 } ) ;
237245 } ) ;
238246 } ) ;
247+
248+ it ( 'default disable propagate framework errors' , ( ) => {
249+ const options = parseOptions ( [ 'bin/node' , '/index.js' ] , { } ) ;
250+ assert . strictEqual ( options . propagateFrameworkErrors , false ) ;
251+ } ) ;
252+
253+ it ( 'disable propagate framework errors by cli flag' , ( ) => {
254+ const options = parseOptions (
255+ [ 'bin/node' , '/index.js' , '--propagate-framework-errors=false' ] ,
256+ { }
257+ ) ;
258+ assert . strictEqual ( options . propagateFrameworkErrors , false ) ;
259+ } ) ;
260+
261+ it ( 'enable propagate framework errors by cli flag' , ( ) => {
262+ const options = parseOptions (
263+ [ 'bin/node' , '/index.js' , '--propagate-framework-errors=true' ] ,
264+ { }
265+ ) ;
266+ assert . strictEqual ( options . propagateFrameworkErrors , true ) ;
267+ } ) ;
268+
269+ it ( 'disable propagate framework errors by env var' , ( ) => {
270+ const envVars = {
271+ PROPAGATE_FRAMEWORK_ERRORS : 'False' ,
272+ } ;
273+ const options = parseOptions ( cliOpts , envVars ) ;
274+ assert . strictEqual ( options . propagateFrameworkErrors , false ) ;
275+ } ) ;
239276} ) ;
0 commit comments