summaryrefslogtreecommitdiff
path: root/test-cli/test/tests/qaudio.py
diff options
context:
space:
mode:
authorManel Caro <mcaro@iseebcn.com>2019-03-09 21:25:56 +0100
committerManel Caro <mcaro@iseebcn.com>2019-03-09 21:25:56 +0100
commit9332c933fc05f42882640c9a4e35fab09854af84 (patch)
tree2b9b00b5a411b27f9705603c0d93b8925afd4677 /test-cli/test/tests/qaudio.py
downloadboard-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.py44
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