python-audio-autotest-3.10 1.5.8__py3-none-any.whl → 1.5.10rc0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pyaatlibs/__init__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  import platform
3
3
 
4
- __version__ = "1.5.8"
4
+ __version__ = "1.5.10"
5
5
  __author__ = "Hao-Wei Lee"
6
6
  if platform.system() == "Windows":
7
7
  SEP = "\\"
pyaatlibs/adbutils.py CHANGED
@@ -2,6 +2,7 @@ import subprocess
2
2
  import threading
3
3
  import signal
4
4
  import re
5
+ import time
5
6
  from pyaatlibs.logger import Logger
6
7
 
7
8
  class AdbScreenRecordingThread(threading.Thread):
@@ -81,10 +82,22 @@ class Adb(object):
81
82
 
82
83
  @classmethod
83
84
  def get_devices(child, **kwargs):
84
- out, _ = child.execute(["devices"], **kwargs)
85
- devices = list(map(lambda x: x.strip(), out.splitlines()))
86
- del devices[0]
87
- devices = [x.split()[0] for x in devices if len(x) > 0 and x.split()[1] == "device"]
85
+ retry = 60
86
+ lines = []
87
+ while retry > 0:
88
+ out, _ = child.execute(["devices"], **kwargs)
89
+ lines = [l for l in map(lambda x: x.strip(), out.splitlines()) if len(l) > 0]
90
+
91
+ if len(lines) > 0 and lines[-1] == "List of devices attached":
92
+ break
93
+
94
+ retry -= 1
95
+ time.sleep(1)
96
+
97
+ if retry == 0:
98
+ raise(RuntimeError("\"adb device\" might have some problems."))
99
+
100
+ devices = [l.split()[0] for l in lines if l.split()[1] == "device"]
88
101
  return devices
89
102
 
90
103
  @classmethod
Binary file
pyaatlibs/audioworker.py CHANGED
@@ -63,7 +63,7 @@ class AudioWorkerApp(AppInterface):
63
63
 
64
64
  @staticmethod
65
65
  def get_apk_version():
66
- return "47311b4-python-audio-autotest-v1.5.8"
66
+ return "068bd43-python-audio-autotest-v1.5.9"
67
67
 
68
68
  @staticmethod
69
69
  def get_version_from_device(serialno=None):
@@ -398,7 +398,7 @@ class AudioWorkerApp(AppInterface):
398
398
  return __class__._common_info(device, serialno, "voip", "VoIPController", tolog=tolog)
399
399
 
400
400
  @staticmethod
401
- def voip_start(device=None, serialno=None, rxfreq=440., rxamp=0.6, rxspkr=False,
401
+ def voip_start(device=None, serialno=None, rxfreq=440., rxamp=0.6, rxspkr=False, rxfile="null",
402
402
  rxfs=8000, txfs=8000, rxnch=1, txnch=1, rxbit_depth=16, txbit_depth=16, dump_buffer_ms=0):
403
403
  name = __class__.AUDIOWORKER_INTENT_PREFIX + "voip.start"
404
404
  configs = {
@@ -408,6 +408,7 @@ class AudioWorkerApp(AppInterface):
408
408
  "rx-num-channels": rxnch,
409
409
  "rx-pcm-bit-width": rxbit_depth,
410
410
  "rx-use-spkr": rxspkr,
411
+ "rx-file": rxfile,
411
412
  "tx-sampling-freq": txfs,
412
413
  "tx-num-channels": txnch,
413
414
  "tx-pcm-bit-width": txbit_depth,
@@ -3,6 +3,7 @@ from unittest.mock import MagicMock
3
3
 
4
4
  import re
5
5
  import time
6
+ import packaging.version
6
7
 
7
8
  import pyaatlibs
8
9
  from pyaatlibs.audioworker import AudioWorkerApp, RecordPerf, RecordApi, RecordInputSrc
@@ -522,7 +523,7 @@ def test_single_record(check_options, target_version, skip_function_check, seria
522
523
  assert wait_for_record_activities(serialno=serialno, onset=False)
523
524
 
524
525
  def test_concurrent_record(check_options, target_version, skip_function_check, serialno):
525
- if target_version < "1.5":
526
+ if packaging.version.parse(target_version.split("-")[-1]) < packaging.version.parse("1.5"):
526
527
  pytest.skip("This is only for PyAAT later than v1.5")
527
528
 
528
529
  if skip_function_check:
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: python-audio-autotest-3.10
3
- Version: 1.5.8
3
+ Version: 1.5.10rc0
4
4
  Summary: This is a auto-testing framework of audio functions for Android devices.
5
5
  Home-page: https://github.com/HW-Lee/AudioAutoTest
6
6
  Author: Hao-Wei Lee
@@ -11,12 +11,20 @@ Classifier: Operating System :: OS Independent
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
13
  Requires-Dist: androidviewclient==22.3.1
14
- Requires-Dist: librosa==0.9.2
15
- Requires-Dist: matplotlib==3.5.3
16
14
  Requires-Dist: numpy==1.23.5
17
- Requires-Dist: scikit-learn==1.3.0
18
15
  Requires-Dist: scipy==1.10.1
16
+ Requires-Dist: scikit-learn==1.3.0
17
+ Requires-Dist: matplotlib==3.5.3
18
+ Requires-Dist: librosa==0.9.2
19
19
  Requires-Dist: sounddevice==0.4.5
20
+ Dynamic: author
21
+ Dynamic: author-email
22
+ Dynamic: classifier
23
+ Dynamic: description
24
+ Dynamic: description-content-type
25
+ Dynamic: home-page
26
+ Dynamic: requires-dist
27
+ Dynamic: summary
20
28
 
21
29
  # AudioAutoTest
22
30
  ## Description
@@ -26,6 +34,17 @@ This is a auto-testing framework of audio functions for Android devices.
26
34
 
27
35
  ## Release Note
28
36
  ### v1.5
37
+ ### v1.5.10
38
+ - Fix Adb.get_devices() in case when adb didn't work well by retrying.
39
+
40
+ ### v1.5.9
41
+ - Update audioworker.apk (068bd43-python-audio-autotest-v1.5.9)
42
+ - audioworker: voip: support customized file for VoIP downlink
43
+
44
+ ### v1.5.8
45
+ - Update audioworker.apk (47311b4-python-audio-autotest-v1.5.8)
46
+ - Add stream_type support and ble support
47
+
29
48
  ### v1.5.7
30
49
  - Update audioworker.apk (6d15fe8-python-audio-autotest-v1.5.7)
31
50
  - Add support to seek during the playback
@@ -1,13 +1,13 @@
1
- pyaatlibs/__init__.py,sha256=au30zNn5V3MAsBz1q7r7Gq1OGY2SbRnPxnCcJ1iIz0g,351
1
+ pyaatlibs/__init__.py,sha256=v21C6FoUhBKuI9_0H8Sdv_oWjC8gHckzJlZPCpskfeY,352
2
2
  pyaatlibs/aatapp.py,sha256=2oTnHnTCd4oIk_Nb218S3rO6nQfujxfVOLbQM1jeAhA,8742
3
3
  pyaatlibs/activitystatemachine.py,sha256=We5noxBtskgMUsdBOA34e8Rze8K-vuheuSBjL4RUo8Q,300
4
- pyaatlibs/adbutils.py,sha256=SV7N8UyC8bypNN58R63TkEu7R1ZHw-bQRedphcKHqjU,15431
4
+ pyaatlibs/adbutils.py,sha256=wlfX9_g2adXma8DaliEkc44HoTUtwOnFGpYWxye7a3A,15742
5
5
  pyaatlibs/appinterface.py,sha256=cFy2agwnkSlO4iao9OxhImtx0M63OcoabnClHP2AQlc,4437
6
6
  pyaatlibs/argutils.py,sha256=6jOccgQlftmhUEGc3dAZ9-j0Mdg45jrhAGE-CylYjno,451
7
7
  pyaatlibs/audiofunction.py,sha256=7Lm_-dG88mK8ETRmu--vIyzXMPVPFiUbdwJmB4PQn9g,9640
8
8
  pyaatlibs/audiosignalframelogger.py,sha256=K0byfkpPAoMNNl6YdyoSGSgWbYPK1m0cLpQIPkeQlto,1446
9
9
  pyaatlibs/audiothread.py,sha256=GOEHPFtEK-P8SQNdgWeDxnHcs_vic2kTN68UCjWUiLM,6548
10
- pyaatlibs/audioworker.py,sha256=l7lWgCQ86qcXvGR5zIZkpd1_zYld_nTQ9hh-4iyMyO8,27087
10
+ pyaatlibs/audioworker.py,sha256=MubXodNSOJuMD-QcO4OaRatVYo7d9K-wvMTfuG_HopY,27133
11
11
  pyaatlibs/logcatlistener.py,sha256=0Dz5wM1qOsxn-KcHspD2nCJnVu5g7rzbk5ycEDvxG08,6213
12
12
  pyaatlibs/logger.py,sha256=13Kx86hzFTbynWG5hKrWiCsT8gYk0-6ER98aOLiMJfY,5224
13
13
  pyaatlibs/signalanalyzer.py,sha256=F1TiLAqqSHLpm4KgslRgu7hjj4iRX1qyCZMDI21oxls,306
@@ -15,11 +15,11 @@ pyaatlibs/signalmatcher.py,sha256=6A4mLf6GLbQzdM0wFbHqDfyWvgpZRci90kaOrLeV8B0,18
15
15
  pyaatlibs/timeutils.py,sha256=yEgZGcHf_ASyXr0Mcef0toEa4zXX4j3FyQayaF1sN8I,2613
16
16
  pyaatlibs/trials.py,sha256=hSYIvR1vsEqfu20eLDeh3oDCCTWvHQcvS6LKfScLB30,2469
17
17
  pyaatlibs/apk/audiofunctionsdemo.apk,sha256=GG06POXrPOphMNsm5pD4XPfzVF8FXQ1ruupJFO2V8iQ,3205247
18
- pyaatlibs/apk/audioworker.apk,sha256=Co4vPqwL7dsRIROeURNXcIIhd0kmRuWDNX1_yIFBfm8,28949833
19
- pyaatlibs/tests/audioworker_test.py,sha256=vPe3y8boKj8Q5WLLp8f_XNHf4VwsTu8JUFaxdOam5Pw,20887
18
+ pyaatlibs/apk/audioworker.apk,sha256=ubfCnkCxU6wjH5TlE_WM7j93GMbHyRNRPa9_5rDw8tM,28947353
19
+ pyaatlibs/tests/audioworker_test.py,sha256=oKwi7TGh3apYG1SJlTYWTbCazJZya7wOCtYiytQvea8,20977
20
20
  pyaatlibs/tests/conftest.py,sha256=Ng_ClpNsY-62bo8O0zCl702jy9AcwdteakJ1vhlOCTk,293
21
- python_audio_autotest_3.10-1.5.8.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
22
- python_audio_autotest_3.10-1.5.8.dist-info/METADATA,sha256=-7vtKTgKVPJ2AmPpNEFw_NNyMXGpXuteZX6k4qCF8yo,4550
23
- python_audio_autotest_3.10-1.5.8.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
24
- python_audio_autotest_3.10-1.5.8.dist-info/top_level.txt,sha256=MyCr1MMMQB2sjxyhlZSJPG4Fx10ya00APmhY7r1fSoQ,10
25
- python_audio_autotest_3.10-1.5.8.dist-info/RECORD,,
21
+ python_audio_autotest_3.10-1.5.10rc0.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
22
+ python_audio_autotest_3.10-1.5.10rc0.dist-info/METADATA,sha256=6kXl3dxmd-i7Djmf5i2MdCty53JmgRta7_YsU0nmm5M,5067
23
+ python_audio_autotest_3.10-1.5.10rc0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
24
+ python_audio_autotest_3.10-1.5.10rc0.dist-info/top_level.txt,sha256=MyCr1MMMQB2sjxyhlZSJPG4Fx10ya00APmhY7r1fSoQ,10
25
+ python_audio_autotest_3.10-1.5.10rc0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.44.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5