@@ -33,117 +33,112 @@ public partial class TestsManifestGeneration
33
33
[ SkipOnCoreClr ( "Test should only be run in non-stress modes" , ~ RuntimeTestModes . RegularRun ) ]
34
34
public void Test_EventSource_EtwManifestGeneration ( )
35
35
{
36
- RemoteInvokeOptions options = new RemoteInvokeOptions { TimeOut = 300_000 /* ms */ } ;
37
- RemoteExecutor . Invoke ( ( ) =>
38
- {
39
- RemoteInvokeOptions localOptions = new RemoteInvokeOptions { TimeOut = 300_000 /* ms */ } ;
40
- using ( RemoteInvokeHandle handle = RemoteExecutor . Invoke ( ( ) =>
41
- {
42
- var es = new SimpleEventSource ( ) ;
43
- for ( var i = 0 ; i < 100 ; i ++ )
44
- {
45
- es . WriteSimpleInt ( i ) ;
46
- Thread . Sleep ( 100 ) ;
47
- }
48
- } , localOptions ) )
49
- {
50
- var etlFileName = @"file.etl" ;
51
- var tracesession = new TraceEventSession ( "testname" , etlFileName ) ;
36
+ var pid = Process . GetCurrentProcess ( ) . Id ;
37
+ var etlFileName = $ "file.{ pid } .etl";
38
+ var tracesession = new TraceEventSession ( "testname" , etlFileName ) ;
52
39
53
- tracesession . EnableProvider ( " SimpleEventSource" ) ;
40
+ tracesession . EnableProvider ( nameof ( SimpleEventSource ) ) ;
54
41
55
- Thread . Sleep ( TimeSpan . FromSeconds ( 5 ) ) ;
42
+ RemoteInvokeOptions localOptions = new RemoteInvokeOptions { TimeOut = 300_000 /* ms */ } ;
43
+ using ( RemoteInvokeHandle handle = RemoteExecutor . Invoke ( ( ) =>
44
+ {
45
+ var es = new SimpleEventSource ( ) ;
46
+ for ( var i = 0 ; i < 100 ; i ++ )
47
+ {
48
+ es . WriteSimpleInt ( i ) ;
49
+ Thread . Sleep ( 100 ) ;
50
+ }
51
+ } , localOptions ) )
52
+ {
53
+ Thread . Sleep ( TimeSpan . FromSeconds ( 5 ) ) ;
56
54
57
- tracesession . Flush ( ) ;
55
+ tracesession . Flush ( ) ;
58
56
59
- tracesession . DisableProvider ( " SimpleEventSource" ) ;
60
- tracesession . Dispose ( ) ;
57
+ tracesession . DisableProvider ( nameof ( SimpleEventSource ) ) ;
58
+ tracesession . Dispose ( ) ;
61
59
62
- var manifestExists = false ;
63
- var max_retries = 50 ;
60
+ var manifestExists = false ;
61
+ var max_retries = 50 ;
64
62
65
- for ( int i = 0 ; i < max_retries ; i ++ )
63
+ for ( int i = 0 ; i < max_retries ; i ++ )
64
+ {
65
+ if ( VerifyManifestAndRemoveFile ( etlFileName ) )
66
66
{
67
- if ( VerifyManifestAndRemoveFile ( etlFileName ) )
68
- {
69
- manifestExists = true ;
70
- break ;
71
- }
72
- Thread . Sleep ( 1000 ) ;
67
+ manifestExists = true ;
68
+ break ;
73
69
}
74
- Assert . True ( manifestExists ) ;
70
+ Thread . Sleep ( 1000 ) ;
75
71
}
76
- } , options ) . Dispose ( ) ;
72
+ Assert . True ( manifestExists ) ;
73
+ }
77
74
}
78
75
79
76
[ ConditionalFact ( nameof ( IsProcessElevatedAndNotWindowsNanoServerAndRemoteExecutorSupported ) ) ]
80
77
[ SkipOnCoreClr ( "Test should only be run in non-stress modes" , ~ RuntimeTestModes . RegularRun ) ]
81
78
public void Test_EventSource_EtwManifestGenerationRollover ( )
82
79
{
83
- RemoteExecutor . Invoke ( ( ) =>
84
- {
85
- using ( RemoteInvokeHandle handle = RemoteExecutor . Invoke ( ( ) =>
86
- {
87
- var es = new SimpleEventSource ( ) ;
88
- for ( var i = 0 ; i < 100 ; i ++ )
89
- {
90
- es . WriteSimpleInt ( i ) ;
91
- Thread . Sleep ( 100 ) ;
92
- }
93
- } ) )
94
- {
95
- var initialFileName = @"initialFile.etl" ;
96
- var rolloverFileName = @"rolloverFile.etl" ;
97
- var tracesession = new TraceEventSession ( "testname" , initialFileName ) ;
98
- var max_retries = 50 ;
80
+ var pid = Process . GetCurrentProcess ( ) . Id ;
81
+ var initialFileName = $ "initialFile.{ pid } .etl";
82
+ var rolloverFileName = $ "rolloverFile.{ pid } .etl";
83
+ var tracesession = new TraceEventSession ( "testname" , initialFileName ) ;
99
84
100
- tracesession . EnableProvider ( " SimpleEventSource" ) ;
85
+ tracesession . EnableProvider ( nameof ( SimpleEventSource ) ) ;
101
86
102
- Thread . Sleep ( TimeSpan . FromSeconds ( 5 ) ) ;
87
+ using ( RemoteInvokeHandle handle = RemoteExecutor . Invoke ( ( ) =>
88
+ {
89
+ var es = new SimpleEventSource ( ) ;
90
+ for ( var i = 0 ; i < 100 ; i ++ )
91
+ {
92
+ es . WriteSimpleInt ( i ) ;
93
+ Thread . Sleep ( 100 ) ;
94
+ }
95
+ } ) )
96
+ {
97
+ Thread . Sleep ( TimeSpan . FromSeconds ( 5 ) ) ;
103
98
104
- tracesession . Flush ( ) ;
99
+ tracesession . Flush ( ) ;
105
100
106
- tracesession . SetFileName ( rolloverFileName ) ;
101
+ tracesession . SetFileName ( rolloverFileName ) ;
107
102
108
- Thread . Sleep ( TimeSpan . FromSeconds ( 5 ) ) ;
103
+ Thread . Sleep ( TimeSpan . FromSeconds ( 5 ) ) ;
109
104
110
- tracesession . Flush ( ) ;
105
+ tracesession . Flush ( ) ;
111
106
112
- tracesession . DisableProvider ( " SimpleEventSource" ) ;
113
- tracesession . Dispose ( ) ;
107
+ tracesession . DisableProvider ( nameof ( SimpleEventSource ) ) ;
108
+ tracesession . Dispose ( ) ;
114
109
115
- bool initialFileHasManifest = false ;
116
- bool rollOverFileHasManifest = false ;
110
+ bool initialFileHasManifest = false ;
111
+ bool rollOverFileHasManifest = false ;
117
112
118
- for ( int i = 0 ; i < max_retries ; i ++ )
113
+ var max_retries = 50 ;
114
+ for ( int i = 0 ; i < max_retries ; i ++ )
115
+ {
116
+ if ( VerifyManifestAndRemoveFile ( initialFileName ) )
119
117
{
120
- if ( VerifyManifestAndRemoveFile ( initialFileName ) )
121
- {
122
- initialFileHasManifest = true ;
123
- break ;
124
- }
125
- Thread . Sleep ( 1000 ) ;
118
+ initialFileHasManifest = true ;
119
+ break ;
126
120
}
127
- for ( int i = 0 ; i < max_retries ; i ++ )
121
+ Thread . Sleep ( 1000 ) ;
122
+ }
123
+ for ( int i = 0 ; i < max_retries ; i ++ )
124
+ {
125
+ if ( VerifyManifestAndRemoveFile ( rolloverFileName ) )
128
126
{
129
- if ( VerifyManifestAndRemoveFile ( rolloverFileName ) )
130
- {
131
- rollOverFileHasManifest = true ;
132
- break ;
133
- }
134
- Thread . Sleep ( 1000 ) ;
127
+ rollOverFileHasManifest = true ;
128
+ break ;
135
129
}
136
- Assert . True ( initialFileHasManifest ) ;
137
- Assert . True ( rollOverFileHasManifest ) ;
130
+ Thread . Sleep ( 1000 ) ;
138
131
}
139
- } ) . Dispose ( ) ;
132
+ Assert . True ( initialFileHasManifest ) ;
133
+ Assert . True ( rollOverFileHasManifest ) ;
134
+ }
140
135
}
141
136
142
137
private bool VerifyManifestAndRemoveFile ( string fileName )
143
138
{
144
139
Assert . True ( File . Exists ( fileName ) ) ;
145
140
146
- ETWTraceEventSource source = new ETWTraceEventSource ( fileName ) ;
141
+ using var source = new ETWTraceEventSource ( fileName ) ;
147
142
148
143
Dictionary < string , int > providers = new Dictionary < string , int > ( ) ;
149
144
int eventCount = 0 ;
@@ -157,7 +152,7 @@ private bool VerifyManifestAndRemoveFile(string fileName)
157
152
}
158
153
providers [ eventData . ProviderName ] ++ ;
159
154
160
- if ( eventData . ProviderName . Equals ( " SimpleEventSource" ) && eventData . EventName . Equals ( "ManifestData" ) )
155
+ if ( eventData . ProviderName . Equals ( nameof ( SimpleEventSource ) ) && eventData . EventName . Equals ( "ManifestData" ) )
161
156
{
162
157
sawManifestData = true ;
163
158
}
@@ -167,7 +162,7 @@ private bool VerifyManifestAndRemoveFile(string fileName)
167
162
168
163
if ( ! sawManifestData )
169
164
{
170
- Console . WriteLine ( "Did not see ManifestData event from SimpleEventSource, test will fail. Additional info:" ) ;
165
+ Console . WriteLine ( $ "Did not see ManifestData event from { nameof ( SimpleEventSource ) } , test will fail. Additional info:") ;
171
166
Console . WriteLine ( $ " file name { fileName } ") ;
172
167
Console . WriteLine ( $ " total event count { eventCount } ") ;
173
168
Console . WriteLine ( $ " total providers { providers . Count } ") ;
0 commit comments