annotate test/test_plugin_metadata.py @ 151:5a6b8f4be9b9 tracks tip

Docs
author Chris Cannam
date Fri, 21 Apr 2017 14:33:57 +0100
parents af5961718456
children
rev   line source
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