|
|
# DSI-test-machine
|
|
|
|
|
|
The testing framework is installed on this machine so that anyone that has access to it can run the MathJax tests on Mac, Windows and Linux. The instructions below together with the QA documentation should allow to run the tests and maintain this machine up-to-date.
|
|
|
|
|
|
## QA Documentation
|
|
|
|
|
|
* http://devel.mathjax.org/testing/web/docs/html/installation.html
|
|
|
* http://devel.mathjax.org/testing/web/docs/html/qa-web-interface.html
|
|
|
* http://devel.mathjax.org/testing/web/docs/html/qa-command-line.html
|
|
|
|
|
|
## Remote Control
|
|
|
|
|
|
1. OS selection
|
|
|
* Do not shut down MAC OSX or Windows, or you won't be able to restart the machine again !
|
|
|
* You can switch from MAC OSX to Windows by double clicking on the duck icon "Switch OS" on the desktop and selecting "run" at the top of the program.
|
|
|
* To boot back into MAC OSX, first shutdown the Linux machine if it is running. Then go to the bottom left task bar and click the arrow (to show hidden icons). Then right click on the grey square and select restart into MAC OSX.
|
|
|
|
|
|
2. Keyboard
|
|
|
* MAC OSX: In the top bar, click on the icon on the left of the sound icon and select "Show KeyBoard Viewer".
|
|
|
* Windows: In the bottom bar, click on the keyboard icon.
|
|
|
* Ubuntu virtual machine: click on the "On Board" icon in the left bar.
|
|
|
* You can use "Options, Send Special Key Combinations". For some reason the keyboard is sometimes not synchronized. Using this menu to enter "Alt + Shift" seems to solve the problem.
|
|
|
|
|
|
3. Image
|
|
|
* In "Options, Color Quality" you can choose "fastest speed".
|
|
|
* You can move in fullscreen mode and in "Options, Resolution Settings" you can choose a resolution that fits inside your own screen.
|
|
|
|
|
|
## Running tests on the MAC OSX partition
|
|
|
|
|
|
1. You should have two terminals with the task handler and Selenium servers running. If that's not already the case,
|
|
|
* Open two terminals at ~/mathjax-project/MathJax-test/
|
|
|
* Run the taskHandler in the first one, with the command "make runTaskHandler".
|
|
|
* Run the Selenium server in the second one with the command "make runSeleniumServer".
|
|
|
* You can interrupt the servers with Ctrl + C (maybe via the virtual keyboard) and run them again at any time with the commands above.
|
|
|
|
|
|
2. Open the page "rm160.local/MathJax-test/web/taskViewer.php" in a browser to access the QA Web interface. Please refer to the MathJax-test documentation for a detailed description. Here is a basic example:
|
|
|
* Click on "Task Editor"
|
|
|
* In "Fast configuration, create a single task", choose "firefox-mac" and click on "Create a new task" at the bottom.
|
|
|
* You should be redirected to the task viewer. Click on the green start button in the "Action" column to start the task created.
|
|
|
* View the results via the QA Web interface
|
|
|
|
|
|
3. Results are located in ~/mathjax-project/MathJax-test/web/results/
|
|
|
You can send them to our public server using scp (not tested yet!).
|
|
|
|
|
|
## Running tests on the Windows partition
|
|
|
|
|
|
1. You should have the task handler and the Selenium server(s) running:
|
|
|
* Launch the virtual Linux machine by clicking on the cube icon in the bottom bar. Then open a terminal in that virtual machine, go in "~/MathJax-test/" and run the Selenium server with "make runSeleniumServer". To switch back to the Windows machine, move the mouse at the bottom of the screen and in the center, wait until the virtual machine bar appear and click on "Minimize Window".
|
|
|
* Open Cygwin (icon in the bottom bar or the desktop), move in "MathJax-test/" run the task handler with the command "make runTaskHandler".
|
|
|
* Run the Selenium server by clicking on the corresponding icon on the desktop.
|
|
|
|
|
|
2. Be sure that Easy PHP is running (icon E on the bottom right). Open the page "127.0.0.1/MathJax-test/web/taskViewer.php" in a browser to access the QA Web interface. Please refer to the MathJax-test documentation for a detailed description. Here is a basic example:
|
|
|
* Click on "Task Editor"
|
|
|
* In "Fast configuration, create multiple tasks", click on "Create or Update multiple tasks" at the bottom.
|
|
|
* You should be redirected to the task viewer. Check the task "firefox-linux" and "firefox-windows" in the the "Action" column and click on "Run Selected tasks" below the table. If the "firefox-linux" fails to run, then maybe the default IP address is incorrect. Verify it with "ifconfig" in the Ubuntu machine and edit the corresponding task property.
|
|
|
* View the results via the QA Web interface
|
|
|
|
|
|
3. Move in Cygwin. Results are located in "~/MathJax-test/web/results/".
|
|
|
You can send them to our public server using scp (not tested yet!).
|
|
|
|
|
|
## Maintenance
|
|
|
Some maintenance operations have to be done more or less regularly. Below a UNIX terminal means Cygwin on Windows.
|
|
|
|
|
|
1. Updating the testing framework.
|
|
|
This is not really needed on Ubuntu, maybe just doing "git pull; cp default.cfg custom.cfg" is enough.
|
|
|
* Stop the task handler if it is running.
|
|
|
* Open a UNIX terminal and go in MathJax-test/
|
|
|
* Backup the default configuration: "cp default.cfg default-.cfg"
|
|
|
* Get the update: "git pull"
|
|
|
* Verify whether the format of the configuration file has changed: "diff default.cfg default-.cfg". If so, then you will have to add/remove configuration options in custom.cfg accordingly. Hopefully, this format won't change too often.
|
|
|
* "make config"
|
|
|
|
|
|
2. Updating the selenium driver / mathjax branches (not needed on Ubuntu)
|
|
|
* Open a UNIX terminal and go in MathJax-test/
|
|
|
* MacOS: "sudo make updateSeleniumDriver", Windows: "make updateSeleniumDriver"
|
|
|
* "make updateMathJaxBranches"
|
|
|
|
|
|
3. Updating the Selenium server(s)
|
|
|
* Stop the Selenium server(s) if they are running.
|
|
|
* Open a terminal and go in MathJax-test/
|
|
|
* "make updateSeleniumServer" (maybe specifying the VERSION if the one in custom.cfg is not up-to-date)
|
|
|
|
|
|
4. Updating Browsers, Fonts, MathPlayer, other Webdriver's components etc |