Description: Do not check text of AttributeErrors raised in tests
 For our purposes its good enough to know that an attribute error
 is triggered, upstream might consider a different solution.
 .
 The text change seems to be related to Python 3.11 –
 the new default in Debian.
Author: David Kalnischkies <donkult@debian.org>
Forwarded: no

--- a/ycmd/tests/bindings/cpp_bindings_raises_exception_test.py
+++ b/ycmd/tests/bindings/cpp_bindings_raises_exception_test.py
@@ -21,101 +21,99 @@
 from unittest import TestCase
 ycm_core = ImportCore()
 
-READONLY_MESSAGE = 'can\'t set attribute'
-
 
 class CppBindingsExceptionTest( TestCase ):
   @ClangOnly
   def test_CppBindings_ReadOnly( self ):
     assert_that( calling( ycm_core.CompletionData().__setattr__ )
                    .with_args( 'kind_', ycm_core.CompletionData().kind_ ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
 
     assert_that( calling( ycm_core.Location().__setattr__ )
                    .with_args( 'line_number_', 1 ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.Location().__setattr__ )
                    .with_args( 'column_number_', 1 ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.Location().__setattr__ )
                    .with_args( 'filename_', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
 
     assert_that( calling( ycm_core.Range().__setattr__ )
                    .with_args( 'end_', ycm_core.Range().end_ ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.Range().__setattr__ )
                    .with_args( 'start_', ycm_core.Range().start_ ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
 
     assert_that( calling( ycm_core.FixItChunk().__setattr__ )
                    .with_args( 'range', ycm_core.FixItChunk().range ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.FixItChunk().__setattr__ )
                    .with_args( 'replacement_text', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
 
     assert_that( calling( ycm_core.FixIt().__setattr__ )
                    .with_args( 'chunks', ycm_core.FixIt().chunks ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.FixIt().__setattr__ )
                    .with_args( 'location', ycm_core.FixIt().location ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.FixIt().__setattr__ )
                    .with_args( 'text', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
 
     assert_that( calling( ycm_core.Diagnostic().__setattr__ )
                    .with_args( 'ranges_', ycm_core.Diagnostic().ranges_ ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.Diagnostic().__setattr__ )
                    .with_args( 'location_', ycm_core.Diagnostic().location_ ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.Diagnostic().__setattr__ )
                    .with_args( 'location_extent_',
                                ycm_core.Diagnostic().location_extent_ ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.Diagnostic().__setattr__ )
                    .with_args( 'fixits_', ycm_core.Diagnostic().fixits_ ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.Diagnostic().__setattr__ )
                    .with_args( 'text_', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.Diagnostic().__setattr__ )
                    .with_args( 'long_formatted_text_', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.Diagnostic().__setattr__ )
                    .with_args( 'kind_', ycm_core.Diagnostic().kind_.WARNING ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
 
     assert_that( calling( ycm_core.DocumentationData().__setattr__ )
                    .with_args( 'raw_comment', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.DocumentationData().__setattr__ )
                    .with_args( 'brief_comment', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.DocumentationData().__setattr__ )
                    .with_args( 'canonical_type', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.DocumentationData().__setattr__ )
                    .with_args( 'display_name', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( ycm_core.DocumentationData().__setattr__ )
                    .with_args( 'comment_xml', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
 
     db = ycm_core.CompilationDatabase( 'foo' )
     assert_that( calling( db.__setattr__ )
                    .with_args( 'database_directory', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
 
     compilation_info = db.GetCompilationInfoForFile( 'foo.c' )
     assert_that( calling( compilation_info.__setattr__ )
                    .with_args( 'compiler_working_dir_', 'foo' ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
     assert_that( calling( compilation_info.__setattr__ )
                    .with_args( 'compiler_flags_', ycm_core.StringVector() ),
-                 raises( AttributeError, READONLY_MESSAGE ) )
+                 raises( AttributeError ) )
 
 
   @ClangOnly
