Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Equinox p2 tests"

(Automatic updates)
Line 9: Line 9:
 
* Susan, Windows XP, UI group C
 
* Susan, Windows XP, UI group C
 
* Tim Mok, ??, UI group A
 
* Tim Mok, ??, UI group A
 
=== Setup ===
 
* Use the repository available at http://update.eclipse.org/testUpdates/.
 
* Some of the tests require an SDK later than what you've already provisioned.  If you don't have one available, you can generate a local metadata repository for the SDK that you are using, and hack the version number of the SDK root IU to make it look later.
 
 
Throughout the scenarios, SDK-v1 will refer to the oldest version of the two, and SDK-v2 to the newest one.
 
  
 
=== UI Tests ===
 
=== UI Tests ===
There are several different preferences/modes that drive the UI, so we have assigned user groups to run with different preference settings.  Some of the tests will have you switch some of the toggles or prefs, but this is the mode you should run otherwise.
+
There are several different preferences/modes that drive the UI, so we have assigned user groups to run with different preference settings.  Some of the tests will have you switch some of the toggles or prefs, but this is the mode you should run otherwise.  Some of the tests are sequential, to keep setup to a minimum.  If one test leaves you with a wizard open, leave it open and read the next test before closing it.  The next test might involve that same wizard.
  
 
*User Group A -  
 
*User Group A -  
Line 39: Line 33:
 
==== Setup ====
 
==== Setup ====
 
* Start with a clean SDK  
 
* Start with a clean SDK  
 +
* Some of the tests require an SDK later than what you've already provisioned.  If you don't have one available, you can generate a local metadata repository for the SDK that you are using, and hack the version number of the SDK root IU to make it look later.
 +
* Use a fresh workspace so that dialog settings, prefs, and remembered licenses start with the defaults
 
* Window>Preferences>Install/Update>Automatic Updates
 
* Window>Preferences>Install/Update>Automatic Updates
 
* Set the preferences according to your user group
 
* Set the preferences according to your user group
Line 73: Line 69:
 
* Click the button and review choices in the wizard
 
* Click the button and review choices in the wizard
 
* Unchecking the box in the wizard should show an error
 
* Unchecking the box in the wizard should show an error
* Check box again and click "Install"
+
* Check box again.  You should have a gray finish button because releng tools has a license
 +
* Click "Next" and accep the license
 +
* Click "Finish"
 
* Accept the restart.
 
* Accept the restart.
 
* Notice the presence of the releng tools (should be listed in the installed software page)
 
* Notice the presence of the releng tools (should be listed in the installed software page)
Line 97: Line 95:
 
** Click "Check for Updates"
 
** Click "Check for Updates"
 
** You should see the new SDK offered as an update.   
 
** You should see the new SDK offered as an update.   
 +
** You shouldn't have to accept a license (assuming the EPL is the same for the updated SDK as it was for releng tools)
 
** Finish the wizard, accept the restart when done
 
** Finish the wizard, accept the restart when done
 
** Verify that the Installed Software page now shows the new version
 
** Verify that the Installed Software page now shows the new version
Line 106: Line 105:
 
* In the installed software list, verify that the original SDK version is there
 
* In the installed software list, verify that the original SDK version is there
  
==== Automatic updates ====
+
==== Automatic updates (part 1) ====
 
* After restarting from the previous test...
 
* After restarting from the previous test...
 
** User Group A - you should get the popup telling you that software updates were found (for the upgrade you just reverted from).  Click to close the popup so that you get reminded again later.
 
** User Group A - you should get the popup telling you that software updates were found (for the upgrade you just reverted from).  Click to close the popup so that you get reminded again later.
** User Group B - you should a popup at the specified time telling you the update was downloaded
+
** User Group B - you should a popup at the specified time telling you the update was downloaded.  Close the popup.
 
** User Group C = you should not get any automatic update notifications
 
** User Group C = you should not get any automatic update notifications
  
==== Automatic updates ====
+
==== Automatic updates (part 2) User Group A & B ====
* Start the provisioned SDK
+
* User group A & B should see an affordance in the status bar for the updates that are available(It appears
* Go to the Automatic Update preferences and enable auto update on startup
+
once you've been reminded about updates).
** Make sure you are on the end user UI pref page, not the old update pref pageThey are similar.  The correct pref page has a "When updates are found" group at the bottom.
+
* Click on the status bar
* Ensure you are connected to a repo that has a newer version of the SDK, userUI, or releng tools
+
* You should see the update wizard containing the SDK update
* Exit the provisioned SDK and restart
+
* Look for popup notifying you of updates
+
* Click on popup to launch the update wizard
+
* Update and verify as usual
+
  
==== Automatic update with remind option ====
+
==== Automatic updates (part 2) User Group C ====
* Start the provisioned SDK
+
* Go to the Automatic Update preferences and enable auto update on startup
+
** Make sure you are on the end user UI pref page, not the old update pref page.  They are similar.  The correct pref page has a "When updates are found" group at the bottom.
+
** Enable the "When updates are found" pref to remind you every 5 minutes
+
* Ensure you are connected to a repo that has a newer version of the SDK, userUI, or releng tools
+
* Exit the provisioned SDK and restart
+
* Look for popup notifying you of updates
+
** Popup should say it will remind you in 5 minutes
+
** Close popup (choose X in upper right corner)
+
** Find some other work to do
+
** Popup should reappear in 5 minutes
+
** Click on popup and you'll see the update wizard
+
 
+
==== Automatic update via status bar ====
+
* Start the provisioned SDK
+
* Go to the Automatic Update preferences and enable auto update on startup
+
** Make sure you are on the end user UI pref page, not the old update pref page.  They are similar.  The correct pref page has a "When updates are found" group at the bottom.
+
** Enable the "When updates are found" pref to remind you every 5 minutes
+
* Ensure you are connected to a repo that has a newer version of the SDK, userUI, or releng tools
+
* Exit the provisioned SDK and restart
+
* Look for popup notifying you of updates
+
** Popup should say it will remind you in 5 minutes
+
** Close popup (choose X in upper right corner)
+
** Now click on update icon in status bar, you'll see the update wizard
+
** Finish the update
+
** The popup shouldn't come back and remind you since you did the update.
+
 
+
==== Automatic update on daily schedule with automatic download (try this just before lunch) ====
+
* Start the provisioned SDK
+
* Go to the Automatic Update preferences and enable auto update on startup
+
** Make sure you are on the end user UI pref page, not the old update pref page.  They are similar.  The correct pref page has a "When updates are found" group at the bottom.
+
** Choose every day and a time which is the next hour (while you're eating)
+
** Enable the "Download new updates automatically option"
+
* Ensure you are connected to a repo that has a newer version of the SDK, userUI, or releng tools
+
* Exit the provisioned SDK and restart
+
* Go to lunch
+
* Popup should appear notifying you of updates on the hour you specified
+
** The popup should explain that the updates have already been downloaded
+
** You should notice that the update is faster since the updates were downloaded already
+
 
+
==== Update description in update wizard ====
+
* Start the provisioned SDK
+
* Help>Software Updates (Incubation)...
+
* You must be connected to a repo with an updated SDK, end user UI
+
 
* Go to Installed features page
 
* Go to Installed features page
** Click "Check for Updates"
+
* Click "Check for Updates"
** You should see the new SDK and end user UI offered as an update
+
* You should get an update wizard showing the SDK update
** Select each one and you should see the update description in the details area of the wizard
+
** If you uncheck either one, you should see a progress bar while the validity is computed
+
 
+
==== License page behavior when no licenses defined ====
+
* Start the provisioned SDK
+
* Help>Software Updates (Incubation)...
+
* You must be connected to a repo with an updated SDK, end user UI
+
* Go to Installed features page
+
** Click "Check for Updates"
+
** You should see the new SDK and end user UI offered as an update
+
** You should not see a license page in the wizard since the metadata has no license
+
 
+
==== IU properties in property pages and install wizard ====
+
You will need to hack some metadata into your local repo.  Choose a group feature IU (such as RCP feature) and add some properties to the content.xml.
+
 
+
      <property name='equinox.p2.name' value='Eclipse RCP'/>
+
        <property name='equinox.p2.license' value='This is the coolest license ever.'/>
+
        <property name='equinox.p2.license.id' value='Cool'/>
+
        <property name='equinox.p2.contact' value='hacker@eclipse.org'/>
+
        <property name='equinox.p2.provider' value='Eclipse.org'/>
+
        <property name='equinox.p2.doc.url' value='http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_4.html'/>
+
        <property name='equinox.p2.description' value='This software rocks my world.'/>
+
        <property name='equinox.p2.copyright' value='Copyright 2008. All rights reserved.'/>
+
 
+
* Start the provisioned SDK
+
* Go to Available features page
+
* Click on the RCP feature IU
+
** Press properties and you should see property pages with your information
+
** The doc link should open a browser to the doc URL
+
** Close the property page
+
* Now click "Install"
+
** Selecting the IU in the wizard should show the description at the bottom
+
** There should be a license page that you have to visit before installing
+
 
+
==== Remembering accepted licenses ====
+
You will need to hack some metadata.  Generate metadata for an SDK, giving it a root IU version that is later than what you have provisioned (so that there will be an update for it).
+
 
+
Then hack in a license id and license text for the this IU.
+
        <property name='equinox.p2.license.id' value='Cool'/>
+
        <property name='equinox.p2.license' value='This is the coolest license ever.'/>
+
 
+
* Start the provisioned SDK
+
* Help>Software Updates (Incubation)...
+
* Go to Installed features page
+
** Click "Check for Updates"
+
** You should see the new SDK offered as an update. 
+
** You should not see a license page in the wizard since the license id was remembered from before.
+
 
+
==== Encountering new licenses ====
+
Go back to your metadata and change the license id for the SDK root IU.
+
        <property name='equinox.p2.license.id' value='Cooler'/>
+
        <property name='equinox.p2.license' value='This is the coolest license ever.'/>
+
 
+
* Start the provisioned SDK
+
* Help>Software Updates (Incubation)...
+
* Go to Installed features page
+
** Click "Check for Updates"
+
** You should see the new SDK offered as an update. 
+
** There should be a license page that you have to visit before installing since the license id changed
+
  
 +
==== Update (part 3), all users ====
 +
* You should be looking at an update wizard with the SDK update
 +
* Select the IU and you should see the update description in the details area of the wizard
 +
* If you uncheck the IU, you should get an error message
 +
* Check it again, and you'll see a progress bar while the validity is being computed
 +
* You should not have to visit the license page since you have already done this upgrade
 +
* Go ahead and update
 +
* The affordance should be gone and there should be no more reminding of updates.
  
 
==== General preferences ====
 
==== General preferences ====
* Start the provisioned SDK
 
* Help>Software Updates (Incubation)...
 
 
* Go to the Install/Update preferences  
 
* Go to the Install/Update preferences  
** Make sure you are on the end user UI pref page.  It should have one group that says "Browsing for updates".
+
* Click the "Show all versions of available software" button and close the prefs
** Click the "Show all versions of available software" button and close the prefs
+
* Help>Software Updates
* Help>Software Updates (Incubation)...
+
 
** Go to the installed features page and check for updates
 
** Go to the installed features page and check for updates
 
** You should see every version of the SDK that is newer than what you installed, not just the latest
 
** You should see every version of the SDK that is newer than what you installed, not just the latest
 
** The latest one should be checked in the wizard
 
** The latest one should be checked in the wizard
 
** Try checking other ones or combinations and see what the resolver does
 
** Try checking other ones or combinations and see what the resolver does
 +
 
=== Core Tests (using Admin UI) ===
 
=== Core Tests (using Admin UI) ===
 
==== Basic install, run and update from Admin UI ====
 
==== Basic install, run and update from Admin UI ====

Revision as of 21:43, 28 April 2008

Who, what platform

Each tester has an assigned platform and is also assigned a UI group. What it means to be in a UI group is defined in the UI tests.

  • Pascal, MacOs, XP, UI group A
  • Andrew, Linux (gtk 2.12.1), UI group B
  • DJ, Linux, UI group C
  • John, Vista, Windows XP, UI group A
  • Simon, Windows XP, UI group B
  • Susan, Windows XP, UI group C
  • Tim Mok, ??, UI group A

UI Tests

There are several different preferences/modes that drive the UI, so we have assigned user groups to run with different preference settings. Some of the tests will have you switch some of the toggles or prefs, but this is the mode you should run otherwise. Some of the tests are sequential, to keep setup to a minimum. If one test leaves you with a wizard open, leave it open and read the next test before closing it. The next test might involve that same wizard.

  • User Group A -
    • Preferences
      • Automatic Updates - Auto updates on, Look for Updates each time platform is started, Search for updates and notify when available, Notify every 30 minutes
      • Updating from the file system - use defaults
    • Available Software - view by site, [X] show only latest versions, [ ] Include items that have already been installed
  • User Group B -
    • Preferences
      • Automatic Updates - Auto updates on, Look for Updates each Tuesday at... (use a time that will trigger during the test pass), Download new updates automatically, Notify me once
      • Updating from the file system - use defaults
    • Available Software - view by category, [X] show only latest versions, [ ] Include items that have already been installed
  • User Group C -
    • Preferences
      • Automatic Updates - Auto updates off
      • Updating from the file system - use defaults
    • Available Software - view by name, [ ] show only latest versions, [X] Include items that have already been installed

Setup

  • Start with a clean SDK
  • Some of the tests require an SDK later than what you've already provisioned. If you don't have one available, you can generate a local metadata repository for the SDK that you are using, and hack the version number of the SDK root IU to make it look later.
  • Use a fresh workspace so that dialog settings, prefs, and remembered licenses start with the defaults
  • Window>Preferences>Install/Update>Automatic Updates
  • Set the preferences according to your user group
  • Help >Software Updates
  • Switch to Available Software Page
  • Set the view mode and check boxes for your user group

Sanity Test of Installed Features

  • Switch to Installed Software Page
  • You should see one entry for the SDK
  • No other entries unless you have enabled some drop-ins

Add the test updates site using drag

  • Switch to Available Software Page
  • Drag this link to the available software page: http://updates.eclipse.org/testUpdates
  • It may take a little time to refresh the view, now check
    • Group A - The site should be selected and expanded once the view is refreshed
    • Group B - The categories for the site should appear
    • Group C - The IU's in the site should appear

Sanity Test of Available Software Page

  • Toggle the [ ] Show only latest versions
    • Verify that this controls whether all versions or only the latest are shown for an IU.
  • Toggle the [ ] Include items that have already been installed
    • Installed items should disappear when you toggle this. If all versions are showing, the installed version disappears but the other IU versions show
  • Switch between site, category, and name view
  • Switch back to your assigned view
  • Type "releng" in the filter box, it should appear in bold in site or category view, plain in name view
  • Select releng and look at the properties, verify that property pages look right

Install from End User UI

  • Check mark the releng tools in the Available Software list
  • The install button should enable
  • Click the button and review choices in the wizard
  • Unchecking the box in the wizard should show an error
  • Check box again. You should have a gray finish button because releng tools has a license
  • Click "Next" and accep the license
  • Click "Finish"
  • Accept the restart.
  • Notice the presence of the releng tools (should be listed in the installed software page)

Verification with admin UI - the provisioned SDK profile should show the IU

Uninstall the releng tools from End User UI

  • Help>Software Updates
    • Go to Installed features page
    • Check mark the releng tools
    • Uninstall
  • Accept the restart
  • Come back up and notice the absence of the releng tools (no longer listed in installed software page)

Verification with admin UI - releng tools are absent

Update the SDK from End User UI

  • Ensure you are connected to a site with a newer version of the SDK
  • Help>Software Updates
  • First verify that the Available Features page has an updated SDK
    • Choose "Manage sites" and add the test site if you need to
  • Now go to Installed features page
    • Click "Check for Updates"
    • You should see the new SDK offered as an update.
    • You shouldn't have to accept a license (assuming the EPL is the same for the updated SDK as it was for releng tools)
    • Finish the wizard, accept the restart when done
    • Verify that the Installed Software page now shows the new version

Reverting the configuration

  • Go to the installed software page
  • Choose "Revert Configuration..." and select a timestamped configuration that does not have the upgrade that you just did
  • Push Finish and restart
  • In the installed software list, verify that the original SDK version is there

Automatic updates (part 1)

  • After restarting from the previous test...
    • User Group A - you should get the popup telling you that software updates were found (for the upgrade you just reverted from). Click to close the popup so that you get reminded again later.
    • User Group B - you should a popup at the specified time telling you the update was downloaded. Close the popup.
    • User Group C = you should not get any automatic update notifications

Automatic updates (part 2) User Group A & B

  • User group A & B should see an affordance in the status bar for the updates that are available. (It appears

once you've been reminded about updates).

  • Click on the status bar
  • You should see the update wizard containing the SDK update

Automatic updates (part 2) User Group C

  • Go to Installed features page
  • Click "Check for Updates"
  • You should get an update wizard showing the SDK update

Update (part 3), all users

  • You should be looking at an update wizard with the SDK update
  • Select the IU and you should see the update description in the details area of the wizard
  • If you uncheck the IU, you should get an error message
  • Check it again, and you'll see a progress bar while the validity is being computed
  • You should not have to visit the license page since you have already done this upgrade
  • Go ahead and update
  • The affordance should be gone and there should be no more reminding of updates.

General preferences

  • Go to the Install/Update preferences
  • Click the "Show all versions of available software" button and close the prefs
  • Help>Software Updates
    • Go to the installed features page and check for updates
    • You should see every version of the SDK that is newer than what you installed, not just the latest
    • The latest one should be checked in the wizard
    • Try checking other ones or combinations and see what the resolver does

Core Tests (using Admin UI)

Basic install, run and update from Admin UI

  • Using the Admin UI:
    • create a new profile
    • install the SDK-v1
  • Run the provisioned install
  • Using the Admin UI:
    • look for updates, install eclipse SDK-v2
  • Run the provisioned install and verify that the SDK-v2 plugins are here
  • Also check that the profile is properly updated in the Admin UI

Variation, try with/without exiting the Admin UI.

Basic install, run and update using remote repository

  • Using the Admin UI:
    • create a new profile
    • connect to the test repository
    • install the SDK-v1
  • Run the provisioned install
  • Using the Admin UI:
    • look for updates, install eclipse SDK-v2
  • Run the provisioned install and verify that the SDK-v2 plugins are here
  • Also check that the profile is properly updated in the Admin UI

Basic install/update from Admin UI

  • Using the Admin UI:
    • Create a new profile
    • Install the SDK-v1
  • Do *not* start the provisioned install
  • Using the Admin UI:
    • look for updates, install eclipse SDK-v2
  • Run and verify that the plugins have been changed
  • Also check that the profile is properly updated in the Admin UI

Variation, try with/without exiting the Admin UI.

Bundle pool

  • Using the Admin UI:
    • Create a new profile
    • Install the SDK. During the installation notice the dialog saying that around 150M (the size of the SDK) should be "installed" (caveat, this may already be giving you the same result than in the second step if you are installing an already installed SDK.)
  • Create a second profile
  • Install the SDK in it
    • During the installation notice the dialog saying that only around 50K should be "installed".
    • Notice that the download phase goes much faster.
  • Uninstall the two SDK previously installed
  • Navigate to the folder of the bundle pool and notice that all the jars and folders are now gone. the GC has run.

Bundle pool in the eclipse install

  • Using the Admin UI:
    • Create a new profile: in the dialog set the install folder and the bundle pool to the same location. It will be the root of your eclipse install.
  • Install the SDK
  • Verify that the plugins folder is located at a subfolder of the install location
  • Verify that the path in the bundles.txt are relative.
  • Verify that the path in the osgi.bundles property of the config.ini are relative


Download Resilience

  • From the Admin UI
    • Create a profile
    • Install an SDK and while the download proceeds find an inventive way (a.k.a not using cancel) to abort the download (e.g. unplug the network cable, kill the process, etc.).
    • Restart the installation and see if it completes normally

Dropins Reconciler

  • From the Admin UI
    • Create a profile and install the SDK and User UI
  • For M4 the following manual steps are required.
    • Go to your install folder and edit your eclipse.ini
      • add "-console" at the top.
      • add "-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:\ontheside\dropins" to the VM arguments at the bottom
      • Note: The dropin folder must not be inside the profile because of how frameworkadmin adjusts paths to make them relative and a bug with install dir.
      • If you want to collocate your dropins folder you will have to set "-Dosgi.install.area=file:/c:/yourprofile"
    • save and start eclipse
    • at the console "start" the org.eclipse.equiniox.p2.reconciler.dropins bundle
    • exit eclipse
  • Testing
    • put a bundle in your dropins folder
    • start eclipse and verify that the bundle was installed
    • exit eclipse
    • remove the bundle from your dropins folder
    • start eclipse and verify that the bundle was uninstalled

Update Manager compatibility

  • Run the Agent
  • Create a new profile
  • Add metadata and artifact repositories
  • Install an SDK into the profile.
    • Set the bundle pool location to be the same as the install directory to get the same setup as the current Eclipse SDK
  • Install the End User UI into the same profile
  • Modify the eclipse.ini file to turn on reconciliation
-Dorg.eclipse.p2.update.compatibility=true
  • You can now add extension locations via the Update Manager "Manage Configurations" dialog
  • Also links/ folders should be discovered on startup

Back to the top