@@ -72,7 +72,16 @@ const test = (desc, func) =>
72
72
}
73
73
} ) ;
74
74
75
- test ( 'py3.6 can package flask with default options' , t => {
75
+ const getPythonBin = ( version = 3 ) => {
76
+ if ( ! [ 2 , 3 ] . includes ( version ) )
77
+ throw new Error ( 'version must be 2 or 3' )
78
+ if ( process . platform === 'win32' )
79
+ return `c:/python${ version === 2 ? '27' : '36' } -x64/python.exe` ;
80
+ else
81
+ return version === 2 ? 'python2.7' : 'python3.6' ;
82
+ } ;
83
+
84
+ test ( 'default pythonBin can package flask with default options' , t => {
76
85
process . chdir ( 'tests/base' ) ;
77
86
const path = npm ( [ 'pack' , '../..' ] ) ;
78
87
npm ( [ 'i' , path ] ) ;
@@ -83,11 +92,22 @@ test('py3.6 can package flask with default options', t => {
83
92
t . end ( ) ;
84
93
} ) ;
85
94
95
+ test ( 'py3.6 can package flask with default options' , t => {
96
+ process . chdir ( 'tests/base' ) ;
97
+ const path = npm ( [ 'pack' , '../..' ] ) ;
98
+ npm ( [ 'i' , path ] ) ;
99
+ sls ( [ `--pythonBin=${ getPythonBin ( 3 ) } ` , 'package' ] ) ;
100
+ unzip ( [ '.serverless/sls-py-req-test.zip' , '-d' , 'puck' ] ) ;
101
+ const files = readdirSync ( 'puck' ) ;
102
+ t . true ( files . includes ( 'flask' ) , 'flask is packaged' ) ;
103
+ t . end ( ) ;
104
+ } ) ;
105
+
86
106
test ( 'py3.6 can package flask with zip option' , t => {
87
107
process . chdir ( 'tests/base' ) ;
88
108
const path = npm ( [ 'pack' , '../..' ] ) ;
89
109
npm ( [ 'i' , path ] ) ;
90
- sls ( [ '--zip=true' , 'package' ] ) ;
110
+ sls ( [ `--pythonBin= ${ getPythonBin ( 3 ) } ` , '--zip=true' , 'package' ] ) ;
91
111
unzip ( [ '.serverless/sls-py-req-test.zip' , '-d' , 'puck' ] ) ;
92
112
const files = readdirSync ( 'puck' ) ;
93
113
t . true (
@@ -103,7 +123,7 @@ test('py3.6 can package flask with slim option', t => {
103
123
process . chdir ( 'tests/base' ) ;
104
124
const path = npm ( [ 'pack' , '../..' ] ) ;
105
125
npm ( [ 'i' , path ] ) ;
106
- sls ( [ '--slim=true' , 'package' ] ) ;
126
+ sls ( [ `--pythonBin= ${ getPythonBin ( 3 ) } ` , '--slim=true' , 'package' ] ) ;
107
127
unzip ( [ '.serverless/sls-py-req-test.zip' , '-d' , 'puck' ] ) ;
108
128
const files = readdirSync ( 'puck' ) ;
109
129
t . true ( files . includes ( 'flask' ) , 'flask is packaged' ) ;
0 commit comments