Récapitulatif des tests Commentaires du testeur

publicité
Scénarios de tests d'intégration/fonctionnels
Partenaire : Espresso
Nom de l'outil :
Editeur Polychrony
Date test : 2008-12-09
Version de l'outil : Rhea 0.5.0
Plateforme de test (OS + processeur) : Win32 x86
Organisme testeur : Cellule d'intégration
Nom du testeur : Christian Brunette <[email protected]>
Récapitulatif des tests
Commentaires du testeur......................................................................................................................1
Scénario A : perspective Topcased.......................................................................................................4
Scénario B : création d'un modèle........................................................................................................5
Scénario C: installation des exemples..................................................................................................6
Scénario D: appel des fonctions du compilateur..................................................................................7
Scénario E : aide en ligne.....................................................................................................................9
Commentaires du testeur
Voilà l'exception générée quand on clique sur le bouton Dataflow ou Clock pour passer d'un
diagramme à l'autre:
java.lang.NullPointerException
at org.eclipse.gef.editparts.AbstractEditPart.getRoot(AbstractEditPart.java:551)
at org.eclipse.gef.editparts.AbstractEditPart.getViewer(AbstractEditPart.java:601)
at fr.irisa.espresso.sme.common.policies.CustomEditPolicy.understandsRequest(CustomEditPolicy.java:84)
at org.eclipse.gef.editparts.AbstractEditPart.understandsRequest(AbstractEditPart.java:1029)
at org.topcased.modeler.internal.actions.ChangeRouterAction.calculateEnabled(ChangeRouterAction.java:119)
at org.eclipse.gef.ui.actions.WorkbenchPartAction.refresh(WorkbenchPartAction.java:119)
at org.eclipse.gef.ui.actions.WorkbenchPartAction.update(WorkbenchPartAction.java:155)
at org.eclipse.gef.ui.parts.GraphicalEditor.updateActions(GraphicalEditor.java:414)
at org.eclipse.gef.ui.parts.GraphicalEditor.selectionChanged(GraphicalEditor.java:366)
at org.eclipse.ui.internal.AbstractSelectionService.fireSelection(AbstractSelectionService.java:156)
at org.eclipse.ui.internal.AbstractSelectionService.setActivePart(AbstractSelectionService.java:282)
at org.eclipse.ui.internal.WWinPartService.updateActivePart(WWinPartService.java:125)
at org.eclipse.ui.internal.WWinPartService.access$0(WWinPartService.java:115)
at org.eclipse.ui.internal.WWinPartService$1.partDeactivated(WWinPartService.java:48)
at org.eclipse.ui.internal.PartListenerList2$4.run(PartListenerList2.java:113)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:53)
at org.eclipse.ui.internal.PartListenerList2.firePartDeactivated(PartListenerList2.java:111)
Copyright © 2007 OpenEmbeDD project (openembedd.org)
at org.eclipse.ui.internal.PartService.firePartDeactivated(PartService.java:241)
at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:299)
at org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePartChanged(WorkbenchPagePartList.java:56)
at org.eclipse.ui.internal.PartList.setActivePart(PartList.java:126)
at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3491)
at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:610)
at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1086)
at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1057)
at org.eclipse.ui.internal.WorkbenchPage$19.run(WorkbenchPage.java:3773)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3770)
at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3746)
at fr.inria.base.MyManager.getShowView(MyManager.java:206)
at fr.inria.base.MyManager.getPackageExplorer(MyManager.java:238)
at fr.inria.ctrte.time.parser.packageexplorer.MyWindowListener.windowActivated(MyWindowListener.java:25)
at org.eclipse.ui.internal.Workbench$12.run(Workbench.java:805)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.ui.internal.Workbench.fireWindowActivated(Workbench.java:803)
at org.eclipse.ui.internal.WorkbenchWindow$26.shellActivated(WorkbenchWindow.java:2991)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:82)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1008)
at org.eclipse.swt.widgets.Decorations.WM_ACTIVATE(Decorations.java:1613)
at org.eclipse.swt.widgets.Shell.WM_ACTIVATE(Shell.java:2013)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3784)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:337)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1576)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1937)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528)
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:663)
at org.eclipse.swt.widgets.Shell.destroyWidget(Shell.java:657)
at org.eclipse.swt.widgets.Widget.release(Widget.java:814)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:441)
at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:446)
at org.eclipse.swt.widgets.Shell.dispose(Shell.java:674)
at org.eclipse.jface.window.Window.close(Window.java:335)
at org.eclipse.jface.dialogs.Dialog.close(Dialog.java:979)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.close(ProgressMonitorDialog.java:360)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.finishedRun(ProgressMonitorDialog.java:594)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:510)
Copyright © 2007 OpenEmbeDD project (openembedd.org)
at org.topcased.modeler.commands.CreateDiagramCommand.importObjects(CreateDiagramCommand.java:164)
at org.topcased.modeler.commands.CreateDiagramCommand.redo(CreateDiagramCommand.java:144)
at org.topcased.modeler.commands.CreateDiagramCommand.execute(CreateDiagramCommand.java:105)
at org.topcased.modeler.commands.CommandStack.execute(CommandStack.java:165)
at fr.irisa.espresso.sme.common.commands.ChangeAspectCommand.redo(ChangeAspectCommand.java:135)
at fr.irisa.espresso.sme.common.commands.ChangeAspectCommand.execute(ChangeAspectCommand.java:86)
at org.topcased.modeler.commands.CommandStack.execute(CommandStack.java:165)
at fr.irisa.espresso.sme.modeler.actions.GoToDataflowAspectAction.run(GoToDataflowAspectAction.java:59)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.ui.actions.RetargetAction.runWithEvent(RetargetAction.java:230)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Copyright © 2007 OpenEmbeDD project (openembedd.org)
Scénario A : perspective Topcased
Remarques : R.A.S.
Action
Résultat attendu
OK
Aller dans Windows >>
Open Perspective >>
Other
Une perspective Topcased doit
apparaître
Oui
Choisir la perspective
Topcased
Elle doit s'activer (apparaît en
haut à droite)
Oui
Commentaires
Copyright © 2007 OpenEmbeDD project (openembedd.org)
Scénario B : création d'un modèle
Action
Résultat attendu
OK
Commentaires
Choisir la perspective
Topcased
Elle doit apparaître en haut à
droite.
Oui
Créer un projet Topcased
Projet créé
Oui
Dans ce projet, clic droit
puis New >> Sme
diagrams
Modèle par défaut ouvert dans
l'éditeur graphique
Oui
Ajouter des éléments à ce
modèle
Modèle non vide
Oui
Cliquer sur le choix
DataFlow au dessus du
schéma
L'éditeur passe en mode
DataFlow
Oui Il passe bien dans le bon
diagramme, mais il génère
une exception (cf
commentaires du testeur).
Ajouter des éléments aux
schéma
DataFlow non vide
Oui
Cliquer sur le choix Clocks L'éditeur passe en mode Clocks
au dessus du schéma
Oui Il passe bien dans le bon
diagramme, mais il génère
une exception (cf
commentaires du testeur).
Ajouter des éléments aux
schéma
Oui
Clocks non vide
Copyright © 2007 OpenEmbeDD project (openembedd.org)
Scénario C: installation des exemples
Remarques : à partir de la version 0.4.0 d'OpenEmbeDD
Action
Résultat attendu
OK
Dans le Package Explorer : Les projets
- clic droit puis « New »
fr.irisa.espresso.sme.examples
- « Example... »
doit être créé.
- choisir le dossier
«Polychrony Examples »
puis « Polychrony
Examples »
- clic sur « Finish »
Oui
Dans le Package Explorer, Ils doivent tous s'ouvrir
sans erreur.
développer le projet
fr.irisa.espresso.sme.exam
ples et double cliquer sur
les fichiers *.sme pour
afficher les modèles.
Oui
Commentaires
Double cliquer sur les
fichiers *.smedi pour
afficher les diagrammes.
Ils doivent tous s'ouvrir
sans erreur.
Oui Petits problèmes, les
connections ne sont pas
rectinlinear
Sur chacun d'entre eux,
cliquer sur le bouton
« Validate the model ».
Tous les modèles doivent
être valides.
Oui
Copyright © 2007 OpenEmbeDD project (openembedd.org)
Scénario D: appel des fonctions du compilateur
Remarques : à partir de la version 0.4.0 d'OpenEmbeDD. Se base sur les exemples de modèle
installés lors du scénario précédent.
Action
Résultat attendu
Cliquer avec le bouton
Il doit y avoir un menu
droit sur
Polychrony.
SimpleHierarchicAutomat
on.sme
Sélectionner dans le menu
Polychrony, «Generate SIG
File ».
Un répertoire
SimpleHierarchicAutomaton
contenant un fichier
SimpleHierarchicAutomaton_
LIS.SIG a été créé.
Dans la console, un
message indiquant:
===> Reduction to the
kernel language
===> Graph generation
(Process
SimpleHierarchicAutomaton)
# Annotated source program
generation:
SimpleHierarchicAutomaton_
LIS.SIG
Le fichier contient un
SimpleHierarchicAutoma programme Signal en
version textuel.
ton_LIS.SIG
Ouvrir le fichier
OK
Commentaires
Oui
Oui Mais pas sur l'action
«Generate SIG File », mais
sur «Generate SIG (LIS)
File »
Oui
Cliquer avec le bouton
droit sur Counter.sme et
sélectionner dans le menu
Polychrony, « Generate C
files ».
Une boite de dialogue
s'ouvre demandant si on
veut forcer la génération
de code C.
Dans la console, des
messages apparaissent
annonçant plusieurs fois
===> Clock calculus
(Process: Counter)
Oui
Répondre « Yes »
Un répertoire Counter a
été ajouté dans le
répertoire model. Il doit
contenir:
- Counter_body.c
- Counter_body.h
- Counter_externals.h
- Counter_externalsProc.h
- Counter_io.c
- Counter_main.c
- Counter_types.h
Dans la console, un
message s'est affiché pour
annoncer la génération de
ces fichiers
Oui
Cliquer avec le bouton
droit sur Watchdog.sme et
sélectionner dans le menu
Polychrony, « Generate
Un répertoire Watchdog a
été ajouté dans le
répertoire model. Il doit
contenir:
- Watchdog_io.java
Oui
Copyright © 2007 OpenEmbeDD project (openembedd.org)
Java files ».
- Watchdog_main.java
- Watchdog.java
Copyright © 2007 OpenEmbeDD project (openembedd.org)
Scénario E : aide en ligne
Remarques : -Action
Résultat attendu
OK
Dans la barre de menu
Eclispe, cliquer sur
« Help » puis « Help
Contents »
Un item « Polychrony » doit
apparaître
Sélectionner l'item
« Polychrony » et le
déplier
Des rubriques et/ou une
Oui
première page de documentation
doivent apparaître
Passer en revue chaque
rubrique et page de
documentation
Les pages ne doivent pas
comporter d'images absentes
(marquées par un cadre vide) et
les liens doivent être
fonctionnels
Commentaires
Oui Il s'appelle Polychrony Plugin Suites Guide
Oui
Copyright © 2007 OpenEmbeDD project (openembedd.org)
Téléchargement