On 22/11/2016 18:22, Cédric Le Goater wrote:
>> +
>> + g_assert(words[1]); /* device */
>> + g_assert(words[2]); /* gpio list */
>> + g_assert(words[3]); /* gpio line in list */
>> + g_assert(words[4]); /* level */
>> + dev = DEVICE(object_resolve_path(words[1], NULL));
>> + if (!dev) {
>> + qtest_send_prefix(chr);
>> + qtest_send(chr, "FAIL Unknown device\n");
>> + return;
>> + }
>> +
>> + irq_num = atoi(words[3]);
>> + level = atoi(words[4]);
>> +
>> + QLIST_FOREACH(ngl, &dev->gpios, node) {
>> + if (strcmp(words[2], ngl->name) == 0 && ngl->num_in > irq_num) {
>> + irq = ngl->in[irq_num];
>> + }
>> + }
>> +
>> + if (irq == NULL) {
>> + qtest_send_prefix(chr);
>> + qtest_send(chr, "FAIL Unknown IRQ\n");
>> + return;
>> + }
>> +
>> + qemu_set_irq(irq, level);
This seems wrong. The IRQ should not be modifiable by the test.
Paolo
>> +
>> + qtest_send_prefix(chr);
>> + qtest_send(chr, "OK\n");