mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-11-04 01:58:54 +01:00 
			
		
		
		
	Add a test for nonfatal assertions
Testing this in a normal testcaes is a bit tricky, since triggering a non-fatal assertion has the side-effect of marking the test as failed. So just don't run any testcases here, but check the side-effect manually. Since we don't produce TAP output when not using g_test_run(), tell meson that we're using the exitcode protocol.
This commit is contained in:
		
				
					committed by
					
						
						Philip Withnall
					
				
			
			
				
	
			
			
			
						parent
						
							b161cb9252
						
					
				
				
					commit
					2a15b2cc61
				
			@@ -159,6 +159,9 @@ glib_tests = {
 | 
			
		||||
    'extra_programs' : ['testing-helper'],
 | 
			
		||||
    'c_args' : cc.get_id() == 'gcc' ? ['-Werror=sign-conversion'] : [],
 | 
			
		||||
  },
 | 
			
		||||
  'testing-nonfatal' : {
 | 
			
		||||
    'protocol' : 'exitcode'
 | 
			
		||||
  },
 | 
			
		||||
  'test-printf' : {},
 | 
			
		||||
  'thread' : {},
 | 
			
		||||
  'thread-deprecated' : {},
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										32
									
								
								glib/tests/testing-nonfatal.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								glib/tests/testing-nonfatal.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
/* Copyright (C) 2024 Red Hat, Inc.
 | 
			
		||||
 *
 | 
			
		||||
 * SPDX-License-Identifier: LGPL-2.1-or-later
 | 
			
		||||
 *
 | 
			
		||||
 * This library is free software; you can redistribute it and/or
 | 
			
		||||
 * modify it under the terms of the GNU Lesser General Public
 | 
			
		||||
 * License as published by the Free Software Foundation; either
 | 
			
		||||
 * version 2.1 of the License, or (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This library is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
			
		||||
 * Lesser General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU Lesser General Public
 | 
			
		||||
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
  g_test_init (&argc, &argv, G_TEST_OPTION_NONFATAL_ASSERTIONS, NULL);
 | 
			
		||||
 | 
			
		||||
  g_assert_cmpstr ("We can survive this!", ==, "Or maybe not?");
 | 
			
		||||
 | 
			
		||||
  if (!g_test_failed ())
 | 
			
		||||
    return 1;
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user