mirror of https://github.com/procxx/kepka.git
				
				
				
			
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
| #!/usr/bin/env python
 | |
| 
 | |
| import json
 | |
| import os
 | |
| import urllib2
 | |
| 
 | |
| from scriptCommon import catchPath
 | |
| 
 | |
| def upload(options):
 | |
|     request = urllib2.Request('http://melpon.org/wandbox/api/compile.json')
 | |
|     request.add_header('Content-Type', 'application/json')
 | |
|     response = urllib2.urlopen(request, json.dumps(options))
 | |
|     return json.loads(response.read())
 | |
| 
 | |
| main_file = '''
 | |
| #define CATCH_CONFIG_MAIN  // This tells Catch to provide a main() - only do this in one cpp file
 | |
| #include "catch.hpp"
 | |
| 
 | |
| unsigned int Factorial( unsigned int number ) {
 | |
|     return number <= 1 ? number : Factorial(number-1)*number;
 | |
| }
 | |
| 
 | |
| TEST_CASE( "Factorials are computed", "[factorial]" ) {
 | |
|     REQUIRE( Factorial(1) == 1 );
 | |
|     REQUIRE( Factorial(2) == 2 );
 | |
|     REQUIRE( Factorial(3) == 6 );
 | |
|     REQUIRE( Factorial(10) == 3628800 );
 | |
| }
 | |
| '''
 | |
| 
 | |
| def uploadFiles():
 | |
|     response = upload({
 | |
|         'compiler': 'gcc-head',
 | |
|         'code': main_file,
 | |
|         'codes': [{
 | |
|             'file': 'catch.hpp',
 | |
|             'code': open(os.path.join(catchPath, 'single_include', 'catch.hpp')).read()
 | |
|         }],
 | |
|         'options': 'c++11,cpp-no-pedantic,boost-nothing',
 | |
|         'compiler-option-raw': '-DCATCH_CONFIG_FAST_COMPILE',
 | |
|         'save': True
 | |
|     })
 | |
| 
 | |
|     if 'status' in response and not 'compiler_error' in response:
 | |
|         return True, response['url']
 | |
|     else:
 | |
|         return False, response
 |