Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix STF after migration to new resource implementation (ref-point migration 9/10) #1040

Merged
merged 5 commits into from
Oct 21, 2020

Conversation

tobous
Copy link
Member

@tobous tobous commented Jun 22, 2020

Fixes the STF after after the migration of Saros/E to the new resource implementation introduced in #1023. Outdated javadoc and method names that are not directly related to the changed logic will be updated in a separate clean-up PR at the end.

This PR only migrates/fixes the existing test. It does not add new one. I opened #1045 for this.

The tests run locally but currently fail due to issues with the docker STF setup.

Reviewing this PR

I would suggest reviewing this PR commit by commit.

Commits

[REFACTOR][STF] Remove unnecessary modifiers in Constants

[INTERNAL][STF] Adjust references to UI component text after migration

[FIX][STF] Fix logic to use existing directory

Fixes the method to start a session on an existing directory by using
the correct label to look for.

Removes now unnecessary workaround deselecting the previously selected
radio button before selecting a new one. This logic was added to avoid a
bug which is only present in SWTBot versions <2.22.0.

Adds a sleep after switching the radio buttons. This sleep is necessary
to ensure that the internal listener reacting to the change event has
finished updating the UI. Otherwise, entering the text into the
directory path field fails as it is seen as read-only.

Adds constants for the labels to look for in the
AddReferencePointsToSessionWizard.

[FIX][STF] Add methods for test setups requiring Java projects

Adds methods to Util to set up testing sessions explicitly using Java
projects. This is now necessary as the project nature of the inviter is
no longer applied on the invitee side following the migration to the
reference-point-based sharing model.

The methods avoid this issue by first creating a stub module with the
correct nature on the invitee's side and then choose the option of using
an existing project for the negotiation. This imitates the behavior of
creating a new project as part of the resource negotiation while still
correctly setting the project nature.

Adds a note to the documentation of methods that can be used to accept a
resource negotiation using the option to create a new project, stating
that such methods should only be used if the project nature is
irrelevant for the testing setup. Furthermore, the notes point to the
correct methods to use instead if a specific project nature is required.
A similar note is also added to the enum defining the different project
creation types to use.

Removes the methods Util.setUpSessionWithJavaProjectAndClass(...) and
Util.buildFileSessionConcurrently(...) that were no longer being used
and only provided support for no longer supported testing setups.

Adjusts the method Util.setUpSessionWithJavaProjectAndClass(...) to
correctly set up Java projects on the invitee's side. This is also done
by first creating stub projects with the correct nature.

[FIX][STF] Fix tests requiring a Java project nature

Adjusts the STF tests requiring Java projects to use the newly
introduced methods replacing the previous, built-in project nature
support.

Manually creates the project stub on the invitee's side and using the
option to use an existing project in cases where the utility methods
could not be used.

@tobous tobous added Aspect: GUI Issues specific to the Saros GUI Area: Eclipse Issue affecting Saros for Eclipse (Saros/E) Aspect: Test Issue that describes a problem with the testing logic labels Jun 22, 2020
@tobous tobous added this to the Saros/E Release NEXT milestone Jun 22, 2020
@tobous tobous self-assigned this Jun 22, 2020
@tobous
Copy link
Member Author

tobous commented Jun 24, 2020

I did not want to rebase the whole stack of PRs just to get the STF to run so I created a merge commit for now. I will remove it from the PR when rebasing later on.

@tobous tobous force-pushed the pr/eclipse/ref-point-migration/8/ui-internals-3 branch from 2b058f4 to 5530119 Compare June 25, 2020 00:27
@tobous tobous force-pushed the pr/stf/eclipse/ref-point-migration/9/fix-stf branch from f46a93a to ef7cb82 Compare June 25, 2020 00:29
@tobous
Copy link
Member Author

tobous commented Jun 25, 2020

Rebased onto current base branch without any interaction.

@tobous tobous force-pushed the pr/stf/eclipse/ref-point-migration/9/fix-stf branch from ef7cb82 to 3f17b12 Compare June 25, 2020 00:50
@tobous tobous added the Area: STF Issues affecting the Saros Testing Framework label Jun 25, 2020
@tobous tobous force-pushed the pr/eclipse/ref-point-migration/8/ui-internals-3 branch from 5530119 to fd882c2 Compare July 2, 2020 19:09
@tobous tobous force-pushed the pr/stf/eclipse/ref-point-migration/9/fix-stf branch from 3f17b12 to 70d3c45 Compare July 2, 2020 19:10
@tobous
Copy link
Member Author

tobous commented Jul 2, 2020

Rebased onto current base branch without any interaction.

@tobous tobous requested review from m273d15 and stefaus July 2, 2020 19:21
@tobous tobous requested a review from srossbach July 10, 2020 16:28
@tobous tobous force-pushed the pr/eclipse/ref-point-migration/8/ui-internals-3 branch from fd882c2 to 31a6bc1 Compare August 4, 2020 03:46
@tobous tobous force-pushed the pr/stf/eclipse/ref-point-migration/9/fix-stf branch from 70d3c45 to 48a2d1d Compare August 4, 2020 03:49
@tobous
Copy link
Member Author

tobous commented Aug 4, 2020

Rebased onto current base branch without any interaction.

@tobous tobous force-pushed the pr/eclipse/ref-point-migration/8/ui-internals-3 branch from 31a6bc1 to ffb9014 Compare August 11, 2020 06:11
@tobous tobous force-pushed the pr/stf/eclipse/ref-point-migration/9/fix-stf branch from 48a2d1d to e3550a9 Compare August 11, 2020 06:13
@tobous
Copy link
Member Author

tobous commented Aug 11, 2020

Rebased onto current base branch without any interactions.

@tobous
Copy link
Member Author

tobous commented Sep 8, 2020

Does restrictToReadOnlyAccess wait until Bob is in read-only mode?

I am not sure. But this behavior should not have changed with the move to the reference-point-based model.

Otherwise I find it very questionable to mark every regression issue as flaky.

As I mentioned in the commit message and the comment, I marked this as flaky as I was unable to reproduce this issue locally. I tried running the test through Eclipse on Windows and Linux and through the Docker container (as it is run on the build server), but the test always succeeded for me. So I have no real way of reproducing/debugging this behavior.

Maybe this is due to me only running the specific test. But this would mean that the failure is caused by an interaction with a previous test, e.g. through an incomplete cleanup. But neither the logs nor the screenshots of the failed runs suggested anything of the sorts (at least I couldn't see anything).

Another possibility would be that this is related to the environment the docker container is run in on the build server (e.g. a slower network or fewer computing resources), but this is also very hard to test for.

So I am not really sure what to do here. But, instead of deleting the test, I decided to only mark it as flaky for now as it still serves some value.

To make the situation even worse, rerunning the test now led to a range of test failures cropping up again (see this result/buildscan for the previous run and this results/buildscan for the current run). These failures had already presented themselves before but went away (without any obvious reason) at some point. The worst thing is that now a state that ran successfully before (not counting the test marked as flaky) runs into these issues again, even though absolutely nothing was change on our end (I ran the test on the exact same commit). Of course, I can't reproduce these test failures locally as well. So I really don't know what to do about the STF anymore.

@m273d15 @srossbach Any suggestions?

@srossbach
Copy link
Contributor

What is the issue with this test ? Are the editor contents the same ? If they are equal which content do they display ?

@srossbach
Copy link
Contributor

restrictToReadOnlyAccess actually waits until the remote side has read only access (at least if it is displayed in the GUI). As far as I remember the GUI is updated after the remote side is actually in read-only mode.

So what is the issue ? Does the watchdog not trigger ?

@tobous
Copy link
Member Author

tobous commented Sep 10, 2020

restrictToReadOnlyAccess actually waits until the remote side has read only access (at least if it is displayed in the GUI). As far as I remember the GUI is updated after the remote side is actually in read-only mode.

So what is the issue ? Does the watchdog not trigger ?

The issue with most (if not all) all of the failing tests is that the editor for a file does not open (I think on Bobs side). From the screenshots, I can't really tell whether the file exists or not as the package containing the file is not expanded.

org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException: Timed out waiting for tree item matching [\QFoo1_Saros\E(\Q (shared)\E)?+, \Qsrc\E, \Qmy.pkg\E, \QMyClass.java\E]

As already mentioned, I could not find a way of reproducing this bug and the logs didn't give me much to work on (as I found it very hard to correlate the logs of Alice and Bob to the actual test runs).

@srossbach
Copy link
Contributor

srossbach commented Sep 11, 2020

I can't really tell whether the file exists or not as the package containing the file is not expanded.

But it should be expanded. So either a wrong tree object is grabbed or the whole tree object gets replaced and we operate on an outdated one or there is simple a bug in Eclipse regarding the updating or the Package Explorer View.

Again this problem is not new. You could add Flaky to all tests that operate on the package explorer.

So either we find this bug and fix it or we could modify the code in such a way that we simply communicate with the Eclipse API to open specific files in an editor instead of opening them through the GUI.

@srossbach
Copy link
Contributor

srossbach commented Sep 11, 2020

BTW are you aware that the cache is no longer working on the current master ?!

INFO  00:48:23,593 [RMI TCP Connection(12)-127.0.0.1] (RemoteBot.java:1662) ******* STARTING TESTCASE saros.stf.test.stf.internal.InternalTest:testcreateFile *******
TRACE 00:48:23,594 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:276) creating java project: Hello
TRACE 00:48:23,603 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\.project [0xEB41043A001135E392C8F7232370E4AE]
TRACE 00:48:23,629 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\.project [0xEB41043A001135E392C8F7232370E4AE]
TRACE 00:48:23,731 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\.classpath [0x1810D5FD334F9DB43B66BBC3C10C40F6]
TRACE 00:48:23,736 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:153) creating file in project 'Hello', path 'test.bar' content: bla
TRACE 00:48:23,748 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\test.bar [0x97A319EE56FA0B0730473944B7AD37E3]
TRACE 00:48:23,752 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:153) creating file in project 'Hello', path 'a/b/c/d/e/f/g/abc.def' content: bla
TRACE 00:48:23,752 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:322) [a, b, c, d, e, f, g]
TRACE 00:48:23,768 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\a\b\c\d\e\f\g\abc.def [0x1F94868A7B6BDEE0919BFCB30CBE9626]
TRACE 00:48:23,770 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:205) creating file in project 'Hello', path 'x/y/z/foo.bar' size: 100, compressAble=false
TRACE 00:48:23,770 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:322) [x, y, z]
TRACE 00:48:23,779 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\x\y\z\foo.bar [0x67E8D3BA6A9B70B7188245C1D2132E79]
TRACE 00:48:23,782 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:205) creating file in project 'Hello', path 'x/y/z/foo.bar.comp' size: 100, compressAble=true
TRACE 00:48:23,782 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:322) [x, y, z]
TRACE 00:48:23,784 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\x\y\z\foo.bar.comp [0xB918431B9CE3F5F01AF354645331E888]
TRACE 00:48:23,790 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:237) deleting project: Hello
TRACE 00:48:23,827 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/.classpath (EclipseFileImpl)
TRACE 00:48:23,828 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/.project (EclipseFileImpl)
TRACE 00:48:23,828 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/test.bar (EclipseFileImpl)
TRACE 00:48:23,828 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/x/y/z/foo.bar (EclipseFileImpl)
TRACE 00:48:23,828 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/x/y/z/foo.bar.comp (EclipseFileImpl)
TRACE 00:48:23,828 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/a/b/c/d/e/f/g/abc.def (EclipseFileImpl)
INFO  00:48:23,831 [RMI TCP Connection(12)-127.0.0.1] (RemoteBot.java:1662) ******* TESTCASE saros.stf.test.stf.internal.InternalTest:testcreateFile SUCCEDED *******
INFO  00:48:23,832 [RMI TCP Connection(12)-127.0.0.1] (RemoteBot.java:1662) ******* TESTCASE saros.stf.test.stf.internal.InternalTest:testcreateFile FINISHED *******

Digging through the current code it should not cause any issues as the cache gets correctly invalided if the file is created once again. However if you try to get a checksum for a non existing file there is now a chance to retrieve a dirty value (beside the flooding of the log file with non helpful trace messages).

@tobous
Copy link
Member Author

tobous commented Oct 15, 2020

BTW are you aware that the cache is no longer working on the current master ?!

INFO  00:48:23,593 [RMI TCP Connection(12)-127.0.0.1] (RemoteBot.java:1662) ******* STARTING TESTCASE saros.stf.test.stf.internal.InternalTest:testcreateFile *******
TRACE 00:48:23,594 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:276) creating java project: Hello
TRACE 00:48:23,603 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\.project [0xEB41043A001135E392C8F7232370E4AE]
TRACE 00:48:23,629 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\.project [0xEB41043A001135E392C8F7232370E4AE]
TRACE 00:48:23,731 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\.classpath [0x1810D5FD334F9DB43B66BBC3C10C40F6]
TRACE 00:48:23,736 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:153) creating file in project 'Hello', path 'test.bar' content: bla
TRACE 00:48:23,748 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\test.bar [0x97A319EE56FA0B0730473944B7AD37E3]
TRACE 00:48:23,752 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:153) creating file in project 'Hello', path 'a/b/c/d/e/f/g/abc.def' content: bla
TRACE 00:48:23,752 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:322) [a, b, c, d, e, f, g]
TRACE 00:48:23,768 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\a\b\c\d\e\f\g\abc.def [0x1F94868A7B6BDEE0919BFCB30CBE9626]
TRACE 00:48:23,770 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:205) creating file in project 'Hello', path 'x/y/z/foo.bar' size: 100, compressAble=false
TRACE 00:48:23,770 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:322) [x, y, z]
TRACE 00:48:23,779 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\x\y\z\foo.bar [0x67E8D3BA6A9B70B7188245C1D2132E79]
TRACE 00:48:23,782 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:205) creating file in project 'Hello', path 'x/y/z/foo.bar.comp' size: 100, compressAble=true
TRACE 00:48:23,782 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:322) [x, y, z]
TRACE 00:48:23,784 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:93) invalidating checksum for existing file: Z:\java\eclipse\workspace-alice-stf\Hello\x\y\z\foo.bar.comp [0xB918431B9CE3F5F01AF354645331E888]
TRACE 00:48:23,790 [RMI TCP Connection(12)-127.0.0.1] (InternalImpl.java:237) deleting project: Hello
TRACE 00:48:23,827 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/.classpath (EclipseFileImpl)
TRACE 00:48:23,828 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/.project (EclipseFileImpl)
TRACE 00:48:23,828 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/test.bar (EclipseFileImpl)
TRACE 00:48:23,828 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/x/y/z/foo.bar (EclipseFileImpl)
TRACE 00:48:23,828 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/x/y/z/foo.bar.comp (EclipseFileImpl)
TRACE 00:48:23,828 [RMI TCP Connection(12)-127.0.0.1] (FileSystemChecksumCache.java:371) failed to obtain absolute path for file : L/Hello/a/b/c/d/e/f/g/abc.def (EclipseFileImpl)
INFO  00:48:23,831 [RMI TCP Connection(12)-127.0.0.1] (RemoteBot.java:1662) ******* TESTCASE saros.stf.test.stf.internal.InternalTest:testcreateFile SUCCEDED *******
INFO  00:48:23,832 [RMI TCP Connection(12)-127.0.0.1] (RemoteBot.java:1662) ******* TESTCASE saros.stf.test.stf.internal.InternalTest:testcreateFile FINISHED *******

Digging through the current code it should not cause any issues as the cache gets correctly invalided if the file is created once again. However if you try to get a checksum for a non existing file there is now a chance to retrieve a dirty value (beside the flooding of the log file with non helpful trace messages).

Sorry for the long absence. I was quite busy writing my thesis.

I can't reproduce this issue locally. I am not sure what causes this issue. If the resource were no longer available, IFile.getLocation() would have returned null, so it still has to be available. I am not sure why the new path is given relative to whatever resource L is. Maybe this issue can be avoided by using the full path instead of the absolute path?

Regarding the general STF issue: I will look into whether the approach of manually opening the editor helps. But I am not sure that this is really an upstream issue. The weird behavior is not reproducible on the current master, so it has to at least be influenced by my rework of the Saros/E filesystem implementation.

@srossbach
Copy link
Contributor

srossbach commented Oct 17, 2020

As I already said, it does not do any harm but looks very confusing for developers that are new to this project. Just invalidating the full path instead of the absolute path (old behavior) would do the trick.

However there are plenty of your patches that are not yet merged and if I am not mistaken the issue mentioned here does not occur in the current release version.

@tobous tobous force-pushed the pr/eclipse/ref-point-migration/8/ui-internals-3 branch from ffb9014 to 36097e9 Compare October 19, 2020 09:42
@tobous tobous force-pushed the pr/stf/eclipse/ref-point-migration/9/fix-stf branch from ee49de7 to a49220c Compare October 19, 2020 09:43
@tobous
Copy link
Member Author

tobous commented Oct 19, 2020

Rebased onto current base branch without any interaction.

@tobous tobous force-pushed the pr/stf/eclipse/ref-point-migration/9/fix-stf branch from a49220c to 5a794b7 Compare October 19, 2020 11:36
@tobous tobous dismissed srossbach’s stale review October 19, 2020 11:42

Review comment has been adressed.

@tobous
Copy link
Member Author

tobous commented Oct 19, 2020

Yay, I finally managed to track down the issues with the STF. The problem was caused by some tests being reliant on the project nature of the shared projects being correctly set up on the invitee's side. This seems to be due to some of the STF API differentiating between a file and a class. This differentiation can only be made if the project is correctly registered with a Java nature.

The issue was not reproducible locally as Eclipse does seem to automatically reload the .project file. But apparently this does not always happen. My guess would be that it only happens when the IDE window is refreshed due to a user action (which never happens in the Docker container).

I avoided the issue by adding new methods to specifically set up a shared Java project. In such cases, an empty stub project with a Java nature is first created on the invitee's side. This stub is then used as an existing project during the resource negotiation. This mimics the previous behavior of creating a new project including project nature as part of the resource negotiation.

I also amended the javadoc of the corresponding methods to state that the creation of a new project as part of the resource negotiation is only usable in test setups where the project nature does not matter.

@srossbach @m273d15 @stefaus Could you review the new changes? I would like to merge this before handing in my thesis in early November.

m273d15
m273d15 previously approved these changes Oct 20, 2020
Copy link
Contributor

@m273d15 m273d15 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@tobous tobous force-pushed the pr/eclipse/ref-point-migration/8/ui-internals-3 branch from 36097e9 to 0af79ea Compare October 21, 2020 18:45
Base automatically changed from pr/eclipse/ref-point-migration/8/ui-internals-3 to master October 21, 2020 18:50
@tobous tobous dismissed m273d15’s stale review October 21, 2020 18:50

The base branch was changed.

Fixes the method to start a session on an existing directory by using
the correct label to look for.

Removes now unnecessary workaround deselecting the previously selected
radio button before selecting a new one. This logic was added to avoid a
bug which is only present in SWTBot versions <2.22.0.

Adds constants for the labels to look for in the
AddReferencePointsToSessionWizard.
Adds methods to Util to set up testing sessions explicitly using Java
projects. This is now necessary as the project nature of the inviter is
no longer applied on the invitee side following the migration to the
reference-point-based sharing model.

The methods avoid this issue by first creating a stub module with the
correct nature on the invitee's side and then choose the option of using
an existing project for the negotiation. This imitates the behavior of
creating a new project as part of the resource negotiation while still
correctly setting the project nature.

Adds a note to the documentation of methods that can be used to accept a
resource negotiation using the option to create a new project, stating
that such methods should only be used if the project nature is
irrelevant for the testing setup. Furthermore, the notes point to the
correct methods to use instead if a specific project nature is required.
A similar note is also added to the enum defining the different project
creation types to use.

Removes the methods Util.setUpSessionWithJavaProjectAndClass(...) and
Util.buildFileSessionConcurrently(...) that were no longer being used
and only provided support for no longer supported testing setups.

Adjusts the method Util.setUpSessionWithJavaProjectAndClass(...) to
correctly set up Java projects on the invitee's side. This is also done
by first creating stub projects with the correct nature.
Adjusts the STF tests requiring Java projects to use the newly
introduced methods replacing the previous, built-in project nature
support.

Manually creates the project stub on the invitee's side and using the
option to use an existing project in cases where the utility methods
could not be used.
@tobous tobous force-pushed the pr/stf/eclipse/ref-point-migration/9/fix-stf branch from 5a794b7 to 589da9b Compare October 21, 2020 18:50
@tobous
Copy link
Member Author

tobous commented Oct 21, 2020

Rebased onto current master without any interaction.

@tobous tobous merged commit 23aa353 into master Oct 21, 2020
@tobous tobous deleted the pr/stf/eclipse/ref-point-migration/9/fix-stf branch October 21, 2020 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Eclipse Issue affecting Saros for Eclipse (Saros/E) Area: STF Issues affecting the Saros Testing Framework Aspect: GUI Issues specific to the Saros GUI Aspect: Test Issue that describes a problem with the testing logic
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants