@@ -14,97 +14,99 @@ type resultType = {
1414 zipFileChecksum : string
1515}
1616
17- describe ( 'prepareRepoDataPerformanceTest' , function ( ) {
18- function verifyResult ( result : resultType , telemetry : TelemetryHelper , expectedSize : number ) : void {
19- assert . ok ( result )
20- assert . strictEqual ( Buffer . isBuffer ( result . zipFileBuffer ) , true )
21- assert . strictEqual ( telemetry . repositorySize , expectedSize )
22- assert . strictEqual ( result . zipFileChecksum . length , 44 )
23- }
24- /**
25- * Tests 250 files w/ 10 bytes each.
26- * Running more files can lead to flaky test from timeout.
27- */
28- performanceTest (
29- {
30- testRuns : 10 ,
31- linux : {
32- userCpuUsage : 90 ,
33- systemCpuUsage : 35 ,
34- heapTotal : 4 ,
35- } ,
36- darwin : {
37- userCpuUsage : 90 ,
38- systemCpuUsage : 35 ,
39- heapTotal : 4 ,
40- } ,
41- win32 : {
42- userCpuUsage : 90 ,
43- systemCpuUsage : 35 ,
44- heapTotal : 4 ,
45- } ,
46- } ,
47- 'handles many files' ,
48- function ( ) {
49- const telemetry = new TelemetryHelper ( )
50- return {
51- setup : async ( ) => {
52- return await createTestWorkspace ( 250 , {
53- fileNamePrefix : 'file' ,
54- fileContent : '0123456789' ,
55- fileNameSuffix : '.md' ,
56- } )
17+ describe ( 'prepareRepoData' , function ( ) {
18+ describe ( 'Performance Tests' , function ( ) {
19+ function verifyResult ( result : resultType , telemetry : TelemetryHelper , expectedSize : number ) : void {
20+ assert . ok ( result )
21+ assert . strictEqual ( Buffer . isBuffer ( result . zipFileBuffer ) , true )
22+ assert . strictEqual ( telemetry . repositorySize , expectedSize )
23+ assert . strictEqual ( result . zipFileChecksum . length , 44 )
24+ }
25+ /**
26+ * Tests 250 files w/ 10 bytes each.
27+ * Running more files can lead to flaky test from timeout.
28+ */
29+ performanceTest (
30+ {
31+ testRuns : 10 ,
32+ linux : {
33+ userCpuUsage : 90 ,
34+ systemCpuUsage : 35 ,
35+ heapTotal : 4 ,
5736 } ,
58- execute : async ( workspace : WorkspaceFolder ) => {
59- return await prepareRepoData ( [ workspace . uri . fsPath ] , [ workspace ] , telemetry , {
60- record : ( ) => { } ,
61- } as unknown as Metric < AmazonqCreateUpload > )
37+ darwin : {
38+ userCpuUsage : 90 ,
39+ systemCpuUsage : 35 ,
40+ heapTotal : 4 ,
41+ } ,
42+ win32 : {
43+ userCpuUsage : 90 ,
44+ systemCpuUsage : 35 ,
45+ heapTotal : 4 ,
6246 } ,
63- verify : async ( _w : WorkspaceFolder , result : resultType ) => verifyResult ( result , telemetry , 2500 ) ,
64- }
65- }
66- )
67- /**
68- * Runs 10 files of size 1000 bytes.
69- */
70- performanceTest (
71- {
72- testRuns : 10 ,
73- linux : {
74- userCpuUsage : 65 ,
75- systemCpuUsage : 30 ,
76- heapTotal : 1 ,
77- } ,
78- darwin : {
79- userCpuUsage : 50 ,
80- systemCpuUsage : 25 ,
81- heapTotal : 1 ,
82- } ,
83- win32 : {
84- userCpuUsage : 60 ,
85- systemCpuUsage : 30 ,
86- heapTotal : 1 ,
8747 } ,
88- } ,
89-
90- 'handles large files' ,
91- function ( ) {
92- const telemetry = new TelemetryHelper ( )
93- return {
94- setup : async ( ) => {
95- return await createTestWorkspace ( 10 , {
96- fileNamePrefix : 'file' ,
97- fileContent : getRandomString ( 1000 ) ,
98- fileNameSuffix : '.md' ,
99- } )
48+ 'handles many files' ,
49+ function ( ) {
50+ const telemetry = new TelemetryHelper ( )
51+ return {
52+ setup : async ( ) => {
53+ return await createTestWorkspace ( 250 , {
54+ fileNamePrefix : 'file' ,
55+ fileContent : '0123456789' ,
56+ fileNameSuffix : '.md' ,
57+ } )
58+ } ,
59+ execute : async ( workspace : WorkspaceFolder ) => {
60+ return await prepareRepoData ( [ workspace . uri . fsPath ] , [ workspace ] , telemetry , {
61+ record : ( ) => { } ,
62+ } as unknown as Metric < AmazonqCreateUpload > )
63+ } ,
64+ verify : async ( _w : WorkspaceFolder , result : resultType ) => verifyResult ( result , telemetry , 2500 ) ,
65+ }
66+ }
67+ )
68+ /**
69+ * Runs 10 files of size 1000 bytes.
70+ */
71+ performanceTest (
72+ {
73+ testRuns : 10 ,
74+ linux : {
75+ userCpuUsage : 65 ,
76+ systemCpuUsage : 30 ,
77+ heapTotal : 1 ,
78+ } ,
79+ darwin : {
80+ userCpuUsage : 50 ,
81+ systemCpuUsage : 25 ,
82+ heapTotal : 1 ,
10083 } ,
101- execute : async ( workspace : WorkspaceFolder ) => {
102- return await prepareRepoData ( [ workspace . uri . fsPath ] , [ workspace ] , telemetry , {
103- record : ( ) => { } ,
104- } as unknown as Metric < AmazonqCreateUpload > )
84+ win32 : {
85+ userCpuUsage : 60 ,
86+ systemCpuUsage : 30 ,
87+ heapTotal : 1 ,
10588 } ,
106- verify : async ( _w : WorkspaceFolder , result : resultType ) => verifyResult ( result , telemetry , 10000 ) ,
89+ } ,
90+
91+ 'handles large files' ,
92+ function ( ) {
93+ const telemetry = new TelemetryHelper ( )
94+ return {
95+ setup : async ( ) => {
96+ return await createTestWorkspace ( 10 , {
97+ fileNamePrefix : 'file' ,
98+ fileContent : getRandomString ( 1000 ) ,
99+ fileNameSuffix : '.md' ,
100+ } )
101+ } ,
102+ execute : async ( workspace : WorkspaceFolder ) => {
103+ return await prepareRepoData ( [ workspace . uri . fsPath ] , [ workspace ] , telemetry , {
104+ record : ( ) => { } ,
105+ } as unknown as Metric < AmazonqCreateUpload > )
106+ } ,
107+ verify : async ( _w : WorkspaceFolder , result : resultType ) => verifyResult ( result , telemetry , 10000 ) ,
108+ }
107109 }
108- }
109- )
110+ )
111+ } )
110112} )
0 commit comments