Chris@36
|
1
|
Chris@36
|
2 import vampyhost as vh
|
Chris@144
|
3 import vamp
|
Chris@36
|
4
|
Chris@82
|
5 plugin_key = "vamp-test-plugin:vamp-test-plugin"
|
Chris@36
|
6
|
Chris@82
|
7 plugin_key_freq = "vamp-test-plugin:vamp-test-plugin-freq"
|
Chris@63
|
8
|
Chris@36
|
9 rate = 44100
|
Chris@36
|
10
|
Chris@148
|
11 expectedVersion = 4
|
Chris@62
|
12
|
Chris@62
|
13 def test_plugin_exists():
|
Chris@82
|
14 assert plugin_key in vh.list_plugins()
|
Chris@82
|
15 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@109
|
16 assert "pluginVersion" in plug.info
|
Chris@109
|
17 if plug.info["pluginVersion"] != expectedVersion:
|
Chris@109
|
18 print("Test plugin version " + str(plug.info["pluginVersion"]) + " does not match expected version " + str(expectedVersion))
|
Chris@109
|
19 assert plug.info["pluginVersion"] == expectedVersion
|
Chris@62
|
20
|
Chris@144
|
21 def test_plugin_exists_module():
|
Chris@144
|
22 assert plugin_key in vamp.list_plugins()
|
Chris@144
|
23
|
Chris@63
|
24 def test_plugin_exists_in_freq_version():
|
Chris@82
|
25 assert plugin_key_freq in vh.list_plugins()
|
Chris@63
|
26
|
Chris@43
|
27 def test_getoutputlist():
|
Chris@82
|
28 outputs = vh.get_outputs_of(plugin_key)
|
Chris@148
|
29 assert len(outputs) == 11
|
Chris@45
|
30 assert "input-summary" in outputs
|
Chris@43
|
31
|
Chris@144
|
32 def test_getoutputlist_module():
|
Chris@144
|
33 outputs = vamp.get_outputs_of(plugin_key)
|
Chris@148
|
34 assert len(outputs) == 11
|
Chris@144
|
35 assert "input-summary" in outputs
|
Chris@144
|
36
|
Chris@86
|
37 def test_getoutputlist_2():
|
Chris@86
|
38 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@86
|
39 outputs = plug.get_outputs()
|
Chris@148
|
40 assert len(outputs) == 11
|
Chris@86
|
41
|
Chris@86
|
42 def test_get_output_by_id():
|
Chris@86
|
43 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@86
|
44 out = plug.get_output("input-summary")
|
Chris@111
|
45 assert "sampleType" in out
|
Chris@148
|
46 assert out["output_index"] == 9
|
Chris@86
|
47 try:
|
Chris@86
|
48 out = plug.get_output("chops")
|
Chris@86
|
49 assert False
|
Chris@102
|
50 except Exception:
|
Chris@86
|
51 pass
|
Chris@86
|
52 try:
|
Chris@86
|
53 out = plug.get_output("")
|
Chris@86
|
54 assert False
|
Chris@102
|
55 except Exception:
|
Chris@86
|
56 pass
|
Chris@86
|
57
|
Chris@86
|
58 def test_get_output_by_index():
|
Chris@86
|
59 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@86
|
60 out = plug.get_output(0)
|
Chris@111
|
61 assert "sampleType" in out
|
Chris@86
|
62 assert out["identifier"] == "instants"
|
Chris@87
|
63 assert out["output_index"] == 0
|
Chris@86
|
64 try:
|
Chris@86
|
65 out = plug.get_output(20)
|
Chris@86
|
66 assert False
|
Chris@102
|
67 except Exception:
|
Chris@86
|
68 pass
|
Chris@86
|
69 try:
|
Chris@86
|
70 out = plug.get_output(-1)
|
Chris@86
|
71 assert False
|
Chris@102
|
72 except Exception:
|
Chris@86
|
73 pass
|
Chris@86
|
74 try:
|
Chris@86
|
75 out = plug.get_output(plug)
|
Chris@86
|
76 assert False
|
Chris@102
|
77 except Exception:
|
Chris@86
|
78 pass
|
Chris@86
|
79
|
Chris@36
|
80 def test_inputdomain():
|
Chris@82
|
81 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@110
|
82 assert plug.inputDomain == vh.TIME_DOMAIN
|
Chris@36
|
83
|
Chris@36
|
84 def test_info():
|
Chris@82
|
85 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@39
|
86 assert plug.info["identifier"] == "vamp-test-plugin"
|
Chris@36
|
87
|
Chris@36
|
88 def test_parameterdescriptors():
|
Chris@82
|
89 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@39
|
90 assert plug.parameters[0]["identifier"] == "produce_output"
|
Chris@139
|
91
|
Chris@144
|
92 def test_getparameters_module():
|
Chris@144
|
93 params = vamp.get_parameters_of(plugin_key)
|
Chris@144
|
94 assert len(params) == 1
|
Chris@144
|
95 assert params[0]["identifier"] == "produce_output"
|
Chris@144
|
96
|
Chris@139
|
97 def test_timestamp_method_fail():
|
Chris@139
|
98 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@139
|
99 try:
|
Chris@139
|
100 plug.set_process_timestamp_method(vh.SHIFT_DATA)
|
Chris@139
|
101 assert False
|
Chris@139
|
102 except Exception:
|
Chris@139
|
103 pass
|
Chris@139
|
104
|
Chris@139
|
105 def test_timestamp_method_fail2():
|
Chris@139
|
106 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_INPUT_DOMAIN)
|
Chris@139
|
107 # Not a freq-domain plugin: shouldn't throw, but should return false
|
Chris@139
|
108 assert (not plug.set_process_timestamp_method(vh.SHIFT_DATA))
|
Chris@139
|
109
|
Chris@139
|
110 def test_timestamp_method_succeed():
|
Chris@139
|
111 plug = vh.load_plugin(plugin_key_freq, rate, vh.ADAPT_INPUT_DOMAIN)
|
Chris@139
|
112 assert plug.set_process_timestamp_method(vh.SHIFT_DATA)
|
Chris@36
|
113
|
Chris@51
|
114 def test_setparameter():
|
Chris@82
|
115 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@51
|
116 assert plug.parameters[0]["identifier"] == "produce_output"
|
Chris@109
|
117 assert plug.parameters[0]["defaultValue"] == 1
|
Chris@109
|
118 assert plug.get_parameter_value("produce_output") == plug.parameters[0]["defaultValue"]
|
Chris@80
|
119 assert plug.set_parameter_value("produce_output", 0) == True
|
Chris@80
|
120 assert plug.get_parameter_value("produce_output") == 0
|
Chris@80
|
121 assert plug.set_parameter_values({ "produce_output": 1 }) == True
|
Chris@80
|
122 assert plug.get_parameter_value("produce_output") == 1
|
Chris@51
|
123 try:
|
Chris@80
|
124 plug.set_parameter_value("produce_output", "fish")
|
Chris@51
|
125 assert False
|
Chris@51
|
126 except TypeError:
|
Chris@51
|
127 pass
|
Chris@51
|
128 try:
|
Chris@80
|
129 plug.set_parameter_value(4, 0)
|
Chris@51
|
130 assert False
|
Chris@51
|
131 except TypeError:
|
Chris@51
|
132 pass
|
Chris@51
|
133 try:
|
Chris@80
|
134 plug.set_parameter_value("steak", 0)
|
Chris@51
|
135 assert False
|
Chris@102
|
136 except Exception:
|
Chris@51
|
137 pass
|
Chris@51
|
138 try:
|
Chris@80
|
139 plug.get_parameter_value(4)
|
Chris@51
|
140 assert False
|
Chris@51
|
141 except TypeError:
|
Chris@51
|
142 pass
|
Chris@51
|
143 try:
|
Chris@80
|
144 plug.get_parameter_value("steak")
|
Chris@51
|
145 assert False
|
Chris@102
|
146 except Exception:
|
Chris@51
|
147 pass
|
Chris@51
|
148
|