@@ -198,6 +198,11 @@ func TestUpdateAllVersionGo(t *testing.T) {
198198 "func Version() string {\n \t " +
199199 "return \" 1.0.0-OLD\" \n " +
200200 "}\n " ),
201+ filepath .Join (tmpRootDir , "test" , "test1" , "internal" , "version" , "distro.go" ): []byte ("package version\" \n \n " +
202+ "// Version is the current release version of OpenTelemetry in use.\n " +
203+ "func Version() string {\n \t " +
204+ "return \" 1.0.0-OLD\" \n " +
205+ "}\n " ),
201206 filepath .Join (tmpRootDir , "test" , "version.go" ): []byte ("package test2 // import \" go.opentelemetry.io/test/test2\" \n \n " +
202207 "// version is the current release version of OpenTelemetry in use.\n " +
203208 "func version() string {\n \t " +
@@ -219,6 +224,11 @@ func TestUpdateAllVersionGo(t *testing.T) {
219224 "func Version() string {\n \t " +
220225 "return \" 1.2.3-RC1+meta\" \n " +
221226 "}\n " ),
227+ filepath .Join (tmpRootDir , "test" , "test1" , "internal" , "version" , "distro.go" ): []byte ("package version\" \n \n " +
228+ "// Version is the current release version of OpenTelemetry in use.\n " +
229+ "func Version() string {\n \t " +
230+ "return \" 1.2.3-RC1+meta\" \n " +
231+ "}\n " ),
222232 filepath .Join (tmpRootDir , "test" , "version.go" ): []byte ("package test2 // import \" go.opentelemetry.io/test/test2\" \n \n " +
223233 "// version is the current release version of OpenTelemetry in use.\n " +
224234 "func version() string {\n \t " +
@@ -235,6 +245,11 @@ func TestUpdateAllVersionGo(t *testing.T) {
235245 "func Version() string {\n \t " +
236246 "return \" 1.0.0-OLD\" \n " +
237247 "}\n " ),
248+ filepath .Join (tmpRootDir , "test" , "test1" , "internal" , "version" , "distro.go" ): []byte ("package version\" \n \n " +
249+ "// Version is the current release version of OpenTelemetry in use.\n " +
250+ "func Version() string {\n \t " +
251+ "return \" 1.0.0-OLD\" \n " +
252+ "}\n " ),
238253 filepath .Join (tmpRootDir , "test" , "version.go" ): []byte ("package test2 // import \" go.opentelemetry.io/test/test2\" \n \n " +
239254 "// version is the current release version of OpenTelemetry in use.\n " +
240255 "func version() string {\n \t " +
@@ -251,6 +266,11 @@ func TestUpdateAllVersionGo(t *testing.T) {
251266 "func Version() string {\n \t " +
252267 "return \" 1.0.0-OLD\" \n " +
253268 "}\n " ),
269+ filepath .Join (tmpRootDir , "test" , "test1" , "internal" , "version" , "distro.go" ): []byte ("package version\" \n \n " +
270+ "// Version is the current release version of OpenTelemetry in use.\n " +
271+ "func Version() string {\n \t " +
272+ "return \" 1.0.0-OLD\" \n " +
273+ "}\n " ),
254274 filepath .Join (tmpRootDir , "test" , "version.go" ): []byte ("package test2 // import \" go.opentelemetry.io/test/test2\" \n \n " +
255275 "// version is the current release version of OpenTelemetry in use.\n " +
256276 "func version() string {\n \t " +
@@ -612,3 +632,22 @@ func TestUpdateAll(t *testing.T) {
612632 )
613633 }
614634}
635+
636+ func TestUpdateVersionGoFileErrs (t * testing.T ) {
637+ t .Run ("NotExist" , func (t * testing.T ) {
638+ path := filepath .Join (t .TempDir (), "version.go" )
639+ err := updateVersionGoFile (path , "" )
640+ assert .ErrorIs (t , err , os .ErrNotExist , "version.go does not exist" )
641+ })
642+ t .Run ("ReadOnly" , func (t * testing.T ) {
643+ path := filepath .Join (t .TempDir (), "version.go" )
644+
645+ const readOnlyPerm = 0444
646+ file , err := os .OpenFile (path , os .O_CREATE | os .O_WRONLY , readOnlyPerm ) // nolint:gosec // Var filepath okay in test.
647+ require .NoError (t , err )
648+ require .NoError (t , file .Close ())
649+
650+ err = updateVersionGoFile (path , "" )
651+ assert .ErrorIs (t , err , os .ErrPermission , "write error not embedded" )
652+ })
653+ }
0 commit comments