diff mbox

[17/19] qtest/ahci: Add a macro bootup routine

Message ID 1422643333-27926-18-git-send-email-jsnow@redhat.com
State New
Headers show

Commit Message

John Snow Jan. 30, 2015, 6:42 p.m. UTC
Add a routine that can be used to engage the AHCI
device at a not-granular level so that bringing up
the functionality of the HBA is easy in future tests
that are not concerned with testing the bring-up process.

Signed-off-by: John Snow <jsnow@redhat.com>
---
 tests/ahci-test.c | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

Comments

Paolo Bonzini Feb. 2, 2015, 10:37 a.m. UTC | #1
On 30/01/2015 19:42, John Snow wrote:
> +/**
> + * Boot and fully enable the HBA device.
> + * @see ahci_boot, ahci_pci_enable and ahci_hba_enable.
> + */
> +static AHCIQState *ahci_macro_bootup(void)

Ugly name...  I would just leave out this patch.

Paolo

> +{
> +    AHCIQState *ahci;
> +    ahci = ahci_boot();
> +
> +    ahci_pci_enable(ahci);
> +    ahci_hba_enable(ahci);
> +
> +    return ahci;
> +}
John Snow Feb. 2, 2015, 9:12 p.m. UTC | #2
On 02/02/2015 05:37 AM, Paolo Bonzini wrote:
>
>
> On 30/01/2015 19:42, John Snow wrote:
>> +/**
>> + * Boot and fully enable the HBA device.
>> + * @see ahci_boot, ahci_pci_enable and ahci_hba_enable.
>> + */
>> +static AHCIQState *ahci_macro_bootup(void)
>
> Ugly name...  I would just leave out this patch.
>
> Paolo
>
>> +{
>> +    AHCIQState *ahci;
>> +    ahci = ahci_boot();
>> +
>> +    ahci_pci_enable(ahci);
>> +    ahci_hba_enable(ahci);
>> +
>> +    return ahci;
>> +}
>

It comes in handy later for testing migration so I don't have to do a 
lot of boilerplate for each instance, though it is just a convenience 
subroutine with no logic of its own.

I like to cut down on boilerplate as much as possible to expose the 
logic of the test as much as possible.

Have a suggestion for a better name, or are you very adamant about 
culling it?

--js
Paolo Bonzini Feb. 3, 2015, 8:53 a.m. UTC | #3
On 02/02/2015 22:12, John Snow wrote:
> 
> It comes in handy later for testing migration so I don't have to do a
> lot of boilerplate for each instance, though it is just a convenience
> subroutine with no logic of its own.
> 
> I like to cut down on boilerplate as much as possible to expose the
> logic of the test as much as possible.
> 
> Have a suggestion for a better name, or are you very adamant about
> culling it?

I'm adamant about culling it because I don't have a suggestion for a
better name.

In the long run, I think we should just have a qos_boot function that
does everything including PCI scanning, mapping BARs and initializing
devices.  But we're of course very far from that.

Paolo
diff mbox

Patch

diff --git a/tests/ahci-test.c b/tests/ahci-test.c
index 3a0131a..9207e73 100644
--- a/tests/ahci-test.c
+++ b/tests/ahci-test.c
@@ -107,6 +107,21 @@  static void ahci_shutdown(AHCIQState *ahci)
     qtest_shutdown(qs);
 }
 
+/**
+ * Boot and fully enable the HBA device.
+ * @see ahci_boot, ahci_pci_enable and ahci_hba_enable.
+ */
+static AHCIQState *ahci_macro_bootup(void)
+{
+    AHCIQState *ahci;
+    ahci = ahci_boot();
+
+    ahci_pci_enable(ahci);
+    ahci_hba_enable(ahci);
+
+    return ahci;
+}
+
 /*** Specification Adherence Tests ***/
 
 /**
@@ -787,9 +802,7 @@  static void test_identify(void)
 {
     AHCIQState *ahci;
 
-    ahci = ahci_boot();
-    ahci_pci_enable(ahci);
-    ahci_hba_enable(ahci);
+    ahci = ahci_macro_bootup();
     ahci_test_identify(ahci);
     ahci_shutdown(ahci);
 }