forked from OSchip/llvm-project
				
			[sanitizer] Try to fix LargeMmapAllocator test on Windows
This test attempts to allocate 100 512MB aligned pages of memory. This is implemented in the usual way by allocating size + alignment bytes and aligning the result. As a result, this test allocates 51.2GB of memory. Windows allocates swap for all memory allocated, and our bots do not have this much swap available. Avoid the failure by using a more reasonable alignment, like 16MB, as we do on 32-bit. llvm-svn: 276779
This commit is contained in:
		
							parent
							
								
									276b4e6428
								
							
						
					
					
						commit
						cb42ea0b4f
					
				| 
						 | 
				
			
			@ -392,8 +392,10 @@ TEST(SanitizerCommon, LargeMmapAllocator) {
 | 
			
		|||
  }
 | 
			
		||||
  CHECK_EQ(a.TotalMemoryUsed(), 0);
 | 
			
		||||
 | 
			
		||||
  // Test alignments.
 | 
			
		||||
  uptr max_alignment = SANITIZER_WORDSIZE == 64 ? (1 << 28) : (1 << 24);
 | 
			
		||||
  // Test alignments. Test with 512MB alignment on x64 non-Windows machines.
 | 
			
		||||
  // Windows doesn't overcommit, and many machines do not have 51.2GB of swap.
 | 
			
		||||
  uptr max_alignment =
 | 
			
		||||
      (SANITIZER_WORDSIZE == 64 && !SANITIZER_WINDOWS) ? (1 << 28) : (1 << 24);
 | 
			
		||||
  for (uptr alignment = 8; alignment <= max_alignment; alignment *= 2) {
 | 
			
		||||
    const uptr kNumAlignedAllocs = 100;
 | 
			
		||||
    for (uptr i = 0; i < kNumAlignedAllocs; i++) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue