diff --git a/docs/tests/plugins/registermap/registermap_tests.rst b/docs/tests/plugins/registermap/registermap_tests.rst new file mode 100644 index 0000000000..e5764d4244 --- /dev/null +++ b/docs/tests/plugins/registermap/registermap_tests.rst @@ -0,0 +1,751 @@ +.. _registermap_test_cases: + +Register Map - Test suite +================================================================================ + +:ref:`User guide` + +The following apply for all tests bellow, any special requirements will be mentioned. + +Prerequisites: + * Scopy v2.0.0 or later with Register Map installed on the system + * Tests listed as dependencies are successfully completed + * Reset .ini files to default by pressing "Reset" button in Preferences + +Setup +------- + +.. _adalm_pluto_emu_setup: +AdalmPluto.Emu: + * Open Scopy + * Start the iio-emu process using pluto option from the dropdown + * Connect to the Pluto Device + +.. _adalm_pluto_device_setup: +AdalmPluto.Device: + * Open Scopy + * Connect to the Pluto Device using Ip or USB + +.. _m2k_emu_setup: +M2k.Emu: + * Open Scopy + * Start the iio-emu process using adalm2000 option from the dropdown + * Connect to the M2k Device + + + +Test Cases with no XML available +--------------------------------- + +The following test cases work with or without XML file. + +Test 1 : Read +^^^^^^^^^^^^^^ + +UID : TST.REGMAP.READ + +Description: + Verify that the user can read the register value. + +OS: any + +Precodition: + * :ref:`M2k.Emu ` is connected + + +Steps: + 1. Open Register Map plugin + 2. Select a register address "0x2" using address picker + 3. Press "Read" button + * Expected result: The value "0x02" is displayed in the "Value" field + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 2 : Write +^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.WRITE + +Description: + Verify that the user can write the register value. + +OS: any + +Precodition: + * Test 1 is passed + * :ref:`AdalmPluto.Device ` is connected + +Steps: + 1. Open Register Map plugin + 2. Select a register address "0x2" using address picker + 3. Read current value of the register + 4. Change the value to "0x4a" + * Expected result: The value "0x4a" is displayed in the "Value" field + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 3 : Write wrong value +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.WRITE_WRONG_VALUE + +Description: + Verify that the user can not write the wrong value to the register. + +OS: any + +Precodition: + * Test 1 is passed + * :ref:`AdalmPluto.Device ` is connected + +Steps: + 1. Open Register Map plugin + 2. Select a register address "0x2" using address picker + 3. Read current value of the register + 4. Change the value to "0xtest" + * Expected result: The value "0x00" is displayed in the "Value" field + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 4 : Change device +^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.CHANGE_DEVICE + +Description: + Verify that the user can change the device. + +OS: any + +Precodition: + * :ref:`AdalmPluto.Device ` or :ref:`AdalmPluto.Emu <_adalm_pluto_emu_setup>` is connected + +Steps: + 1. Open Register Map plugin + 2. Change device using the dropdown in the top right corner from ad9361-phy to cf-ad9361-lpc + * Expected result: The device is changed reflected by changing the register table + +Result: + * pass/fail + * 1 / 0 + * true / false + +Tests with XML available +-------------------------- + +The following test cases require XML file of the device to be present in the system. + +Test 5 : Show register map table +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.SHOW_TABLE + +Description: + Verify that the user can see the register map table. + +OS: any + +Precodition: + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + * Expected result: The register map table is displayed in the plugin + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 6 : Search register +^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.SEARCH + +Description: + Verify that the user can search the for a register. + +OS: any + +Precodition: + * Test 5 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Input "test" in the search field + 3. Press "Search" button or enter + * Expected result: four registers are displayed in the table each of them has "test" in the name or description of the register or bitfields + 4. Input "010" in the search field + * Expected result: three results are displayed in the table one of them has "010" in the address and the rest have "010" in the name or description of the register or bitfields + 5. Input "not in here" in the search field + * Expected result: No register is displayed in the table + 6. Clear the search field + * Expected result: All registers are displayed in the table + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 7 : Simple Register value updated on read +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +UID : TST.REGMAP.SIMPLE_REGISTER_VALUE_UPDATED_ON_READ + +Description: + Verify that the user can see the register value in the table updated on read. + +OS: any + +Precodition: + * Test 5 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Select a register address "0x2" using address picker + 3. Press "Read" button + * Expected result: The value in the table is updated to the new value + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 8 : Simple Register value updated on write +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +UID : TST.REGMAP.SIMPLE_REGISTER_VALUE_UPDATED_ON_WRITE + +Description: + Verify that the user can see the register value in the table updated on write. + +OS: any + +Precodition: + * Test 7 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Select a register address "0x2" using address picker + 3. Read current value of the register + 4. Change the value to "0x4a" + 5. Press "Write" button + * Expected result: The value in the table is updated to the new value + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 9 : Detailed Register value updated on read +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.DETAILED_REGISTER_VALUE_UPDATED_ON_READ + +Description: + Verify that the detailed register bitfields value is updated on read. + +OS: any + +Precodition: + * Test 5 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Select a register address "0x2" using address picker + 3. Press "Read" button + * Expected result: The detailed register bitfields value is updated to the new value + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 10 : Detailed Register value updated on write +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.DETAILED_REGISTER_VALUE_UPDATED_ON_WRITE + +Description: + Verify that the detailed register bitfields value is updated on write. + +OS: any + +Precodition: + * Test 9 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Select a register address "0x2" using address picker + 3. Read current value of the register + 4. Change the value to "0x4a" + 5. Press "Write" button + * Expected result: The detailed register bitfields value is updated to the new value + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 11 : Change value of the bitfield inside the detailed register +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.CHANGE_BITFIELD_VALUE + +Description: + Verify that when value of the bitfield is changed the "Value field" is updated. Chaning the biftield value should not change the value of the register until "Write" button is pressed. + +OS: any + +Precodition: + * Test 5 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Select a register address "0x2" using address picker + 3. Change the value of "reg002_b3" bitfield from on to off + * Expected result: The "Value" field is updated to the "0x44" value + 4. Press "Write" button + * Expected result: The register value is updated to "0x44" + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 12 : Change "Value" field updates detailed register bitfields +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.CHANGE_VALUE_FIELD + +Description: + Verify that when value of the "Value" field is changed the detailed register bitfields are updated. + +OS: any + +Precodition: + * Test 5 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Select a register address "0x2" using address picker + 3. Change the value of the "Value" field to "0x44" + * Expected result: The detailed bitfield "reg002_b3" value is changed from on to off + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 13 : Change selected register +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.CHANGE_SELECTED_REGISTER + +Description: + Verify that when the register is changed the detailed register bitfields are updated. + +OS: any + +Precodition: + * Test 5 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Select a register address "0x20" using address picker + * Expected result: The register "0x20" is displayed in the table and selected + 3. Using + button from address picker change the register to "0x21" + * Expected result: The register "0x21" is displayed in the table and selected + 4. Using - button from address picker change the register to "0x20" + * Expected result: The register "0x20" is displayed in the table and selected + 5. Click on the register "0x21" in the table + * Expected result: The register "0x21" in the table is selected value from address picker is updated to "0x21" + + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 14 : Toggle detailed register visible +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.TOGGLE_DETAILED_REGISTER_VISIBLE + +Description: + Verify that the user can toggle the detailed register visibility. + +OS: any + +Precodition: + * Test 5 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Press "Toggle detailed register" button + * Expected result: The detailed register is hidden + 3. Press "Toggle detailed register" button + * Expected result: The detailed register is visible + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 15 : Settings autoread +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.SETTINGS_AUTOREAD + +Description: + Verify that the autoread setting is working . + +OS: any + +Precodition: + * Test 5 is passed + * Test 1 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Press "Settings" button + 3. Check "Autoread" checkbox + 4. Select a register address "0x02" using address picker + * Expected result: The value is updated to the read value + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 16 : Settings read interval +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.SETTINGS_READ_INTERVAL + +Description: + Verify that the read interval setting is working. + +OS: any + +Precodition: + * Test 5 is passed + * Test 1 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Press "Settings" button + 3. Input "2" in the "From register" field + 4. Input "4" in the "To register" field + 5. Press "Read interval" button + * Expected result: registers "0x02", "0x03" and "0x04" now have their values read + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 17 : Settings read interval with wrong interval +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.SETTINGS_READ_INTERVAL_WRONG_INTERVAL + +Description: + Verify that the read interval setting is not working with wrong interval. + +OS: any + +Precodition: + * Test 16 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Press "Settings" button + 3. Input "4" in the "From register" field + 4. Input "2" in the "To register" field + 5. Press "Read interval" button + * Expected result: Nothing happens + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 18 : Settings register dump +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.SETTINGS_REGISTER_DUMP + +Description: + Verify that the register dump is working. + +OS: any + +Precodition: + * Test 5 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Read value from registers "0x02", "0x03" and "0x04" + 3. Press "Settings" button + 4. Press "Find path" button + 5. Select a ".csv" file to save the register dump + * Expected result : file path is displayed in the "File path" field + 6. Press "Register dump" button + * Expected result: The read register values will be saved in the selected file with the structure of each row contaig register address and register value + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 19 : Settings write values +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.SETTINGS_WRITE_VALUES + +Description: + Verify that the write values setting is working. + +Precodition: + * Test 18 is passed + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Press "Settings" button + 3. Press "Find path" button + 4. Select the ".csv" file generetaed in Test 18 + 5. Press "Write values" button + * Expected result: The values from the selected file are written to the registers + +Result: + * pass/fail + * 1 / 0 + * true / false + + +Test 20 : Settings Dump regisr and write values disabled +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.SETTINGS_DUMP_REGIS_AND_WRITE_VALUES_DISABLED + +Description: + Verify that the "Register dump" and "Write values" buttons are disabled when the file path is not selected. + +OS: any + +Precodition: + * :ref:`AdalmPluto.Device ` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Press "Settings" button + 3. Press "Register dump" button + * Expected result: The button is disabled + 4. Press "Write values" button + * Expected result: The button is disabled + + 5. Use find path button to select a file + * Expected result: The write values amd register dump buttons are enabled + +Result: + * pass/fail + * 1 / 0 + * true / false + +Tests 21 : Preferences color coding background color +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.PREFERENCES_COLOR_CODING_BACKGROUND_COLOR + +Description: + Verify that the background color of the register in the table is changing to reflect the value of the register. + +OS: any + +Precodition: + * Test 1 is passed + * Test 5 is passed + * :ref:`AdalmPluto.Device ` or :ref:`AdalmPluto.Emu<_adalm_pluto_emu_setup>` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Preferences + 2. Go to RegmapPlugin tab + 3. Using the dropdown select "Register background and bitfield background" + 4. Open Register Map plugin + 5. Select a register with the address "0x2" + 6. Press "Read" button + * Expected result: The background color of the register is changed to reflect the value of the register + * Expected result: The background color of the bitfields is changed to reflect the value of the bitfield + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 22 : Preferences color coding text color +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.PREFERENCES_COLOR_CODING_TEXT_COLOR + +Description: + Verify that the text color of the register in the table is changing to reflect the value of the register. + +OS: any + +Precodition: + * Test 1 is passed + * Test 5 is passed + * :ref:`AdalmPluto.Device ` or :ref:`AdalmPluto.Emu<_adalm_pluto_emu_setup>` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Preferences + 2. Go to RegmapPlugin tab + 3. Using the dropdown select "Register text and bitfield text" + 4. Open Register Map plugin + 5. Select a register with the address "0x2" + 6. Press "Read" button + * Expected result: The text color of the register is changed to reflect the value of the register + * Expected result: The text color of the bitfields is changed to reflect the value of the bitfield + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 23 : Preferences color for value +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.PREFERENCES_COLORS_VALUE_RANGE + +Description: + Verify that the colors used for the values are corect. + +OS: any + +Precodition: + * Test 1 is passed + * Test 5 is passed + * :ref:`AdalmPluto.Device ` or :ref:`AdalmPluto.Emu<_adalm_pluto_emu_setup>` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Preferences + 2. Go to RegmapPlugin tab + 3. Using the dropdown select "Register text and bitfield text" + 4. Open Register Map plugin + 5. Select a register with the address "0x2" + 6. Write value "0x6f" to the register + 7. Press "Read" button + 8. Select a register with the address "0x3" + 9. Write value "0x6f" to the register + 10. Press "Read" button + * Expected result: The bitfields that have the same value will have the text value same color + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 24 : Preferences color coding dynamic change +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.PREFERENCES_COLOR_CODING_DYNAMIC_CHANGE + +Description: + Verify that the color coding is changing dynamically. + +OS: any + +Precodition: + * Test 1 is passed + * Test 5 is passed + * :ref:`AdalmPluto.Device ` or :ref:`AdalmPluto.Emu<_adalm_pluto_emu_setup>` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Register Map plugin + 2. Select a register with the address "0x2" + 3. Press "Read" button + 4. Open Preferences + 5. Go to RegmapPlugin tab + 6. Using the dropdown select "Register background and bitfield background" + 7. Open Register Map plugin + * Expected result: The background color of the register is changed to reflect the value of the register + +Result: + * pass/fail + * 1 / 0 + * true / false + +Test 25 : Preference settings save on close +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +UID : TST.REGMAP.PREFERENCES_SETTINGS_SAVE_ON_CLOSE + +Description: + Verify that the preferences are saved on close. + +OS: any + +Precodition: + * Test 1 is passed + * Test 5 is passed + * :ref:`AdalmPluto.Device ` or :ref:`AdalmPluto.Emu<_adalm_pluto_emu_setup>` is connected + * XML file of the device is present in the system + +Steps: + 1. Open Preferences + 2. Go to RegmapPlugin tab + 3. Using the dropdown select "Register background and bitfield background" + 4. Close Scopy + 5. Open Scopy + 6. Connect to the device + 7. Open Register Map plugin + 8. Select register with address "0x2" + 9. Press "Read" button + * Expected result: The background color of the register is changed to reflect the value of the register + +Result: + * pass/fail + * 1 / 0 + * true / false \ No newline at end of file