import subprocess
from logfm import fmlogger
def memory_test(LOOPS=1,RAMLIM=1):
cmd=str('free | grep Mem:')
fmlogger.info(cmd)
print(cmd)
popenObj=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,universal_newlines=True)
popenObj.wait()
outs,errs=popenObj.communicate(timeout=15)
mems=outs.split()
freemem=int(mems[3])
testmem=int(freemem*RAMLIM/100)
#create the shell command
cmd='memtester '+str(testmem)+'K '+str(LOOPS)
print(cmd)
fmlogger.info(cmd)
#print(freemem,testmem)
popenObj=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,universal_newlines=True)
#popenObj=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,universal_newlines=True)
#popenObj.wait()
outs,errs=popenObj.communicate(timeout=15)
if(popenObj.returncode==0):
print(outs)
print('run memtester ok')
fmlogger.info('run memtester ok')
else:
print(outs)
print('run memtester fail')
fmlogger.error('run memtester ok')