diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/interact | |
download | pcp-debian.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/interact')
-rw-r--r-- | qa/interact/GNUmakefile | 15 | ||||
-rw-r--r-- | qa/interact/GNUmakefile.install | 1 | ||||
-rw-r--r-- | qa/interact/chart-control-testcases | 101 | ||||
-rw-r--r-- | qa/interact/chart-create-edit-testcases | 227 | ||||
-rw-r--r-- | qa/interact/chart-scaling-testcases | 53 | ||||
-rw-r--r-- | qa/interact/export-print-testcases | 57 | ||||
-rw-r--r-- | qa/interact/help-system-testcases | 19 | ||||
-rw-r--r-- | qa/interact/query-testcases | 80 | ||||
-rw-r--r-- | qa/interact/record-testcases | 56 | ||||
-rw-r--r-- | qa/interact/search-testcases | 75 | ||||
-rw-r--r-- | qa/interact/settings-testcases | 103 | ||||
-rw-r--r-- | qa/interact/tab-create-edit-testcases | 70 | ||||
-rw-r--r-- | qa/interact/view-create-save-testcases | 124 |
13 files changed, 981 insertions, 0 deletions
diff --git a/qa/interact/GNUmakefile b/qa/interact/GNUmakefile new file mode 100644 index 0000000..ce07d77 --- /dev/null +++ b/qa/interact/GNUmakefile @@ -0,0 +1,15 @@ +TOPDIR = ../.. +include $(TOPDIR)/src/include/builddefs + +TESTDIR = $(subst pcp,pcp-gui,$(PCP_VAR_DIR))/testsuite/interact +TESTCASES = $(shell echo *-testcases) +LSRCFILES = $(TESTCASES) GNUmakefile.install + +default setup: + +install: $(TESTCASES) + $(INSTALL) -m 755 -d $(TESTDIR) + $(INSTALL) -m 644 $(TESTCASES) $(TESTDIR) + $(INSTALL) -m 644 GNUmakefile.install $(TESTDIR)/GNUmakefile + +include $(BUILDRULES) diff --git a/qa/interact/GNUmakefile.install b/qa/interact/GNUmakefile.install new file mode 100644 index 0000000..dd1e65d --- /dev/null +++ b/qa/interact/GNUmakefile.install @@ -0,0 +1 @@ +default setup install: diff --git a/qa/interact/chart-control-testcases b/qa/interact/chart-control-testcases new file mode 100644 index 0000000..4ce56db --- /dev/null +++ b/qa/interact/chart-control-testcases @@ -0,0 +1,101 @@ +Chart Correctness and Control +============================= + +Live mode + +[ ] Run: pmchart -c views/ScaleManual -t 1 + This should display two charts - the top one with instantaneous + sample metrics (sample.double.one and sample.double.ten), lower + chart with one counter metric (sample.byte_ctr). + +[ ] Select the top chart, open the Edit Chart dialog, disable Auto- + Scaling on the Y-Axis. Set Minimum to zero, Maximum to 12, + and press OK. Verify that the Y-Axis increases to this range. +[ ] Repeat the above, except now set the Maximum to 5. Verify that + the Y-Axis updates to show the new maximum and that only the + yellow chart (sample.double.one) remains visible. +[ ] Repeat once more, now setting Minimum to 5 and Maximum to 15. + Verify the Y-Axis scale change and that only the blue plot + (sample.double.ten) is now visible. + +[ ] Click the Live button to expose the Time Controls. Press the + Stop button. Wait 5 seconds, then press Play. +[ ] Verify that there is a "gap" in all chart data (not zero) for + the time stopped, then it should continue to plot as before. + +[ ] Change the Interval to 0 seconds, and then press Play. + Verify that the Interval returns back to its previous valid + state and the charts are updated as before. +[ ] Change the Interval to 1.5 seconds, and then press Play. + Verify that the time pulse is emitted now every two seconds + and that the display is updated at that frequency now. + +[ ] Change the Timezone to UTC in the Time Control dialog. + Verify that the position text is updated with the new time, + and that the pmchart time axis is updated also. +[ ] Change back to localtime, verify position and time axis again. + +[ ] Run: pmchart -c CPU -L -t 0.025 +[ ] This should be updating extremely frequently, and depending on + the capabilities of your hardware will either keep up beautifully + (wow, nice machine!) or frequently miss updates (this is the case + with my laptop). To increase the probability that deltas will be + missed, wiggle the cursor around over the CPU chart, which makes + pmchart do more work. When updates are missed pmchart must plot + a blank section in the chart, but then it should continue on with + normal plotting. + + +Archive mode + +[ ] Run: pmchart -c views/ScaleManual -t 1 -a archives/chartqa1 + This should display two charts - the top one with instantaneous + sample metrics (sample.double.one and sample.double.ten), lower + chart with one counter metric (sample.byte_ctr). The initial + display should show a series of values for Thurs, Oct 11 2007, + with one visible "gap" in the series (both charts, same time). + +[ ] Click the Archive button to expose the Time Controls. +[ ] Press Play, and let it run through to the end of the archive + (its not very long). There should be two time periods where + no values are displayed (note: plotting should stop completely + in these sections - broken lines, the plot values should *not* + dip to zero). +[ ] Verify that when the end of the archive is reached, the time + controls are updated to Stop state, in both the Time Control + window and pmchart. +[ ] Press Back, and let it run back to the start of the archive. + Verify that when the start of the archive is reached, time + controls are updated to Stop state in both the Time Control + window and pmchart. +[ ] Change the Archive Control mode to Step, then take three steps + forward, and four steps back. Verify that the time controls + are update to Stop state in both the Time Control window and + pmchart. +[ ] Change the Archive Control mode to Fast. Fast forward to the + end of the archive, verify it stops at the end, then fast back + to the start. Again verify that it stops, and the interface + state (icons) in both windows is updated to indicate this. +[ ] Change back to Normal Archive Control mode. Press Play. Now + increase and decrease the playback Speed while pmchart is + displaying the data from the archive. Use both the direct + text input mechanism, and the wheel. You can use the little + button next to the wheel to reset Speed to its original value. +[ ] Play space invaders! Randomly change mode, direction, speed, + etc. and verify that the interface doesn't get into a hung or + unexpected state. + +[ ] Change the Interval to 0 seconds, and then press Play. + Verify that the Interval returns back to its previous valid + state and the charts are updated as before. +[ ] Change the Interval to 1.5 seconds, and then press Play. + Verify that the time pulse is emitted now every two seconds + and that the display is updated at that frequency now. + +[ ] Change the Timezone to UTC in the Time Control dialog. + Verify that the position text is updated with the new time, + and that the pmchart time axis is updated also. Also verify + that the Archive Bounds dialog displays an updated timeframe. +[ ] Change back to localtime from the archive; verify position, + time axis and Archive Bounds again. + diff --git a/qa/interact/chart-create-edit-testcases b/qa/interact/chart-create-edit-testcases new file mode 100644 index 0000000..349e8e2 --- /dev/null +++ b/qa/interact/chart-create-edit-testcases @@ -0,0 +1,227 @@ +Creating and Editing Charts +=========================== + +Live Create + +[ ] Start pmchart, click on New Chart in the File Menu Item or Toolbar. + Verify that the New Chart dialog is displayed with no entries in + the Chart Plots list, one host in the Available Metrics list, and + one level of the local hosts metric namespace expanded. +[ ] Resize the window, down to its minimum size and up to a larger size + than the initial window. Verify the child widget layout remains as + sensible as possible for the window size. +[ ] Before selecting anything click on the OK push button, and verify + that a warning dialog is displayed (No metrics selected), that + the New Chart dialog remains on screen and no chart is created in + the main pmchart window. + +[ ] Verify the metic namespace traversal and selection functionality: + - Double click on the hostname, verify the metric list collapses. + - Double click on the hostname, verify the list reappears. + - Select "sample", then "seconds". Verify the full metric path has + appeared in the text box below the list. + - Click the blue Metric Info button and in the Info dialog verify + that the Info tab displays the metric name, short help text, + descriptor (type, indom, semantics, units), long help, and the + current value. Then click on the Value tab, which should cause + the pmtime live window to be displayed and the current values + for sample.seconds should be reported at the current interval. + - Click the red Delete button. It should be disabled, so nothing + should happen here at this stage. + - Click the left-arrow button and verify the metric appears in the + Chart Plots list, fully expanded, and with the default colour. + - Now click the big red Smite button again, and verify the metric + is removed from the Chart Plots list. + - Select samples.seconds again from the Available Metrics list, and + press OK. Verify that a line plot chart is created which starts + plotting this metric (its value should constantly hover very close + to the sample interval). + +[ ] Verify default metric colors + - Open the Settings dialog and select the Colors tab. + - Open the New Chart dialog, navigate to sample.hordes in the + Available Metrics list, and (multi-) select the first 50 instances. + - Click OK and verify from the legend that the colours selected match + the default plot colour rotation. + - Select Delete Chart from the Edit menu. + +[ ] Verify chart metadata + - Open the New Chart dialog, navigate to sample.load and click + on the left-arrow button to add it to the Chart Plots list. + - Click on the Chart tab, and modify the following attributes: + Title: NewChartQA + Style: Area Plot + Legend: Off + Y-Axis Auto-Scale: Off + Min: 40 + Max: 45 + - Click OK, and verify that the chart is created with all of these + parameters in effect. + - Close the Chart + - Open the New Chart dialog, navigate to the sample metrics and + select both recv_pdu and xmit_pdu, and add them to the Chart Plot + list simultaneously using the left-arrow button. + - Click on the Chart tab and set Style: to Stacked Bar. + - Click OK, and verify that a stacked bar chart is created. + - Close the Chart + +[ ] Add Host + - Open up the New Chart dialog + - Push the Add Host button + - enter no.such.host and verify nothing bad happens + - enter your valid remote QA host and verify it is added to + the Available Metrics list with its top level metric names. + - Select sample.long.one from the first host, and sample.long.ten + from the second, and add the two metrics to the Chart Plot list. + - Click on the Chart dialog, and set the style to Stacked Bar. + - Click on OK and verify that a bar chart is created with the two + metrics, one from each host, values one and ten respectively. + - Close the Chart + +[ ] Verify color selection Tab + - Open up the New Chart dialog + - Add the sample.drift metric to the Chart Plots and click Colors. + - Verify that the First colour box (below Revert button) displays + the current (#-cycle default) colour. + - Drag the cursor around in the color and darkness selection boxes + and verify that the colour box above the Apply (left arrow) push + button changes as you move the cursor. Verify that the HSV/RGV + values change as well. + - Type into each of the HSV/RGB spin boxes - they should not accept + non-numeric input, modifying a value on one row (HSV or RGB) will + affect values on the other, and all have a range between 0 - 255, + except for Hue, which is 0 - 359. + - Select a colour different to the default plot colour, and press + the Apply button. Verify that the colour displayed in the Chart + Plot list is updated. + - Press the Revert button, and verify that the colour displayed in + the Chart Plot list is reverted to its previous value. + - Press OK. + + +Live Edit + +[ ] Click on Edit Chart from the Edit menu. Verify that the metric + from the previous exercise (sample.drift) is the only one displayed + in the Chart Plots list, and its colour matches the previous colour. +[ ] Select sample.drift in the Chart Plots list. + +[ ] Verify the color selection Tab + - Select a new (different) colour and press the left-arrow button to + Apply the change. + - Enter a plot label of "Drifter". + - Press OK, and verify that the chart changes to using the new colour + and new legend label for its sample.drift plot. + +[ ] Verify changing each piece of chart metadata + - Click on the Edit Chart action, and modify the following attributes: + Title: EditChartQA + Style: Utilization + Legend: Off + Y-Axis Auto-Scale: Off + Min: 1 + Max: 1 + - Click OK, and verify that a window is displayed preventing min/max + from being the same. + - Change Y-Axis Max: to 1. + - Click OK, and verify that the chart is created with all of these + parameters in effect. + - Click on the Edit Chart action, and modify the following attributes: + Title: EditChartQA2 + Style: Line Plot + Legend: On + Y-Axis Auto-Scale: On + - Click OK, and verify that the chart is created with all of these + parameters in effect. + +[ ] Verify adding and removing metrics + - Bring up the Edit Chart dialog. Select the sample.drift metric from + Chart Plots and press the red Delete button. Now press OK, and make + sure that a dialog is displayed preventing the creation of a chart + with no metrics. + - Press Cancel. + - Bring up the Edit Chart dialog. Select the sample.drift metric from + Chart Plots and press the red Delete button. Select sample.load in + the Available Metrics list, add it to the Chart Plots list, and then + press OK. Verify that the chart is now displaying only sample.load. + +[ ] Check handling of instance names with spaces + - Run: pmchart -a archives/spotinstance -c views/SpotInstances + - Edit -> Chart + + Verify that the list of existing chart metrics shows the instance + name correctly - i.e. "kernel.all.cpu.wait.total" is listed as an + instance name and not part of the metric name. + +[ ] Check the conversion of plot style in live mode + - Run: pmchart -c CPU -c CPU + (yes, the view appears twice) + - Edit -> Chart + + step through the Styles for the bottom chart, and verify that the + results mactch those shown in the top chart + Utilization -> Line Plot -> Utilization + Utilization -> Bar Plot -> Utilization + Utilization -> Stacked Bar Plot -> Utilization + Utilization -> Area Plot -> Utilization + +[ ] Check the hiding of plots in archive mode + - Run: pmchart -c CPU -c CPU -t 1 -a archives/viewqa1 + (yes, the view appears twice) + - in the lower chart, go through this sequence and verify that the + plotted values match the values in the upper chart ... at the + end of each cycle the two charts should be identical + + click Idle off in the legend + + click User off in the legend + + click Kernel off in the legend + + click Nice off in the legend + + click Intr off in the legend + + click Wait off in the legend + (bottom chart should be blank) + + click Wait on in the legend + + click Intr on in the legend + + click Nice on in the legend + + click Kernel on in the legend + + click User on in the legend + + click Idle on in the legend + - Edit -> Chart and change Style to Line Plot for both charts (may need + to Step in the pmtime dialog to get the plots updated correctly), then + repeat the legend off and on sequence above + +Archive Create + +[ ] Click on the Archive Tab. Click on the New Chart toolbutton. Click + on the Archive push button, and open up pcp-gui/qa/archives/viewqa1, + pcp-gui/qa/archives/viewqa2 and pcp-gui/qa/archives/viewqa3. +[ ] Verify that the hosts "edge" and "leaf" are displayed along with the + top level of their respective metric namespaces. + Verify also that the Time Axis in the main window has been updated + to display a timeframe in September 2007, EST. +[ ] Create a CPU view from the archive + - Select all of the kernel.all.cpu metrics from the Available Metrics + list and add them to the Chart Plots list. + - Modify each of the colours - dark blue for "user", red for "sys", + "green" for idle, cyan for "wait.total" and light yellow for "intr". + - Change the chart properties: + Title: CPU Utilisation QA + Style: utilisation + - Press OK and inspect your handiwork. +[ ] Close the Archive Tab. + + +Error handling + +[ ] Go through all the "problematic" sample PMDA metrics and verify: + - Attempt to create a chart with sample.darkness. + (should not be possible - instance domain but no values) + - Attempt to create a chart with sample.noinst. + (should not be possible - no instance domain) + - Attempt to create a chart with sample.needprofile. + (should not be possible - no profile set) + - Attempt to create a chart with sample.string.null + (should not be possible - string value) + - Attempt to create a chart with sample.aggregate.null + (should not be possible - aggregate value) + - Attempt to create a chart with sample.bad.unknown + (should not be possible - unknown PMID) + - Attempt to create a chart with sample.bad.nosupport + (should not be possible - ENOSUPPORT PCP errno) + diff --git a/qa/interact/chart-scaling-testcases b/qa/interact/chart-scaling-testcases new file mode 100644 index 0000000..a49b47f --- /dev/null +++ b/qa/interact/chart-scaling-testcases @@ -0,0 +1,53 @@ +Scaling Charts +============== + +See also qa 006 for automated tests. + +[ ] Start pmchart as follows: + $ pmafm 20071023-08-06-36.folio replay + +[ ] The initial configuration should be from top to bottom (5 charts): + + Y-axis scale Max Y-axis value + Kbyte 1000 + byte/millisec 1000 + nanosec 1000 + <nothing> 1000 + Kbyte/sec 1000 + +[ ] Open pmtime + - move the time slider back to the start of the archive + - change Archive Control to Step + - click Step Forward 10 times + + The chart configuration should change to be: + + Y-axis scale Max Y-axis value + Gbyte 110 + Mbyte/millisec 36 + millisec 10 + <nothing> 0.18 + Kbyte/sec 80 + +[ ] Change Archive Control to Fast, and click Fast Forward until the end + of the archive is reached. + + The chart configuration should change to be: + + Y-axis scale Max Y-axis value + Gbyte 110 + Mbyte/millisec 100 + hour 30 + <nothing> 1 + Mbyte/sec 50 + +[ ] Click Fast Backward until the start of the archive is reached. + + The chart configuration should change to be: + + Y-axis scale Max Y-axis value + Gbyte 110 + Mbyte/millisec 36 + millisec 0.1 + <nothing> 0.18 + Kbyte/sec 80 diff --git a/qa/interact/export-print-testcases b/qa/interact/export-print-testcases new file mode 100644 index 0000000..0616a0c --- /dev/null +++ b/qa/interact/export-print-testcases @@ -0,0 +1,57 @@ +Export and Print +================ + +Export + +[ ] Run: pmchart -a archives/chartqa1 -c views/ScaleManual +[ ] Verify that the default image format (png) is show, the default file + name is $HOME/chart.png, and that the Width/Height are 302/280 pixels + respectively. +[ ] Shift the quality slider up/down - check that the value is updated in + the Quality spin box. Check the reverse also - that the slider moves + when values are entered via the Quality spin box controls. +[ ] Enter the following parameters: + - Image format: jpeg (make sure that the file extension changes) + - Transparent background disabled + - Filename /tmp/qa1.jpeg + - All Charts in Tab enabled + and Press OK. +[ ] Verify using an image editor (eog, gimp, xv, ...) that a jpeg image + matching the main pmchart window is generated in that file. +[ ] Select the second (bottom) chart in the main window, then open the + Export dialog once again. +[ ] The previous settings should all have been preserved. Enable the + transparent background option, and click the Selected Chart Only + toggle button. When you click that button, the Width/Heigth should + be updated to 302/151 pixels. Modify those values to 300/150 pixels. + Change the format to png (check the filename extension is updated), + and press OK. +[ ] Verify with your image viewing tool that a transparent background + png format image with only the selected chart has been generated, + and that it has dimensions 300/150 pixels. +[ ] Open the Export dialog once again, and press OK. You should see a + dialog prompting you whether you want to overwrite the existing + /tmp/qa1.png file. Click cancel, and cancel in the export dialog. + + +Print + +[ ] Open the Print Dialog, click on Print to File, and enter the + file name "/tmp/qa2.pdf". +[ ] Set paper Orientation to Landscape. +[ ] Set paper Format to B5. +[ ] Press Print, and verify that the file generated displays both of + the charts and matches the above printing parameters, using a pdf + viewing tool (xpdf, gnome-viewer, ...) + +[ ] Open the Print Dialog, click on Print to File, and enter the + file name "/tmp/qa3.pdf". +[ ] Set paper Orientation to Portrait. +[ ] Set paper Format to A4. +[ ] Press Print, and verify that the file generated matches these + parameters, using your pdf viewing tool, and shows both graphs. + +[ ] If you have a printer connected, send a job to the printer instead + of to a file, and verify it once more (print parameters will now + depend on your printer and available paper). + diff --git a/qa/interact/help-system-testcases b/qa/interact/help-system-testcases new file mode 100644 index 0000000..2ea61b1 --- /dev/null +++ b/qa/interact/help-system-testcases @@ -0,0 +1,19 @@ +On-Line Help System +=================== + +[ ] Check the Manual is accessible from Help menu. +[ ] Verify the Tutorial is accessible from Help menu. +[ ] Check that the About dialog shows current version. +[ ] Verify the See Also dialog is showing good stuff. +[ ] Check "What's This" by randomly selecting main window/dialog widgets + and seeing if a/ Tooltip help is displayed for each, and b/ if it makes + any sense. Search for any widgets that don't display some help, they + need to be fixed. + +[ ] Repeat each of the above items for pmtime. + +[ ] Check any major new features in this release are documented. +[ ] Skim-read the manual looking for out-of-date images, typos, etc. +[ ] Skim-read the tutorial looking for out-of-date images, typos, etc. + +[ ] Verify that the manual and tutorial are accessible on the Web. diff --git a/qa/interact/query-testcases b/qa/interact/query-testcases new file mode 100644 index 0000000..5cea555 --- /dev/null +++ b/qa/interact/query-testcases @@ -0,0 +1,80 @@ +pmquery +======= + +Message + +[ ] Run: pmquery -icon archive -b One -b Two -b Three + This should display a dialog with three numbered buttons, + an archive icon and empty text box. Click on the button + labeled "Two", and the dialog should be dismissed and the + text "Two" written to the terminal. + +[ ] Run: pmquery -icon info -b One -b Two -B Three + This should display a dialog with three numbered buttons, + a light bulb icon and empty text box, and the button with' + label Three should be visibly the default. Hit the enter + key, and the dialog should be dismissed with the text + "Three" written to the terminal. + +[ ] Run: pmquery -icon error -b Cancel -B OK + A dialog with stop sign and two buttons. Hit the Escape + key and the window should be dismissed with no output sent + to the terminal. + +[ ] Run: pmquery -icon question -buttons OK,Cancel -default OK + Window should have a question mark icon, two buttons, with + the OK button being leftmost and default. Press the OK + button and verify that the text OK is sent to the terminal. + +[ ] Run: pmquery -icon question -buttons OK:1,Cancel,201:201 + A window should be displayed with three buttons - the third + should have the label "201", and clicking it should cause + pmquery to exit with status 201 - verify this by typing + "echo $?" in the terminal after clicking the "201" button. + +Input + +[ ] Run: pmquery -icon host -input -t default.local + The window should have the conputer icon, and an editable + text box containing the text default.local. Append "123" + to the text and press "Continue" - verify that the modified + string is displayed in the terminal. + + +File I/O + +[ ] Run: echo Text | pmquery -icon critical -file - + Should display an error icon and a text box containing the + string "Text" + +[ ] Run: pmquery -icon critical -file /dev/null + Should display an error icon and an empty text box. + +[ ] Run: pmquery -icon critical -file /tmp/message + Should display a "no such file" error message + +[ ] Run: echo Text > /tmp/message + pmquery -icon critical -file /tmp/message + Should display an error icon and a text box containing the + string "Text". + +[ ] Run: pmquery -icon critical -B OK -print + Hit the OK button and text "OK" should be written out. + +[ ] Run: pmquery -icon critical -B OK -noprint + Hit the OK button and no text should be written out. + +[ ] Run: pmquery -icon critical -B OK -timeout 2 + Wait for two seconds, and the dialog should dismiss itself. + +[ ] Run: pmquery -icon critical -file /tmp/message -useslider + Text box with "Text" should have a vertical slider. + +[ ] Run: pmquery -icon critical -file /tmp/message -noslider + Text box with "Text" should have no vertical slider. + +[ ] Run: pmquery -icon critical -file /tmp/message -noframe + Text box with "Text" should have no outline frame. + +[ ] Run: pmquery -icon critical -t one -t two -t three -header Eek + Three lines of text, a single button and window titled "Eek". diff --git a/qa/interact/record-testcases b/qa/interact/record-testcases new file mode 100644 index 0000000..d0bc9dc --- /dev/null +++ b/qa/interact/record-testcases @@ -0,0 +1,56 @@ +Record Mode +=========== + +Phase A: +[ ] Check running pmlogger processes (ps auw | grep pmlogger) +[ ] Open one CPU View for localhost and a second CPU view for + a remote host, click Record -> Start -> OK +[ ] Verify red light comes on and Record menu items are: + enabled (Query/Stop/Detach) and disabled (Start) +[ ] Click Record -> Query, check contents of 2 pmlogger popups +[ ] Click Record -> Stop, check contents of 2 pmlogger popups. +[ ] Verify red light is now disabled and Record menu items are + disabled (Query/Stop/Detach) and enabled (Start). +[ ] Click on newly created Tab, click on Archive Time Control + push button in bottom left corner, in pmtime select Options + -> Boundaries and verify the time window matches up with + the timeframe recorded. +[ ] Fast forward through the archive, then Fast Back to start, + checking the charts for both hosts matches expectations. +[ ] Verify no additional pmlogger processes are running. +[ ] Run: pmafm ~/.pcp/pmlogger/[timenow].folio replay + Verify a pmchart starts up with appropriate archive view + of CPU utilisation for both hosts. + +Phase B: +[ ] Check running pmlogger processes (ps auw | grep pmlogger) +[ ] Open one CPU View for localhost and a second CPU view for + a remote host, click Record -> Start -> OK +[ ] Verify red light comes on and Record menu items are: + enabled (Query/Stop/Detach) and disabled (Start) +[ ] Click Record -> Detach, check contents of 2 pmlogger popups. +[ ] Verify red light is now disabled and Record . menu items: + disabled (Query/Stop/Detach) and enabled (Start) +[ ] Verify two additional pmlogger processes are running. + +Phase C: +[ ] Open a Disk View for localhost, click Record -> Start +[ ] Verify only valid double precision numbers can be entered + as the time interval, try: abc, 1.1.1, 12.a4, -1 (all bad) +[ ] Set the time units to minutes and the interval to 0.001. +[ ] Push folio button, set folio to "/tmp/folio" from popup +[ ] Push logfile button, try set log to "/tmp" from popup + (verify this isn't possible), then "/var/tmp/pmlogger.log" + from the popup. +[ ] Push archive button, set name to "/tmp/archive/record" +[ ] Click OK +[ ] Leave run for a few seconds, then click Record -> Stop +[ ] Run: pmdumplog -l /tmp/archive/record + Verify the output matches the time recorded +[ ] Run: pminfo -a /tmp/archive/record + Verify the output lists several kernel.all.cpu metrics, + and three pmcd.pmlogger metrics. +[ ] Run: pmafm /tmp/folio replay + Verify a pmchart starts up with appropriate archive view +[ ] Run: rm -fr /tmp/archive /var/tmp/pmlogger.log /tmp/folio + diff --git a/qa/interact/search-testcases b/qa/interact/search-testcases new file mode 100644 index 0000000..7b14b54 --- /dev/null +++ b/qa/interact/search-testcases @@ -0,0 +1,75 @@ +Search Dialog for Metric Selection +================================== + +[ ] Start pmchart, click on New Chart from the File Menu Item or Toolbar + Verify that the Search icon (magnifying glass) is enabled on + the central menu bar + Click the Search icon + The Metric Seach dialog should appear with + - Metric Name Pattern empty + - Instance Name Pattern empty + - Clear and Cancel buttons enabled + - Select All, Search and OK buttons disabled + +[ ] In the Metric Name Pattern input field, enter sample.bi + Note that Search is enabled at the first keystroke (s) + Excute the search via each of the following + - Enter + - click Search + - type Alt-S + Results should always be the same ... sample.bigid and the 9 instances + of the sample.bin metric + +[ ] Test the selection behaviour for the matched metrics + - Select All button + - Click (select one, deselect all others) + - Shift-click (select a range to last click) + - Ctl-click (toggle single item selection) + +[ ] Select All then Ctl-click sample.bin[bin-500], then click OK + Expect 9 metrics to be selected in the New Chart dialog, and the Available + Metrics tree to be expanded at the [-]-- sample and [-]-- bin nodes + +[ ] Return to the Metric Search dialog. + Expect the previous state to be preserved - Metric Name Pattern is + sample.bi, 10 matching results and 9 selected results, all buttons enabled + +[ ] Click Clear + Should revert to the initial state + - Metric Name Pattern empty + - Instance Name Pattern empty + - Clear and Cancel buttons enabled + - Select All, Search and OK buttons disabled + +[ ] Go to the New Chart dialog, + - in live mode, select disk.all.read and select all of the instances + for network.interface.total.packets. + - in archive mode, select sample.bigid and all of the instances for + pmcd.pmlogger.port + Click the search icon to open the Search Metric dialog. + The New Chart dialog should be unchanged and insensitive (Search + Metric is modal). + +[ ] In the Instance Name Pattern, enter ^bin-[0-5]..$ then click Search. + Expect 40 matches for the instance names bin-100 to bin-500 for the + 8 metrics (.bin .bogus_bin .bucket and .part_bin for the sample and + sampledso pmdas) + In the Metric Name Pattern, enter b.*_bin then click Search. + Expect just 10 matches for the .bogus_bin metrics in the sample and + sampledso pmdas. + +[ ] Click Select All, then click OK. + Back in the New Chart dialog, click the Insert plot into button + and verify that all of metrics appear in the chart + - disk.all.read (or sample.bigid) + - all the instances of network.interface.total.packets (or + pmcd.pmlogger.port) + - instances bin-100 thru bin-500 for sample.bogus_bin + - instances bin-100 thru bin-500 for dsosample.bogus_bin + +[ ] Repeat all of the above for archive mode, starting pmchart as + follows: + Run: $ pmchart -a pcp-gui/qa/archives/viewqa1 + There are no sampledso metrics in this archive, so the set of + matching metrics will typically be halved compared to the live + tests. diff --git a/qa/interact/settings-testcases b/qa/interact/settings-testcases new file mode 100644 index 0000000..0b6a92d --- /dev/null +++ b/qa/interact/settings-testcases @@ -0,0 +1,103 @@ +Global Settings +=============== + +Sampling + +[ ] Open the Settings dialog. This is available from the Edit + menu (Linux) or from the pmchart Preferences menu on a Mac. +[ ] Type some invalid chart intervals into the one-line editor + (try: abc, 0.1.1, -1 - none should be possible) +[ ] Set the chart interval to zero and press OK - should block + this with an error dialog. + +[ ] Type some invalid logger intervals into the one-line editor + (try: 0XY, 1.0.2, -1 - none should be possible) +[ ] Set the logger interval to zero and press OK - should block + this with an error dialog. + +[ ] Set default logger interval to 20 minutes + Change units to Milliseconds; value should be: 1,200,000 + Change units to Seconds; value should be: 1,200 + Change units to Minutes; value should be: 20 + Change units to Hours; value should be: 0.333333 + Change units to Days; value should be: 0.138888 + Change units to Weeks; value should be: 0.001984 +[ ] Set default chart interval to 0.25 seconds + Change units to Milliseconds; value should be: 250 + Change units to Seconds; value should be: 0.25 + Change units to Minutes; value should be: 0.004166 + Change units to Hours; value should be: 0.000069 + Change units to Days; value should be: 0.000002 + Change units to Weeks; value should be: 0.000000 + Change units to Seconds; reset value to 0.25 seconds +[ ] Move the sample history and visible history sliders - they + should never allow visible history to become less than the + sample history, and neither is ever allowed to become less + than 2. +[ ] Check that only numeric values can be entered into each of + the visible and simple history spin boxes - check range of + values is again 2 -> maximum (360 at the moment). +[ ] Check that the spin box Up/Down arrows increase/decrease + each value by 1, and that PageUp/PageDown increase/decrease + each value by 10 - check the range of values is again 2 -> + the maximum, for all of Up/Down/PageUp/PageDown. +[ ] Set sample history size to 4 +[ ] Set visible history size to 2 +[ ] Press OK, exit pmchart, restart pmchart, bring up Settings + dialog and verify the following values are set... + ( ) Default Chart Interval: 0.25 seconds + ( ) Default Record Interval: 1200 seconds + ( ) Default Visible Points: 2 + ( ) Default Sample Count: 4 + + +Colors + +[ ] Open the Settings Dialog, click on the Colors tab. +[ ] Click the Selected Chart Highlight button, select a different + colour (hot pink), and click OK. Verify that the push button + changes colour to your selection. +[ ] Click the Canvas Background button, select a different colour + (white), and click OK. Verify that the push button changes + colour to your selection. +[ ] Click on one of the existing Default plot colours and select a + different colour. Verify the new colour is displayed for that + button. +[ ] Click on any three of the white (empty) color buttons and make + a colour selection for each. Any three buttons - gaps in the + set are fine, and testing extremes (next free slot, last free) + is a good idea too). +[ ] Push the OK button to accept your changes. +[ ] Open the QA View "qa/views/RotateColors", and expand the window + the full height of your screen . Also open the Settings dialog + again at the colors page, and verify that the colors have been + used for each plot in the View in the order listed on the page. +[ ] Verify also that the Settings dialog is displaying the colours + you selected before, but with no spaces between colours now - + i.e. with any unused (white) "gap" buttons removed. +[ ] Finally, verify that the plot after the final colour specified + originally in the Settings dialog has rotated back to the first + colour, the next has rotated back to the second colour, etc. + + +Toolbar + +[ ] Open the Settings Dialog, click on the Toolbar tab. +[ ] Uncheck the "Show Toolbar on Startup" check box. +[ ] Select "Right and Vertical" from the Location/Orientation box. +[ ] Quit pmchart. Restart pmchart. Verify that the Toolbar is not + displayed at all. Verify also that the Toolbar option from the + Options menu is not checked. +[ ] Select the Toolbar item in the Options menu. Verify that the + toolbar is now displayed on the right of the main charting area + instead of across the top of the main window. +[ ] Open the Settings dialog once more, verifying that the "Show + Toolbar on Startup" option is not checked and that the Location/ + Orientation combo box shows Right/Vertical. +[ ] Make a series of selections from the Actions list (items are + selected and deselected simply by clicking on them). Press the + OK button and verify that the main window is updated to display + your selected actions, instead of the defaults. +[ ] Exit pmchart. Restart pmchart. Verify that your selected set of + actions is still displayed, in preference to the defaults. + diff --git a/qa/interact/tab-create-edit-testcases b/qa/interact/tab-create-edit-testcases new file mode 100644 index 0000000..0ea288e --- /dev/null +++ b/qa/interact/tab-create-edit-testcases @@ -0,0 +1,70 @@ +Creating and Editing Tabs +========================= + +Live Edit + +[ ] Run: pmchart -t 0.5 -c CPU -c Disk +[ ] Select Start from the Record menu. Press OK to start recording. +[ ] Click on Edit Tab in the Edit Menu, to bring up the default live + mode tab details. + Verify that the Live Hosts button is checked, the displayed Label + matches the original Tab ("Live") and the default sample ranges + are displayed correctly in both sliders and spin boxes (should be + 60 Visible and 180 Total Samples). Verify also that it is not + possible to modify the Live/Archive radio button selection. +[ ] Modify the Total samples using both the spinbox and the slider to + increase and decrease its value. Verify that the Total Samples + value cannot be reduced below the Visible Samples value, and that + neither can be reduced below 2. Modify the Visible Samples value + using both methods. Verify that its value cannot be increased + beyond the Total Samples value. +[ ] Verify the minimum and maximum ranges of both Visible and Total + Samples - currently this is 2 to 360. +[ ] Press Cancel. + +[ ] Click on the Zoom In button (from the Toolbar or Edit menu) + repeatedly. Verify that the number of visible points decreases + down to the minimum (2 samples) and that the toolbar and menu + actions become disabled at that point. +[ ] Click on the Zoom Out button repeatedly. Verify that the number + of visible points increases up to the maximum (360 samples), that + the Zoom In action becomes enabled after the first press, and that + the Zoom Out action is disabled once the maximum is reached. +[ ] Zoom In three clicks, then expose the Edit Tab dialog. The Visible + Samples should be 252, and the Total Samples should still be 360. +[ ] Resize the Edit Tab window, down to its minimum size and up to a + larger size than the initial window. Verify the child widget layout + remains as sensible as possible for the window size. +[ ] Change the Label to "LiveQA", set Visible points to 120 and press OK. + Verify that the changes are made to the current pmchart Live tab. + +Live Create + +[ ] Click on the Create Tab chart from the Edit menu or toolbar. + Check the Live Hosts radio button, set the Label to "LiveQA2", set + Visible points to 12 and Total points to 24. Press OK. Verify that + a new Live Tab is created with each of those parameters (use Edit + Tab dialog to verify the total/visible points setting). +[ ] Open the CPU and Disk views in the new Tab. Verify that they start + to display data matching the same charts in the original Live tab. +[ ] Select Close Tab from the File menu. + +Archive Create + +[ ] Select Stop from the Record menu. +[ ] Verify that a new Archive Tab is created named "Record". +[ ] Click on the new tab and verify that it is of archive type, has a + sensible time axis, and is displaying the same CPU/Disk views as + the original Live tab. +[ ] Click on the archive time control button, and verify that the Bounds + dialog in the Time Controls matches the length of time you recorded. + +Archive Edit + +[ ] Click on the Edit Tab dialog for the new Archive Tab. Verify that + it displays the Archive radio button as checked (and not editable), + that the samples settings match the original Live Tab. +[ ] Modify the Label to be "RecordQA" and press OK. +[ ] Click on the Zoom In and Zoom Out toolbar buttons a few times and + verify that nothing unexpected happens. + diff --git a/qa/interact/view-create-save-testcases b/qa/interact/view-create-save-testcases new file mode 100644 index 0000000..be941bd --- /dev/null +++ b/qa/interact/view-create-save-testcases @@ -0,0 +1,124 @@ +Opening and Saving Views +======================== + +Live Open + +[ ] Start pmchart, click on Open View in the File Menu Item or Toolbar + Verify that the initial view displays the System views (CPU, Disk, + Loadavg, NFS, etc). All View names should be fully visible with a + (light blue folder) View icon associated with each. +[ ] Resize the window, down to its minimum size and up to a larger size + than the initial window. Verify the child widget layout remains as + sensible as possible for the window size. +[ ] Before selecting anything click on the Open push button, and verify + that a warning dialog is displayed (No views specified) and that + the Open View dialog remains on screen. + +[ ] Verify the filesystem traversal functionality - select your home + directory from the Path combo box. The list of displayed files + should be updated to match, and the System View toolbutton (top- + right corner) should no longer be selected. +[ ] Click on the Parent toolbutton (arrow icon, just right of the Path + combo box), and verify this traverses to the parent directory). + Check that the Path combo box is updated each time to show the new + full path. Repeat clicking it until the root directory is reached. +[ ] Click on the Path combo box, all directories visited should be in + the list. +[ ] Select your home directory from the Path combo box again. Now walk + to the root of the filesystem by entering the parent directory (..) + into the File text box. + +[ ] Click on the Host combo box. At this stage it should just show the + local QA host name. Click on the Add Host push button, to the right + of the Host combo box. Enter an invalid name, e.g. no.such.host in + the Add Host dialog. Verify that the error is reported and that the + dialog stays on-screen. Press Cancel. +[ ] Click the Add Host button once more, and this time enter a valid + remote hostname. Click OK, and then verify that the Host combobox + now displays two hosts, with the newly added host first in the list + (and selected as the default host now). + **Note: the host used next should be the local (not remote) QA host: +[ ] Switch (back) to the local QA host in the Host combo box. Click + on the CPU and Disk view icons (need Ctrl+Click, for multi-select) + then click on the Open button. Verify that these views are indeed + opened in the main pmchart window (should have CPU/Disk metrics, + legend on, auto-scale for Disk view, 100% utilisation view for CPU). + +Live Save + +[ ] Select the Save View option from the File menu. +[ ] Resize the window, down to its minimum size and up to a larger size + than the initial window. Verify the child widget layout remains as + sensible sensible as possible for the window size. +[ ] Verify the filesystem traversal functionality - select your home + directory from the Path combo box. The list of displayed files + should be updated to match, and the User View toolbutton (top- + right corner) should no longer be selected. +[ ] Click on the Parent toolbutton (arrow icon, just right of the Path + combo box), and verify this traverses to the parent directory). + Check that the Path combo box is updated each time to show the new + full path. Repeat clicking it until the root directory is reached. +[ ] Click on the Path combo box, all directories visited should be in + the list. +[ ] Select your home directory from the Path combo box again. Now walk + to the root of the filesystem by entering the parent directory (..) + into the File text box. + +[ ] Click on the User Views toolbutton (top right corner). Enter the + name "DynamicQA" into the File text box, and click the Save button. +[ ] Open the Save Views dialog once more. Enter the name "DynamicQA" + into the File text box, and click the Save button. Verify that a + warning message is displayed saying that file exists; press Cancel. +[ ] Check the "Preserve hostname in View" box. Enter the view name + "LiteralQA" in the file text box, and press the Save button. +[ ] Create a new tab - click the New Tab tool button on the main window, + then enter the Label "Dynamic QA", ensure Live Host radio button is + enabled, and press the OK button. Click on the DynamicQA Tab (if it + isn't already visible), and Click the Open View tool button. Select + the remote host name entered earlier on, select our new "DynamicQA" + view from the list of views, and press OK. Verify that the view just + created shows metrics from the *remote* host. +[ ] Create a new tab - click the New Tab tool button on the main window, + then enter the Label "Literal QA", ensure Live Host radio button is + enabled, and press the OK button. Click on the LiteralQA Tab (if it + isn't already visible), and Click the Open View tool button. Select + the remote host name entered earlier on, select our new "LiteralQA" + view from the list of views, and press OK. Verify that the view just + created shows metrics from the *local* host. + +Archive Open + +[ ] Click on the Archive Tab. Click on the Open View toolbutton. Click + on the Archive push button, and open up pcp-gui/qa/archives/viewqa1, + pcp-gui/qa/archives/viewqa2 and pcp-gui/qa/archives/viewqa3. +[ ] Verify that the hosts "edge" and "leaf" are displayed alongside each + archive in the Archive combo box, and that "edge" is highlighted. + Verify also that the Time Axis in the main window has been updated + to display a timeframe in September 2007, EST. +[ ] Navigate to pcp-gui/qa/views/NoSuchHost, and press the Open button. + Verify that an error dialog is displayed regarding no.such.host, and + that the main pmchart window is unchanged. +[ ] Click on the User Views tool button, and open up the DynamicQA view. + Verify that this view is successfully opened for the host "edge". + +Archive Save + +[ ] Bring up the Save View dialog, enter "DynamicQA2" into the File text + box, and press the Save button. +[ ] Bring up the Save View dialog, check the "Preserve hostname in View" + box, enter the view name "LiteralQA2" in the file text box, and press + the Save button. +[ ] Bring up the Save View dialog, click on the User Views toolbutton + (near top right corner). Enter "LiteralQA2" into the File text box, + and press the Save button. +[ ] Quit out of pmchart. + Run: $ pmchart -c LiteralQA2 -a pcp-gui/qa/archives/viewqa1 + Verify that this fails and no changes are made to the pmchart window. + Run: $ pcp-gui -c LiteralQA2 -a pcp-gui/qa/archives/viewqa2 + Verify that this successfully opens up an archive view. + Run: $ pmchart -c DynamicQA2 -h <remote> + Verify that this succeeds and opens up a live view. + Run: $ pmchart -c DynamicQA2 -a pcp-gui/qa/archives/viewqa1 + Verify that this successfully opens up an archive view. + Run: $ pmchart -c DynamicQA2 -a pcp-gui/qa/archives/viewqa2 + Verify that this successfully opens up an archive view. |