Skip to content
This repository has been archived by the owner on Mar 17, 2021. It is now read-only.

Jul20 manual tests - Windows10 py3qt5 #1134

Closed
cpascual opened this issue Aug 3, 2020 · 8 comments
Closed

Jul20 manual tests - Windows10 py3qt5 #1134

cpascual opened this issue Aug 3, 2020 · 8 comments
Labels
tests windows this issue affects specifically to windows systems
Milestone

Comments

@cpascual
Copy link
Member

cpascual commented Aug 3, 2020

This issue is created for reporting the results of manual tests for Jul20 release on debian10 with dependencies installed via conda.

Using a fresh Windows10 machine provisioned with vagrant, using the following Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  config.vm.box = "chingc/win10"
  config.vm.box_version = "10.20171019.2"
  config.vm.guest = :windows
  config.vm.communicator = :winrm
  config.winrm.username = "IEUser"
  config.winrm.password = "Passw0rd!"
  config.winrm.timeout = 180

  config.ssh.username = "IEUser"
  config.ssh.password = "Passw0rd!"
  config.ssh.extra_args = "powershell"


  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.gui = true
    # Customize the amount of memory on the VM
    vb.memory = "2048"
    # Give easy name (without timestamp) for the VM
    vb.name = "taurus-vagrant"
  end

  config.vm.provision "shell", inline: <<-SHELL
      # Install SSL as a workaround for conda bug https://github.com/conda/conda/issues/6064
      echo "Installing SSL 1.1.1c"
      # if the following fails, it means they updated 1.1.1c to another version. Check which
      # one is available at https://slproweb.com/products/Win32OpenSSL.html
      wget "https://slproweb.com/download/Win64OpenSSL-1_1_1c.msi" -OutFile "$env:TMP\SSL.msi"
      msiexec /quiet /i "$env:TMP\SSL.msi"
      echo "Downloading conda"
      $condainstallerurl = "https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe"
      $condainstaller = "$env:TMP\\Miniconda3-latest-Windows-x86_64.exe"
      wget $condainstallerurl -OutFile $condainstaller
      echo "Installing conda"
      $condainstallerargs  = "/InstallationType=AllUsers /RegisterPython=1 /S /D=C:\\Miniconda"
      # $condainstaller = "C:\\vagrant\\Miniconda3-latest-Windows-x86_64.exe"
      Start-Process $condainstaller $condainstallerargs -Wait
      $env:PATH += ";C:\\Miniconda\\Scripts"
      echo "END OF PROVISION"
  SHELL
end

... and then creating the environment with conda (using the anaconda prompt):

conda config --add channels conda-forge
conda config --add channels tango-controls
conda create -n py3qt5 python=3 pyqt=5 pytango lxml future guidata guiqwt ipython pillow pint ply pyqtgraph pythonqwt numpy scipy pymca click
conda activate py3qt5
pip install https://ci.appveyor.com/api/buildjobs/d5hd5yhe1wtmhecy/artifacts/dist%2Ftaurus-4.7.0a0.tar.gz
pip install taurus_pyqtgraph
@cpascual cpascual mentioned this issue Aug 3, 2020
3 tasks
@cpascual
Copy link
Member Author

cpascual commented Aug 3, 2020

Installation

For tips on how to prepare an environment for installation, see
http://taurus-scada.org/users/getting_started.html

  • Install Taurus from the an artifact of Appveyor (tgz or msi): pip install <tarball_artifact_URL>
    • --> pip install https://ci.appveyor.com/api/buildjobs/d5hd5yhe1wtmhecy/artifacts/dist%2Ftaurus-4.7.0a0.tar.gz
  • Install taurus-pyqtgraph from pypi:
    • --> pip install taurus_pyqtgraph
  • Check installed version of taurus: taurus --version
    • -->version 4.7.0-alpha
  • Check installed version of taurus_pyqtgraph: python -c "import taurus_pyqtgraph; print(taurus_pyqtgraph.__version__)"
    • -->0.3.5

General Issues

Tango event issue

- there is some problem with the polling/tango events. when a client connects to a tango attribute I do not see I start getting "Timeout Error... activating polling" messages every 10s:

(py3qt5) C:\Users\IEUser>taurus form sys/tg_test/1/double_scalar
Dummy-1        INFO     2020-08-03 11:22:01,274 192.168.1.16:10000.sys/tg_test/1.double_scalar: Activating polling. Reason: API_EventTimeout
Dummy-1        INFO     2020-08-03 11:22:11,321 192.168.1.16:10000.sys/tg_test
(...) And so on... repeated every 10s until I close the client

Update: The event issue is now fixed: the problem was with a mismatch in the definition of the TANGO_HOST between the windows machine (in which I had used an IP-based TANGO_HOST) and the machine running the TangoTest (which used name within alba's domain).
TIP: in order to "fool" the windows machine into properly resolving the TANGO_HOST name (pt168.cells.es:1000) (while being run on a virtualbox in a laptop outside ALBA's network), I edited the hosts file in the windows machine

Python crash on exit

Independently of the above, we consistently see the already known problem of Tango crashing when disconnecting.
Note that this may be already fixed in cpptango >=9.3.4, but it is not yet available in conda for windows

@cpascual
Copy link
Member Author

cpascual commented Aug 3, 2020

taurus demo

  • Execute taurus demo
  • Test all of the buttons of the taurus demo. All demos should launch correctly and without raising exceptions
  • For TaurusLabel, check foreground role, the background role, the prefix, the suffix, the formatter, etc.
  • For TaurusLabel, in order to test the background role=value, you can use the following attribute: eval:["FAULT","ON","OFF","ALARM"][randint(4)]
  • For TaurusLabel, use a model with fragment (e.g., sys/tg_test/1/ampli#rvalue.magnitude, eval:Q('1mm')#rvalue.units, eval:10*arange(9)#rvalue[3:4])
  • For LCD: Test the foreground roles and the background role
  • For Led: Test the colors, ON color, Off color. (hint: you can use eval:False as a model for testing)

@cpascual cpascual added tests windows this issue affects specifically to windows systems labels Aug 4, 2020
@cpascual
Copy link
Member Author

cpascual commented Aug 4, 2020

taurus image

  • Execute taurus image --demo
  • try to resize the image and pan it using the mouse.
  • check the cross section tools, the color maps, etc.
  • replace the image using the "Change Taurus Model" button (choose , eg, sys/tg_test/1/double_image_ro)

taurus trend2d

  • Execute: taurus --polling-period 333 trend2d --demo
  • Execute: taurus --polling-period 333 trend2d -xt --demo (known to fail in 4.1.0)
  • Execute: taurus --polling-period 333 trend2d -xn --demo
  • Execute: taurus --polling-period 333 trend2d -xe --demo
  • Execute: taurus --polling-period 333 trend2d --demo -b 10
    (deactivate auto-scale bottom axis and see that the plot is limited to the
    last 10 values )
  • Test auto-scroll and auto-scale tools (from context menu)

@cpascual
Copy link
Member Author

cpascual commented Aug 4, 2020

taurus designer

  • Execute taurus designer. Check that the taurus widgets are present in the catalog
  • Create an empty widget and drag various taurus widgets to it (they should be correctly dropped)

taurus device

  • Execute: taurus device sys/tg_test/1
  • Check that it opens correctly and that the attrs and commands are populated
  • Execute SwitchStates command (see that the state label changes to FAULT and its color to red)
    and then execute the Init command and the label returns to RUNNING (blue)

taurus panel

  • Execute: taurus panel
  • Navigate in the tree and select the TangoTest device (the attr an command panels should be populated)
  • Execute SwitchStates command to put it in FAULT, close the GUI and reopen it. Repeat previous point again.

taurus form

(basically try all features described in the user's guide

  • Launch taurus form sys/tg_test/1/short_scalar
  • go to label context menu, change the configuration and set range to (-1000, 1000), alarm to (-500, 500) and unit to mm. Close the form and relaunch. The new units should be used. Change the the write value and check that the orange color is used when in warning values, and that the write widget does not allow to write values out of range.
  • Test to drag and drop of this attribute onto the same form many times (4 times)
    (If it crashes, you are seeing bug TaurusForm crashes on windows if self-droping a model #96)
    • --> CRASHES (as expected)
  • Open "Modify Contents" and add sys/tg_test/1 and all of its attributes. They should all show ok
  • Test the compact mode (switch to compact, noncompact; edit when in compact mode, ...) for a single
    value (from the context menu of a value label)
  • Test compact mode for all values (from the context menu of the whole form)
  • Test changing labels
  • Test changing the formatter for a single value (from the context menu of a value label) (use, e.g. >>{}<<). Do this in compact and non compact modes.
  • Test changing the formatter for all values (from the context menu of the whole form)
  • Test re-order of values with "Modify contents"
  • Test the different "show" buttons (tables, images, spectra)
  • Change the write widget of double_scalar by a TaurusWheelEdit
  • Change other read and write widgets
  • After the previous changes, you should have a quite "custom" form. Use "Save current Settings" and save
    to "tf.pck". Close the form and reopen it with taurus form --config tf.pck
  • ... other features from user's guide

@cpascual
Copy link
Member Author

cpascual commented Aug 4, 2020

taurus gui

(basically try all features described in the user's guide

  • Launch taurus gui example01
  • Test (un)lock view
  • Create a new panel (a TaurusForm) and drag and drop several models from other forms
  • Move panels around (with view unlocked!) and hide ("close") and re-show them
  • Test saving and restoring perspectives
  • Test drag&drop from a form to a trend
  • Test drag&drop from a form to a plot
  • Test clicking on "example01 synoptic" elements and check that the panels raised
  • Test that selecting a panel changes the selection on "example01 synoptic"
  • Test the actions in the menus
  • Create a new TaurusGui (call it foogui) with taurus newgui (follow the wizard)
  • edit the just created gui by relaunching the wizard (taurus newgui) and selecting the same directory
  • Install foogui with pip (using a virtualenv may be a good idea)
  • launch foogui using the script that has been installed
  • ... other features from user's guide

@cpascual
Copy link
Member Author

cpascual commented Aug 4, 2020

taurus config

  • Open an ini file with taurus config and check that it is loaded correctly.

taurus icons catalog

  • Launch taurus icons. Several tabs with an array of icons should be displayed
  • Check that tooltips give info on each icon
  • Click on some icons and check that they give a bigger view of the icon and more info.

@cpascual
Copy link
Member Author

cpascual commented Aug 4, 2020

taurus_pyqtgraph plot (needs taurus_pyqtgraph installed)

  • Execute taurus plot --ls-alt (check that it lists "qwt5" and "tpg")
  • Execute: taurus plot "eval:Q(rand(333),'mm')" sys/tg_test/1/wave
    (if using py2 and Qt4, you may need to use --use-alt=tpg to select the tpg implementation)
  • Check zoom / panning (drag with right / left button), and Use (A) button to auto-range
  • Test inspector tool
  • Move curves between axes by using the plot configuration option in context menu
  • With curves in Y1 and Y2, test zooms and panning on separate axes (drag with right/left on the axis)
  • Test plot configuration dialog
  • Test changing curve titles (NOT YET READY: See taurus tpg plot: curve names in legend cannot be changed taurus_pyqtgraph#31)
  • Open the "Model selection" dialog and add/remove/reorder/edit models. Try adding models both for X and Y
  • NOT YET READY Test Save & restore config (change curve properties, zoom, etc & check that everything is restored)

taurus_pyqtgraph trend (needs taurus_pyqtgraph installed)

  • Execute taurus trend --ls-alt (check that it lists "qwt5" and "tpg")
  • Execute: taurus trend "eval:Q(rand(),'mm')" sys/tg_test/1/ampli
    (if using py2 and Qt4, you may need to use --use-alt=tpg to select the tpg implementation)
  • Execute: taurus trend -xn "eval:Q(rand(),'mm')" sys/tg_test/1/ampli
    (if using py2 and Qt4, you may need to use --use-alt=tpg to select the tpg implementation)
    • THIS IS NOT YET SUPPORTED: You should get a "X mode "n" not yet supported" message
  • Check zoom / panning (drag with right / left button), and Use (A) button to auto-range
  • Test inspector tool
  • Move curves between axes by using the plot configuration option in context menu
  • With curves in Y1 and Y2, test zooms and panning on separate axes (drag with right/left on the axis)
  • Test plot configuration dialog
  • Test Forced reading tool
  • Test Fixed Range Scale tool
  • Test autoscale x mode
  • NOT YET READY Test Save & restore config (change curve properties, zoom, etc & check that everything is restored)

@cpascual
Copy link
Member Author

cpascual commented Aug 4, 2020

Done. A few non-RC bugs were found (reported in the issue tracker).
The most serious of them is #709 (crashes of tango during exit). While this is certainly annoying , it does not seem to affect the GUIs while running.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
tests windows this issue affects specifically to windows systems
Projects
None yet
Development

No branches or pull requests

1 participant