--- /dev/null
+#!/usr/bin/env python3
+
+from sys import exit
+from errno import ENXIO
+
+import gi
+gi.require_version('ALSACtl', '0.0')
+from gi.repository import ALSACtl
+
+from helper import test_functions
+
+entries = {
+ ALSACtl: (
+ 'get_card_id_list',
+ 'get_card_sysname',
+ 'get_control_sysname',
+ 'get_control_devnode',
+ ),
+ ALSACtl.CardError: (
+ 'quark',
+ ),
+}
+
+for target_type, functions in entries.items():
+ if not test_functions(target_type, functions):
+ exit(ENXIO)
--- /dev/null
+#!/usr/bin/env python3
+
+from sys import exit
+from errno import ENXIO
+
+import gi
+gi.require_version('ALSAHwdep', '0.0')
+from gi.repository import ALSAHwdep
+
+from helper import test_functions
+
+entries = {
+ ALSAHwdep: (
+ 'get_device_id_list',
+ 'get_hwdep_sysname',
+ 'get_hwdep_devnode',
+ 'get_device_info',
+ ),
+ ALSAHwdep.DeviceCommonError: (
+ 'quark',
+ 'to_label',
+ ),
+}
+
+for target_type, functions in entries.items():
+ if not test_functions(target_type, functions):
+ exit(ENXIO)
--- /dev/null
+#!/usr/bin/env python3
+
+from sys import exit
+from errno import ENXIO
+
+import gi
+gi.require_version('ALSARawmidi', '0.0')
+from gi.repository import ALSARawmidi
+
+from helper import test_functions
+
+entries = {
+ ALSARawmidi: (
+ 'get_device_id_list',
+ 'get_rawmidi_sysname',
+ 'get_rawmidi_devnode',
+ 'get_subdevice_id_list',
+ 'get_substream_info',
+ ),
+ ALSARawmidi.StreamPairError: (
+ 'quark',
+ ),
+}
+
+for target_type, functions in entries.items():
+ if not test_functions(target_type, functions):
+ exit(ENXIO)
--- /dev/null
+#!/usr/bin/env python3
+
+from sys import exit
+from errno import ENXIO
+
+import gi
+gi.require_version('ALSASeq', '0.0')
+from gi.repository import ALSASeq
+
+from helper import test_functions
+
+entries = {
+ ALSASeq: (
+ 'get_seq_sysname',
+ 'get_seq_devnode',
+ 'get_system_info',
+ 'get_client_id_list',
+ 'get_client_info',
+ 'get_port_id_list',
+ 'get_port_info',
+ 'get_client_pool',
+ 'get_subscription_list',
+ 'get_queue_id_list',
+ 'get_queue_info_by_id',
+ 'get_queue_info_by_name',
+ 'get_queue_status',
+ ),
+ ALSASeq.UserClientError: (
+ 'quark',
+ ),
+}
+
+for target_type, functions in entries.items():
+ if not test_functions(target_type, functions):
+ exit(ENXIO)
--- /dev/null
+#!/usr/bin/env python3
+
+from sys import exit
+from errno import ENXIO
+
+import gi
+gi.require_version('ALSATimer', '0.0')
+from gi.repository import ALSATimer
+
+from helper import test_functions
+
+entries = {
+ ALSATimer: (
+ 'get_sysname',
+ 'get_devnode',
+ 'get_device_id_list',
+ 'get_device_info',
+ 'get_device_status',
+ 'set_device_params',
+ 'get_tstamp_source',
+ ),
+ ALSATimer.UserInstanceError: (
+ 'quark',
+ ),
+}
+
+for target_type, functions in entries.items():
+ if not test_functions(target_type, functions):
+ exit(ENXIO)
print('Method {0} is not produced.'.format(method))
return False
return True
+
+
+def test_functions(target_type: object, functions: tuple[str]) -> bool:
+ for function in functions:
+ if not hasattr(target_type, function):
+ print('Function {0} is not produced.'.format(function))
+ return False
+ return True
'alsactl-elem-id',
'alsactl-elem-info-common',
'alsactl-elem-info-single-array',
+ 'alsactl-functions',
],
'timer': [
'alsatimer-enums',
'alsatimer-device-id',
'alsatimer-tick-event',
'alsatimer-tstamp-event',
+ 'alsatimer-functions',
],
'seq': [
'alsaseq-enums',
'alsaseq-event-data-result',
'alsaseq-remove-filter',
'alsaseq-queue-timer-common',
+ 'alsaseq-functions',
],
'hwdep': [
'alsahwdep-enums',
'alsahwdep-device-info',
'alsahwdep-device-common',
+ 'alsahwdep-functions',
],
'rawmidi': [
'alsarawmidi-enums',
'alsarawmidi-stream-pair',
'alsarawmidi-substream-params',
'alsarawmidi-substream-status',
+ 'alsarawmidi-functions',
],
}