developer.tests

From autoplot.org

Jump to: navigation, search

Contents

  1. Introduction / Purpose
  2. Tests
    1. run through bookmarks
    2. context overview
  3. Proposed New Tests
    1. Multi-panel plot
    2. Jython Data Source Filter
    3. Extremes
    4. TimeSeriesBrowse
    5. Undo/Redo between timeseries and non-timeseries, components and no components
    6. PngWalk Stress Test 1
    7. Mouse Zoom Pan
    8. Copy Plot Elements Down
    9. Operations Cache is Properly Reset
    10. Operations Cache does not properly update
    11. JythonDataSource TSB is not properly set
    12. filters chain gui
  4. Time Series Browse
    1. TimeSeriesBrowse without time axis
    2. Two TimeSeriesBrowse without time axis, attached to plot.context
  5. Things that can't be tested with Jemmy tests
    1. Launch with URI
    2. Launch with URI into PNGWalk
  6. Jan 2015 tests
    1. FFTFilter
    2. Hanning

1. Introduction / Purpose

This is a series of human driven tests that test things that are not easy to test in automatic testing. The order should be preserved in case numbers are used to identify tests in bug reports. Also in bug reports, the names of the tests, e.g. "run through bookmarks", should be used in case order is changed.

Note that some of these have been converted into "Jemmy scripts," which are nightly tests that simulate human interaction by manufacturing fake GUI events. See http://jfaden.net:8080/hudson/job/autoplot-test100/ and in the source .../VATesting/src/org/autoplot/test/.

2. Tests

2.1. run through bookmarks

  • start autoplot with fresh session
  • select the first bookmark, Demos->Demo 1
  • select each bookmark after it, up to "browse a directory tree"
  • for "browse a directory tree," navigate through the tree to a dataset
  • for demo 12, fits file, verify that the data tab starts up and the slice index is adjustable.

2.2. context overview

  • reset and plot bookmarks->demos->demo 5
  • zoom in on x and y with box zoom.
  • right-click on plot, "add plot"-> "context overview"
  • a plot with its original ranges should be displayed below

3. Proposed New Tests

New tests should be submitted here for review.

3.1. Multi-panel plot

This more advanced example shows how to create a 2x3 stack of 6 plots to look at the components of a fits file.

  • add 2x3 empty plots using layout tab, plots context menu, Canvas->AddPlots
  • Edit DOM, plotElements[*].dataSourceFilterId='data_1' so they all plot the same data
  • Edit DOM, plotElements[*].component slice0(i) to plot each element
  • layout tab, plots context menu, Canvas->Add Hidden Plot to bind all the plot X and Y axes together
  • demo XY binding, all Z axes should be automatically zoomed to just their slice.

3.2. Jython Data Source Filter

3.3. Extremes

Ben found in his testing a bug where resetting the zoom after zooming way in appeared to get in a deadlock.

I was not able to get it to hang on Linux.

3.4. TimeSeriesBrowse

https://sourceforge.net/tracker/?func=detail&aid=3484946&group_id=199733&atid=970682

3.5. Undo/Redo between timeseries and non-timeseries, components and no components

  • repeat 5 times:
    • demo 4
    • demo 5
  • I was getting a case where it wouldn't flip, as if some event is getting lost.
  • File->Edit->Undo... to go back 6 states.
  • Redo is insensitive (which it shouldn't be), and I get inconvertable xaxis units.

3.6. PngWalk Stress Test 1

  • Start up the pngwalk tool pointed at *.png (or local copy of)
  • Options->Thumbnail Size->50 px
  • grid view
  • scroll down, scroll down, scroll down
  • maximize

I was able to get this to essentially hang, because all the threads where locked.

3.7. Mouse Zoom Pan

This was introduced before moving isotropic code down into dasCore.

  • Start up empty autoplot
  • zoom in with mouse wheel
  • pan with mouse wheel
  • turn on isotropic
  • wheel to zoom in on xaxis
  • wheel to zoom in on yaxis
  • wheel to zoom in on plot.

3.8. Copy Plot Elements Down

This was introduced when the development branch showed a new bug.

  • vap+inline:ripplesVectorTimeSeries(200)&RENDER_TYPE=hugeScatter
  • set render type to hugeScatter (this is a bug, shouldn't have to do this)
  • copy plot elements down.
  • new plot should be hugeScatter. Bug was that it was scatter.

3.9. Operations Cache is Properly Reset

To my horror I discovered the operations cache was not being properly reset. This was in the development branch, and the v2012a_12 actually shows a different bug.

  • vap+inline:ripplesTimeSeries(2000)
  • set the operations to "|reducex('360 s')"
  • vap+inline:ripplesSpectrogramTimeSeries(2000)
  • set the operations to "|reducex('360 s')"

3.10. Operations Cache does not properly update

Bill at the RPWS group pointed out a procedure where the operations cache didn't update properly.

This was corrected in v2012b_6 by temporarily disabling the cache. This is bug https://sourceforge.net/tracker/?func=detail&aid=3573900&group_id=199733&atid=970682

3.11. JythonDataSource TSB is not properly set

Reiner was frustrated by this. http://sourceforge.net/tracker/?func=detail&aid=3576060&group_id=199733&atid=970682

3.12. filters chain gui

  • plot vap+inline:ripples(100,110)+randn(100)/50+outerProduct(ones(100),randn(110)/50)
  • data tab, Data Post Processing panel, plus button (+), slice0
  • Slice Dimension on the filter gui should be set to dim0 or dim1. (It's not as of r15782)
  • mouse wheel on "Operations" text field, cursor on (0) should update slice dimension GUI.
  • resetting slice index to 10 should update "Operations" text field.

4. Time Series Browse

4.1. TimeSeriesBrowse without time axis

Tested on v2015a_8

4.2. Two TimeSeriesBrowse without time axis, attached to plot.context

  • plot http://autoplot.org/data/jyds/tsbNonTimeAxis.jyds?timerange=2000-01-03
  • tear of the axis tab
  • enable the "legend label" and set the value to "%{PLOT_CONTEXT}". Note there's a right-click context menu containing this insertion.
  • on the axis tab, click on the scan next button (>>) to advance to the next interval.
  • right-click on the plot, "add plot"->"copy plot elements down"
  • tear off the layout tab
  • in the bindings, delete the two bindings between the dom.plot[:].context property and the dom.timerange.
  • click on the lower plot to focus.
  • on the axis tab, click on the scan previous button (<<) to advance to the previous interval.
  • note the lower plot advances but the top one does not.

5. Things that can't be tested with Jemmy tests

5.1. Launch with URI

5.2. Launch with URI into PNGWalk

6. Jan 2015 tests

6.1. FFTFilter

6.2. Hanning

Personal tools