diff options
author | Manel Caro <mcaro@iseebcn.com> | 2019-03-09 21:25:56 +0100 |
---|---|---|
committer | Manel Caro <mcaro@iseebcn.com> | 2019-03-09 21:25:56 +0100 |
commit | 9332c933fc05f42882640c9a4e35fab09854af84 (patch) | |
tree | 2b9b00b5a411b27f9705603c0d93b8925afd4677 /test-cli/test/tests/qaudio.py | |
download | board-9332c933fc05f42882640c9a4e35fab09854af84.zip board-9332c933fc05f42882640c9a4e35fab09854af84.tar.gz board-9332c933fc05f42882640c9a4e35fab09854af84.tar.bz2 |
Board: Client Test Suite Initial Commit
Diffstat (limited to 'test-cli/test/tests/qaudio.py')
-rw-r--r-- | test-cli/test/tests/qaudio.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test-cli/test/tests/qaudio.py b/test-cli/test/tests/qaudio.py new file mode 100644 index 0000000..b262c2d --- /dev/null +++ b/test-cli/test/tests/qaudio.py @@ -0,0 +1,44 @@ +from test.helpers.syscmd import SysCommand +import unittest +#class name +class Qaudio(unittest.TestCase): + # Initialize the variables + + def __init__(self, testname, testfunc, dtmfFile): + # Doing this we will initialize the class and later on perform a particular method inside this class + super(Qaudio, self).__init__(testfunc) + self._testMethodDoc = testname + self._dtmfFile=dtmfFile + self.__sum=0 + self.__refSum = 25 # 1+3+5+7+9 + + def execute(self): + str_cmd = "amixer -c 0 sset 'PCM' 100 2> /dev/null" # .format(self.__dtmfFile) + #Some cases de volume level is not enough to the tes. It needs to be increased + volume_up = SysCommand("volume_up", str_cmd) + if volume_up.execute() == 0: + str_cmd = "aplay test/files/dtmf-13579.wav 2> /dev/null & arecord -r 8000 -d 1 recorded.wav 2> /dev/null" #.format(self.__dtmfFile) + audio_loop = SysCommand("audio_loop", str_cmd) + if audio_loop.execute() == 0: + lines = audio_loop.getOutput().splitlines() + str_cmd = "multimon -t wav -a DTMF recorded.wav -q 2> /dev/null" + dtmf_decoder = SysCommand("dtmf_decoder", str_cmd) + if dtmf_decoder.execute() == 0: + self.__raw_out = dtmf_decoder.getOutput() + if self.__raw_out == "": + return -1 + lines = dtmf_decoder.getOutput().splitlines() + for i in range(0, 5): + aux=[int(s) for s in lines[i].split() if s.isdigit()] + self.__sum=self.__sum+aux[0] + self.failUnless(self.__sum == self.__refSum), "failed: incorrect dtmf code" + str(self.__sum) + else: + self.fail("failed: fail reading recorded file") + return -1 + else: + self.fail("failed: fail playing/recording file") + return -1 + else: + self.fail("failed: could not increase loud level") + return -1 + return 0 |