Skip to content
Snippets Groups Projects
Commit 929526e8 authored by David Hendriks's avatar David Hendriks
Browse files

created tet directory with start of test functions. also fixed small bugs and...

created tet directory with start of test functions. also fixed small bugs and finished the help function
parent 97df1796
No related branches found
No related tags found
No related merge requests found
...@@ -198,11 +198,10 @@ def run_system_with_log(**kwargs): ...@@ -198,11 +198,10 @@ def run_system_with_log(**kwargs):
# Run it and get output # Run it and get output
buffer = "" buffer = ""
output = binary_c_python_api.run_binary_with_log(arg_string) output = binary_c_python_api.run_binary_with_logfile(arg_string)
return output return output
def parse_output(output, selected_header): def parse_output(output, selected_header):
""" """
Function that parses output of binary_c: Function that parses output of binary_c:
......
...@@ -2,12 +2,19 @@ ...@@ -2,12 +2,19 @@
import binary_c_python_api import binary_c_python_api
from binarycpython.utils.custom_logging_functions import (
autogen_C_logging_code,
binary_c_log_code,
create_and_load_logging_function,
)
import tempfile
############################################################ ############################################################
# Test script to run a binary using the binary_c Python # Test script for the api functions
# module.
############################################################ ############################################################
def run_test_binary(): def test_run_binary():
m1 = 15.0 # Msun m1 = 15.0 # Msun
m2 = 14.0 # Msun m2 = 14.0 # Msun
separation = 0 # 0 = ignored, use period separation = 0 # 0 = ignored, use period
...@@ -15,7 +22,6 @@ def run_test_binary(): ...@@ -15,7 +22,6 @@ def run_test_binary():
eccentricity = 0.0 eccentricity = 0.0
metallicity = 0.02 metallicity = 0.02
max_evolution_time = 15000 max_evolution_time = 15000
buffer = ""
argstring = "binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} ".format( argstring = "binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} ".format(
m1, m1,
m2, m2,
...@@ -28,13 +34,90 @@ def run_test_binary(): ...@@ -28,13 +34,90 @@ def run_test_binary():
output = binary_c_python_api.run_binary(argstring) output = binary_c_python_api.run_binary(argstring)
print("\n\nBinary_c output:\n\n") print("\n\nBinary_c output:")
print(output) print(output)
def test_return_help():
def run_help():
out = binary_c_python_api.return_help('M_1') out = binary_c_python_api.return_help('M_1')
print(out) print(out)
run_help() def test_return_arglines():
out = binary_c_python_api.return_arglines()
print(out)
def test_run_binary_with_log():
m1 = 15.0 # Msun
m2 = 14.0 # Msun
separation = 0 # 0 = ignored, use period
orbital_period = 4530.0 # days
eccentricity = 0.0
metallicity = 0.02
max_evolution_time = 15000
log_filename = tempfile.gettempdir() + "/test_log.txt"
api_log_filename_prefix = tempfile.gettempdir()+'/test_log'
argstring = "binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} log_filename {7:s} api_log_filename_prefix {8:s}".format(
m1,
m2,
separation,
orbital_period,
eccentricity,
metallicity,
max_evolution_time,
log_filename,
api_log_filename_prefix,
)
output = binary_c_python_api.run_binary_with_logfile(argstring)
print("\n\nBinary_c output:")
print(output)
def test_run_binary_with_custom_logging():
"""
"""
# generate logging lines. Here you can choose whatever you want to have logged, and with what header
# this generates working print statements
logging_line = autogen_C_logging_code(
{"MY_STELLAR_DATA": ["model.time", "star[0].mass"],}
)
# Generate entire shared lib code around logging lines
custom_logging_code = binary_c_log_code(logging_line)
# Load memory adress
func_memaddr = create_and_load_logging_function(custom_logging_code)
m1 = 15.0 # Msun
m2 = 14.0 # Msun
separation = 0 # 0 = ignored, use period
orbital_period = 4530.0 # days
eccentricity = 0.0
metallicity = 0.02
max_evolution_time = 15000
log_filename = tempfile.gettempdir() + "/test_log.txt"
argstring = "binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} log_filename {7:s}".format(
m1,
m2,
separation,
orbital_period,
eccentricity,
metallicity,
max_evolution_time,
log_filename,
)
out = binary_c_python_api.run_binary_custom_logging(argstring, func_memaddr)
print(out)
####
# test_run_binary()
test_run_binary_with_log()
# test_return_help()
# test_return_arglines()
# test_run_binary_with_custom_logging()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment