@@ -24,169 +24,181 @@ afterEach(async () => {
24
24
await context . close ( )
25
25
} )
26
26
27
- test ( 'text classification simple' , async ( ) => {
28
- await page . selectOption ( 'select' , 'template-text-classification' )
29
-
30
- await page . waitForSelector ( 'text=README.md' )
31
-
32
- await page . click ( 'text=Loggers' )
33
- await page . click ( 'text=config.yaml' )
34
-
35
- // TODO: simplify the downloadPromise calls
36
- // Here we are trying to wait for 2 seconds before clicking on the `Code` and `Download Zip` button
37
- const downloadPromise = await page
38
- . waitForEvent ( 'download' , { timeout : 2000 } )
39
- . catch ( ( ) => {
40
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
41
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
42
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
43
- } )
44
- . catch ( ( ) => {
45
- // these catch calls are required to make sure if CI fails initially then we can have something to rely for further tests
46
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
47
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
48
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
49
- } )
50
- . catch ( ( ) => {
51
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
52
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
53
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
54
- } )
55
-
56
- await downloadPromise . saveAs ( './dist-tests/text-classification-simple.zip' )
57
- } )
58
-
59
- test ( 'text classification all' , async ( ) => {
60
- await page . selectOption ( 'select' , 'template-text-classification' )
61
-
62
- await page . check ( '#include_test-checkbox' )
63
- expect ( await page . isChecked ( '#include_test-checkbox' ) ) . toBeTruthy ( )
64
-
65
- await page . waitForSelector ( 'text=README.md' )
66
- await page . click ( 'text=Training' )
67
-
68
- await page . check ( '#deterministic-checkbox' )
69
- expect ( await page . isChecked ( '#deterministic-checkbox' ) ) . toBeTruthy ( )
70
-
71
- await page . click ( 'text=Handlers' )
72
-
73
- await page . check ( '#save_training-checkbox' )
74
- expect ( await page . isChecked ( '#save_training-checkbox' ) ) . toBeTruthy ( )
75
-
76
- await page . check ( '#save_evaluation-checkbox' )
77
- expect ( await page . isChecked ( '#save_evaluation-checkbox' ) ) . toBeTruthy ( )
78
-
79
- await page . fill ( '#filename_prefix-input-text' , 'training' )
80
- expect ( await page . $eval ( '#filename_prefix-input-text' , ( e ) => e . value ) ) . toBe (
81
- 'training'
82
- )
83
-
84
- await page . fill ( '#save_every_iters-input-number' , '2' )
85
- expect (
86
- await page . $eval ( '#save_every_iters-input-number' , ( e ) => e . value )
87
- ) . toBe ( '2' )
88
-
89
- await page . fill ( '#n_saved-input-number' , '2' )
90
- expect ( await page . $eval ( '#n_saved-input-number' , ( e ) => e . value ) ) . toBe ( '2' )
91
-
92
- await page . check ( '#terminate_on_nan-checkbox' )
93
- expect ( await page . isChecked ( '#terminate_on_nan-checkbox' ) ) . toBeTruthy ( )
94
-
95
- await page . fill ( '#patience-input-number' , '2' )
96
- expect ( await page . $eval ( '#patience-input-number' , ( e ) => e . value ) ) . toBe ( '2' )
97
-
98
- await page . fill ( '#limit_sec-input-number' , '60' )
99
- expect ( await page . $eval ( '#limit_sec-input-number' , ( e ) => e . value ) ) . toBe ( '60' )
100
-
101
- await page . click ( 'text=Loggers' )
102
- await page . click ( 'text=config.yaml' )
103
-
104
- const downloadPromise = await page
105
- . waitForEvent ( 'download' , { timeout : 2000 } )
106
- . catch ( ( ) => {
107
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
108
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
109
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
110
- } )
111
- . catch ( ( ) => {
112
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
113
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
114
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
115
- } )
116
- . catch ( ( ) => {
117
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
118
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
119
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
120
- } )
121
- await downloadPromise . saveAs ( './dist-tests/text-classification-all.zip' )
122
- } )
123
-
124
- test ( 'text classification launch' , async ( ) => {
125
- await page . selectOption ( 'select' , 'template-text-classification' )
126
-
127
- await page . waitForSelector ( 'text=README.md' )
128
- await page . click ( 'text=Training' )
129
-
130
- await page . check ( '#use_dist-checkbox' )
131
- expect ( await page . isChecked ( '#use_dist-checkbox' ) ) . toBeTruthy ( )
132
-
133
- expect ( await page . isChecked ( '#dist-torchrun-radio' ) ) . toBeTruthy ( )
134
-
135
- await page . click ( 'text=Loggers' )
136
- await page . click ( 'text=config.yaml' )
137
-
138
- const downloadPromise = await page
139
- . waitForEvent ( 'download' , { timeout : 2000 } )
140
- . catch ( ( ) => {
141
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
142
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
143
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
144
- } )
145
- . catch ( ( ) => {
146
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
147
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
148
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
149
- } )
150
- . catch ( ( ) => {
151
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
152
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
153
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
154
- } )
155
-
156
- await downloadPromise . saveAs ( './dist-tests/text-classification-launch.zip' )
157
- } )
158
-
159
- test ( 'text classification spawn' , async ( ) => {
160
- await page . selectOption ( 'select' , 'template-text-classification' )
161
-
162
- await page . waitForSelector ( 'text=README.md' )
163
- await page . click ( 'text=Training' )
164
-
165
- await page . check ( '#use_dist-checkbox' )
166
- expect ( await page . isChecked ( '#use_dist-checkbox' ) ) . toBeTruthy ( )
167
-
168
- await page . check ( '#dist-spawn-radio' )
169
- expect ( await page . isChecked ( '#dist-spawn-radio' ) ) . toBeTruthy ( )
170
-
171
- await page . click ( 'text=Loggers' )
172
- await page . click ( 'text=config.yaml' )
173
-
174
- const downloadPromise = await page
175
- . waitForEvent ( 'download' , { timeout : 2000 } )
176
- . catch ( ( ) => {
177
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
178
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
179
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
180
- } )
181
- . catch ( ( ) => {
182
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
183
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
184
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
185
- } )
186
- . catch ( ( ) => {
187
- page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
188
- page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
189
- return page . waitForEvent ( 'download' , { timeout : 2000 } )
190
- } )
191
- await downloadPromise . saveAs ( './dist-tests/text-classification-spawn.zip' )
192
- } )
27
+ const parser = [ 'argparse' ]
28
+ for ( const name of parser ) {
29
+ test ( `text-classification simple ${ name } ` , async ( ) => {
30
+ await page . selectOption ( 'select' , 'template-text-classification' )
31
+
32
+ await page . waitForSelector ( 'text=README.md' )
33
+
34
+ await page . click ( 'text=Loggers' )
35
+ await page . click ( 'text=config.yaml' )
36
+ await page . getByText ( 'Training' , { exact : true } ) . click ( )
37
+
38
+ // TODO: simplify the downloadPromise calls
39
+ // Here we are trying to wait for 2 seconds before clicking on the `Code` and `Download Zip` button
40
+ const downloadPromise = await page
41
+ . waitForEvent ( 'download' , { timeout : 2000 } )
42
+ . catch ( ( ) => {
43
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
44
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
45
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
46
+ } )
47
+ . catch ( ( ) => {
48
+ // these catch calls are required to make sure if CI fails initially then we can have something to rely for further tests
49
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
50
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
51
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
52
+ } )
53
+ . catch ( ( ) => {
54
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
55
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
56
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
57
+ } )
58
+
59
+ await downloadPromise . saveAs (
60
+ `./dist-tests/text-classification-simple-${ name } .zip`
61
+ )
62
+ } )
63
+
64
+ test ( `text-classification all ${ name } ` , async ( ) => {
65
+ await page . selectOption ( 'select' , 'template-text-classification' )
66
+
67
+ await page . check ( '#include_test-checkbox' )
68
+ expect ( await page . isChecked ( '#include_test-checkbox' ) ) . toBeTruthy ( )
69
+
70
+ await page . waitForSelector ( 'text=README.md' )
71
+ await page . getByText ( 'Training' , { exact : true } ) . click ( )
72
+ await page . check ( '#deterministic-checkbox' )
73
+ expect ( await page . isChecked ( '#deterministic-checkbox' ) ) . toBeTruthy ( )
74
+
75
+ await page . click ( 'text=Handlers' )
76
+
77
+ await page . check ( '#save_training-checkbox' )
78
+ expect ( await page . isChecked ( '#save_training-checkbox' ) ) . toBeTruthy ( )
79
+
80
+ await page . check ( '#save_evaluation-checkbox' )
81
+ expect ( await page . isChecked ( '#save_evaluation-checkbox' ) ) . toBeTruthy ( )
82
+
83
+ await page . fill ( '#filename_prefix-input-text' , 'training' )
84
+ expect (
85
+ await page . $eval ( '#filename_prefix-input-text' , ( e ) => e . value )
86
+ ) . toBe ( 'training' )
87
+
88
+ await page . fill ( '#save_every_iters-input-number' , '2' )
89
+ expect (
90
+ await page . $eval ( '#save_every_iters-input-number' , ( e ) => e . value )
91
+ ) . toBe ( '2' )
92
+
93
+ await page . fill ( '#n_saved-input-number' , '2' )
94
+ expect ( await page . $eval ( '#n_saved-input-number' , ( e ) => e . value ) ) . toBe ( '2' )
95
+
96
+ await page . check ( '#terminate_on_nan-checkbox' )
97
+ expect ( await page . isChecked ( '#terminate_on_nan-checkbox' ) ) . toBeTruthy ( )
98
+
99
+ await page . fill ( '#patience-input-number' , '2' )
100
+ expect ( await page . $eval ( '#patience-input-number' , ( e ) => e . value ) ) . toBe ( '2' )
101
+
102
+ await page . fill ( '#limit_sec-input-number' , '60' )
103
+ expect ( await page . $eval ( '#limit_sec-input-number' , ( e ) => e . value ) ) . toBe (
104
+ '60'
105
+ )
106
+
107
+ await page . click ( 'text=Loggers' )
108
+ await page . click ( 'text=config.yaml' )
109
+
110
+ const downloadPromise = await page
111
+ . waitForEvent ( 'download' , { timeout : 2000 } )
112
+ . catch ( ( ) => {
113
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
114
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
115
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
116
+ } )
117
+ . catch ( ( ) => {
118
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
119
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
120
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
121
+ } )
122
+ . catch ( ( ) => {
123
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
124
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
125
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
126
+ } )
127
+ await downloadPromise . saveAs (
128
+ `./dist-tests/text-classification-all-${ name } .zip`
129
+ )
130
+ } )
131
+
132
+ test ( `text-classification launch ${ name } ` , async ( ) => {
133
+ await page . selectOption ( 'select' , 'template-text-classification' )
134
+
135
+ await page . waitForSelector ( 'text=README.md' )
136
+ await page . getByText ( 'Training' , { exact : true } ) . click ( )
137
+
138
+ await page . check ( '#use_dist-checkbox' )
139
+ expect ( await page . isChecked ( '#use_dist-checkbox' ) ) . toBeTruthy ( )
140
+
141
+ expect ( await page . isChecked ( '#dist-torchrun-radio' ) ) . toBeTruthy ( )
142
+
143
+ await page . click ( 'text=Loggers' )
144
+ await page . click ( 'text=config.yaml' )
145
+
146
+ const downloadPromise = await page
147
+ . waitForEvent ( 'download' , { timeout : 2000 } )
148
+ . catch ( ( ) => {
149
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
150
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
151
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
152
+ } )
153
+ . catch ( ( ) => {
154
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
155
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
156
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
157
+ } )
158
+ . catch ( ( ) => {
159
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
160
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
161
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
162
+ } )
163
+
164
+ await downloadPromise . saveAs (
165
+ `./dist-tests/text-classification-launch-${ name } .zip`
166
+ )
167
+ } )
168
+
169
+ test ( 'text-classification spawn' , async ( ) => {
170
+ await page . selectOption ( 'select' , 'template-text-classification' )
171
+
172
+ await page . waitForSelector ( 'text=README.md' )
173
+ await page . getByText ( 'Training' , { exact : true } ) . click ( )
174
+ await page . check ( '#use_dist-checkbox' )
175
+ expect ( await page . isChecked ( '#use_dist-checkbox' ) ) . toBeTruthy ( )
176
+
177
+ await page . check ( '#dist-spawn-radio' )
178
+ expect ( await page . isChecked ( '#dist-spawn-radio' ) ) . toBeTruthy ( )
179
+
180
+ await page . click ( 'text=Loggers' )
181
+ await page . click ( 'text=config.yaml' )
182
+
183
+ const downloadPromise = await page
184
+ . waitForEvent ( 'download' , { timeout : 2000 } )
185
+ . catch ( ( ) => {
186
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
187
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
188
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
189
+ } )
190
+ . catch ( ( ) => {
191
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
192
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
193
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
194
+ } )
195
+ . catch ( ( ) => {
196
+ page . getByRole ( 'button' , { name : 'Code' } ) . click ( )
197
+ page . getByRole ( 'button' , { name : 'Download Zip' } ) . click ( )
198
+ return page . waitForEvent ( 'download' , { timeout : 2000 } )
199
+ } )
200
+ await downloadPromise . saveAs (
201
+ `./dist-tests/text-classification-spawn-${ name } .zip`
202
+ )
203
+ } )
204
+ }
0 commit comments