Skip to content

Conversation

@MorrisJobke
Copy link
Member

Ref #12104

Hopefully this solves most of the problems we see.

@MorrisJobke MorrisJobke added the 3. to review Waiting for reviews label Feb 28, 2019
@MorrisJobke MorrisJobke added this to the Nextcloud 16 milestone Feb 28, 2019
@MorrisJobke MorrisJobke force-pushed the bugfix/noid/fix-no-such-process-acceptance-tests branch from 48b6b87 to 3f2bb3c Compare February 28, 2019 13:03
@ChristophWurst ChristophWurst added 4. to release Ready to be released and/or waiting for tests to finish and removed 3. to review Waiting for reviews labels Feb 28, 2019
@MorrisJobke
Copy link
Member Author

Different errors now, but at least the others are gone.

Scenario: log in with valid user and invalid password once fixed by admin # /drone/src/github.com/nextcloud/server/tests/acceptance/features/login.feature:15
    Given I act as John                                                     # ActorContext::iActAs()
    And I can not log in with user user0 and password 654231                # LoginPageContext::iCanNotLogInWithUserAndPassword()
    When I act as Jane                                                      # ActorContext::iActAs()
    And I am logged in as the admin                                         # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I open the User settings                                            # SettingsMenuContext::iOpenTheUserSettings()
    And I set the password for user0 to 654321                              # UsersSettingsContext::iSetTheFieldForUserTo()
    And I act as John                                                       # ActorContext::iActAs()
    And I log in with user user0 and password 654321                        # LoginPageContext::iLogInWithUserAndPassword()
    Then I see that the current page is the Files app                       # FilesAppContext::iSeeThatTheCurrentPageIsTheFilesApp()
      Failed asserting that 'http://acceptance-login/index.php/login?user=user0' starts with "http://acceptance-login/index.php/apps/files/".

  Scenario: delete a user                                                      # /drone/src/github.com/nextcloud/server/tests/acceptance/features/users.feature:25
    Given I act as Jane                                                        # ActorContext::iActAs()
    And I am logged in as the admin                                            # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I open the User settings                                               # SettingsMenuContext::iOpenTheUserSettings()
    And I see that the list of users contains the user user0                   # UsersSettingsContext::iSeeThatTheListOfUsersContainsTheUser()
    And I open the actions menu for the user user0                             # UsersSettingsContext::iOpenTheActionsMenuOf()
      Row for user user0 in Users Settings could not be found
      Actions menu for user user0 in Users Settings could not be found (NoSuchElementException)
    And I see that the "Delete user" action in the user0 actions menu is shown # UsersSettingsContext::iSeeTheAction()
    When I click the "Delete user" action in the user0 actions menu            # UsersSettingsContext::iClickTheAction()
    Then I see that the list of users does not contains the user user0         # UsersSettingsContext::iSeeThatTheListOfUsersDoesNotContainsTheUser()

Copy link
Member

@danxuliu danxuliu left a comment

Choose a reason for hiding this comment

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

Hopefully this solves most of the problems we see.

I do not think so :-(

Although this will solve the No such process failures in those tests (by the way, how did you get the affected tests? Grepping No such process in the logs or just manually looking at the results? I ask because I have not seen the No such process failure in some of these tests for quite a while) as far as I can tell those are not the most common failures. That doubtful honour goes to some race conditions in the Comments app and the Files app, as well as some failures due to wrong wait conditions used in users tests.

Anyway, this is going to be an improvement nevertheless, so 👍 (although I am a bit concerned about increasing the load of Drone, but I guess that at some point we will be able to get more nodes ;-) ).

@danxuliu
Copy link
Member

Failed asserting that 'http://acceptance-login/index.php/login?user=user0' starts with "http://acceptance-login/index.php/apps/files/".

That should not happen :-/

Row for user user0 in Users Settings could not be found

This looks like one of the wrong wait conditions I mentioned above (basically, not giving enough time to find the element).

@MorrisJobke
Copy link
Member Author

Although this will solve the No such process failures in those tests (by the way, how did you get the affected tests? Grepping No such process in the logs or just manually looking at the results? I ask because I have not seen the No such process failure in some of these tests for quite a while) as far as I can tell those are not the most common failures. That doubtful honour goes to some race conditions in the Comments app and the Files app, as well as some failures due to wrong wait conditions used in users tests.

I wrote a script that extracts the logs and shows the output of the failed ones. The "no such process" was the highest ranking one.

Those are the errors of the two runs of this PR:

Status of 16577: failure

  • failure TESTS=acceptance, TESTS-ACCEPTANCE=app-files
    • failure acceptance-app-files 228
      • tests/acceptance/features/app-files.feature:72
      • tests/acceptance/features/app-files.feature:126
      • tests/acceptance/features/app-files.feature:144
Show full log
  Scenario: show recent files                                                 # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files.feature:72
    Given I am logged in                                                      # LoginPageContext::iAmLoggedIn()
    And I create a new folder named "Folder just created"                     # FileListContext::iCreateANewFolderNamed()
    When I open the "Recent" section                                          # AppNavigationContext::iOpenTheSection()
    Then I see that the current section is "Recent"                           # AppNavigationContext::iSeeThatTheCurrentSectionIs()
    Then I see that the file list contains a file named "Folder just created" # FileListContext::iSeeThatTheFileListContainsAFileNamed()
      Row for file Folder just created in file list could not be found after 100 seconds (NoSuchElementException)
  Scenario: show deleted files                                        # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files.feature:126
    Given I am logged in                                              # LoginPageContext::iAmLoggedIn()
    And I delete "welcome.txt"                                        # FileListContext::iDelete()
    When I open the "Deleted files" section                           # AppNavigationContext::iOpenTheSection()
    Then I see that the current section is "Deleted files"            # AppNavigationContext::iSeeThatTheCurrentSectionIs()
    Then I see that the file list contains a file named "welcome.txt" # FileListContext::iSeeThatTheFileListContainsAFileNamed()
      Row for file welcome.txt in file list could not be found after 100 seconds (NoSuchElementException)
  Scenario: move a file to another folder                                     # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files.feature:144
    Given I am logged in                                                      # LoginPageContext::iAmLoggedIn()
    And I create a new folder named "Destination"                             # FileListContext::iCreateANewFolderNamed()
      │ Create menu button in file list could not be clicked
      │ Exception message: Element is not currently visible and so may not be interacted with
      │ Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
      │ System info: host: 'bad05bb5169e', ip: '172.17.0.16', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-43-generic', java.version: '1.8.0_91'
      │ Driver info: driver.version: unknown
      │ Trying again
      │ 
    When I start the move or copy operation for "welcome.txt"                 # FileListContext::iStartTheMoveOrCopyOperationFor()
    And I select "Destination" in the file picker                             # FilePickerContext::iSelectInTheFilePicker()
      Row for file Destination in the file picker dialog could not be found after 100 seconds (NoSuchElementException)
    And I move to the last selected folder in the file picker                 # FilePickerContext::iMoveToTheLastSelectedFolderInTheFilePicker()
    Then I see that the file list does not contain a file named "welcome.txt" # FileListContext::iSeeThatTheFileListDoesNotContainAFileNamed()
    And I enter in the folder named "Destination"                             # FileListContext::iEnterInTheFolderNamed()
    And I see that the file list contains a file named "welcome.txt"          # FileListContext::iSeeThatTheFileListContainsAFileNamed()
  • failure TESTS=acceptance, TESTS-ACCEPTANCE=app-files-tags
    • failure acceptance-app-files-tags 237
      • tests/acceptance/features/app-files-tags.feature:70
Show full log
  Scenario: remove tags using the dropdown in the details view                                  # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files-tags.feature:70
    Given I am logged in as the admin                                                           # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I visit the settings page                                                               # SettingsMenuContext::iVisitTheSettingsPage()
    And I open the "Tag management" section                                                     # AppNavigationContext::iOpenTheSection()
    And I see that the button to select tags is shown                                           # SettingsContext::iSeeThatTheButtonToSelectTagsIsShown()
    And I create the tag "tag1" in the settings                                                 # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag2" in the settings                                                 # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag3" in the settings                                                 # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag4" in the settings                                                 # SettingsContext::iCreateTheTagInTheSettings()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag1"     # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag2"     # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag3"     # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag4"     # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I log out                                                                               # SettingsMenuContext::iLogOut()
    And I am logged in                                                                          # LoginPageContext::iAmLoggedIn()
    And I open the details view for "welcome.txt"                                               # FileListContext::iOpenTheDetailsViewFor()
    And I open the input field for tags in the details view                                     # FilesAppContext::iOpenTheInputFieldForTagsInTheDetailsView()
    And I check the tag "tag2" in the dropdown for tags in the details view                     # FilesAppContext::iCheckTheTagInTheDropdownForTagsInTheDetailsView()
    And I check the tag "tag4" in the dropdown for tags in the details view                     # FilesAppContext::iCheckTheTagInTheDropdownForTagsInTheDetailsView()
    And I check the tag "tag3" in the dropdown for tags in the details view                     # FilesAppContext::iCheckTheTagInTheDropdownForTagsInTheDetailsView()
    When I uncheck the tag "tag2" in the dropdown for tags in the details view                  # FilesAppContext::iUncheckTheTagInTheDropdownForTagsInTheDetailsView()
    And I uncheck the tag "tag4" in the dropdown for tags in the details view                   # FilesAppContext::iUncheckTheTagInTheDropdownForTagsInTheDetailsView()
    Then I see that the tag "tag2" in the dropdown for tags in the details view is not checked  # FilesAppContext::iSeeThatTheTagInTheDropdownForTagsInTheDetailsViewIsNotChecked()
    And I see that the tag "tag4" in the dropdown for tags in the details view is not checked   # FilesAppContext::iSeeThatTheTagInTheDropdownForTagsInTheDetailsViewIsNotChecked()
    And I see that the tag "tag3" in the dropdown for tags in the details view is checked       # FilesAppContext::iSeeThatTheTagInTheDropdownForTagsInTheDetailsViewIsChecked()
    And I see that the input field for tags in the details view does not contain the tag "tag2" # FilesAppContext::iSeeThatTheInputFieldForTagsInTheDetailsViewDoesNotContainTheTag()
      Failed asserting that false is true.
    And I see that the input field for tags in the details view does not contain the tag "tag4" # FilesAppContext::iSeeThatTheInputFieldForTagsInTheDetailsViewDoesNotContainTheTag()
    And I see that the input field for tags in the details view contains the tag "tag3"         # FilesAppContext::iSeeThatTheInputFieldForTagsInTheDetailsViewContainsTheTag()
  • failure TESTS=acceptance, TESTS-ACCEPTANCE=login
    • failure acceptance-login 246
      • tests/acceptance/features/login.feature:15
Show full log
  Scenario: log in with valid user and invalid password once fixed by admin # /drone/src/github.com/nextcloud/server/tests/acceptance/features/login.feature:15
    Given I act as John                                                     # ActorContext::iActAs()
    And I can not log in with user user0 and password 654231                # LoginPageContext::iCanNotLogInWithUserAndPassword()
    When I act as Jane                                                      # ActorContext::iActAs()
    And I am logged in as the admin                                         # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I open the User settings                                            # SettingsMenuContext::iOpenTheUserSettings()
    And I set the password for user0 to 654321                              # UsersSettingsContext::iSetTheFieldForUserTo()
    And I act as John                                                       # ActorContext::iActAs()
    And I log in with user user0 and password 654321                        # LoginPageContext::iLogInWithUserAndPassword()
    Then I see that the current page is the Files app                       # FilesAppContext::iSeeThatTheCurrentPageIsTheFilesApp()
      Failed asserting that 'http://acceptance-login/index.php/login?user=user0' starts with "http://acceptance-login/index.php/apps/files/".

Status of 16576: failure

  • failure TESTS=acceptance, TESTS-ACCEPTANCE=app-files
    • failure acceptance-app-files 228
      • tests/acceptance/features/app-files.feature:60
      • tests/acceptance/features/app-files.feature:90
Show full log
  Scenario: viewing a favorite file in its folder does not prevent opening the details view in "All files" section # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files.feature:60
    Given I am logged in                                                                                           # LoginPageContext::iAmLoggedIn()
    And I mark "welcome.txt" as favorite                                                                           # FileListContext::iMarkAsFavorite()
    And I see that "welcome.txt" is marked as favorite                                                             # FileListContext::iSeeThatIsMarkedAsFavorite()
    And I open the "Favorites" section                                                                             # AppNavigationContext::iOpenTheSection()
    And I open the details view for "welcome.txt"                                                                  # FileListContext::iOpenTheDetailsViewFor()
      Row for file welcome.txt in file list could not be found after 100 seconds
      File actions menu button for file welcome.txt in file list could not be found after 100 seconds (NoSuchElementException)
    And I see that the details view is open                                                                        # FilesAppContext::iSeeThatTheDetailsViewIsOpen()
    And I view "welcome.txt" in folder                                                                             # FileListContext::iViewInFolder()
    And I see that the current section is "All files"                                                              # AppNavigationContext::iSeeThatTheCurrentSectionIs()
    When I open the details view for "welcome.txt"                                                                 # FileListContext::iOpenTheDetailsViewFor()
    Then I see that the details view is open                                                                       # FilesAppContext::iSeeThatTheDetailsViewIsOpen()
  Scenario: show favorites                                            # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files.feature:90
    Given I am logged in                                              # LoginPageContext::iAmLoggedIn()
    And I mark "welcome.txt" as favorite                              # FileListContext::iMarkAsFavorite()
    When I open the "Favorites" section                               # AppNavigationContext::iOpenTheSection()
    Then I see that the current section is "Favorites"                # AppNavigationContext::iSeeThatTheCurrentSectionIs()
    Then I see that the file list contains a file named "welcome.txt" # FileListContext::iSeeThatTheFileListContainsAFileNamed()
      Row for file welcome.txt in file list could not be found after 100 seconds (NoSuchElementException)
  • failure TESTS=acceptance, TESTS-ACCEPTANCE=login
    • failure acceptance-login 246
      • tests/acceptance/features/login.feature:15
Show full log
  Scenario: log in with valid user and invalid password once fixed by admin # /drone/src/github.com/nextcloud/server/tests/acceptance/features/login.feature:15
    Given I act as John                                                     # ActorContext::iActAs()
    And I can not log in with user user0 and password 654231                # LoginPageContext::iCanNotLogInWithUserAndPassword()
    When I act as Jane                                                      # ActorContext::iActAs()
    And I am logged in as the admin                                         # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I open the User settings                                            # SettingsMenuContext::iOpenTheUserSettings()
    And I set the password for user0 to 654321                              # UsersSettingsContext::iSetTheFieldForUserTo()
    And I act as John                                                       # ActorContext::iActAs()
    And I log in with user user0 and password 654321                        # LoginPageContext::iLogInWithUserAndPassword()
    Then I see that the current page is the Files app                       # FilesAppContext::iSeeThatTheCurrentPageIsTheFilesApp()
      Failed asserting that 'http://acceptance-login/index.php/login?user=user0' starts with "http://acceptance-login/index.php/apps/files/".
  • failure TESTS=acceptance, TESTS-ACCEPTANCE=users
    • failure acceptance-users 249
      • tests/acceptance/features/users.feature:25
Show full log
  Scenario: delete a user                                                      # /drone/src/github.com/nextcloud/server/tests/acceptance/features/users.feature:25
    Given I act as Jane                                                        # ActorContext::iActAs()
    And I am logged in as the admin                                            # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I open the User settings                                               # SettingsMenuContext::iOpenTheUserSettings()
    And I see that the list of users contains the user user0                   # UsersSettingsContext::iSeeThatTheListOfUsersContainsTheUser()
    And I open the actions menu for the user user0                             # UsersSettingsContext::iOpenTheActionsMenuOf()
      Row for user user0 in Users Settings could not be found
      Actions menu for user user0 in Users Settings could not be found (NoSuchElementException)
    And I see that the "Delete user" action in the user0 actions menu is shown # UsersSettingsContext::iSeeTheAction()
    When I click the "Delete user" action in the user0 actions menu            # UsersSettingsContext::iClickTheAction()
    Then I see that the list of users does not contains the user user0         # UsersSettingsContext::iSeeThatTheListOfUsersDoesNotContainsTheUser()

@MorrisJobke
Copy link
Member Author

Although this will solve the No such process failures in those tests (by the way, how did you get the affected tests? Grepping No such process in the logs or just manually looking at the results? I ask because I have not seen the No such process failure in some of these tests for quite a while) as far as I can tell those are not the most common failures. That doubtful honour goes to some race conditions in the Comments app and the Files app, as well as some failures due to wrong wait conditions used in users tests.

While talking about it - there it is - the "no such process" - in #14398:

https://drone.nextcloud.com/nextcloud/server/16578/237

Status of 16578: failure

  • failure TESTS=acceptance, TESTS-ACCEPTANCE=app-files-tags
    • failure acceptance-app-files-tags 237
      • tests/acceptance/features/app-files-tags.feature:42
Show full log
  Scenario: add tags using the dropdown in the details view                                 # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files-tags.feature:42
    Given I am logged in as the admin                                                       # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I visit the settings page                                                           # SettingsMenuContext::iVisitTheSettingsPage()
    And I open the "Tag management" section                                                 # AppNavigationContext::iOpenTheSection()
    And I see that the button to select tags is shown                                       # SettingsContext::iSeeThatTheButtonToSelectTagsIsShown()
    And I create the tag "tag1" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag2" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag3" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag4" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag1" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag2" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag3" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag4" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I log out                                                                           # SettingsMenuContext::iLogOut()
    And I am logged in                                                                      # LoginPageContext::iAmLoggedIn()
    And I open the details view for "welcome.txt"                                           # FileListContext::iOpenTheDetailsViewFor()
    And I open the input field for tags in the details view                                 # FilesAppContext::iOpenTheInputFieldForTagsInTheDetailsView()
    When I check the tag "tag2" in the dropdown for tags in the details view                # FilesAppContext::iCheckTheTagInTheDropdownForTagsInTheDetailsView()
    And I check the tag "tag4" in the dropdown for tags in the details view                 # FilesAppContext::iCheckTheTagInTheDropdownForTagsInTheDetailsView()
    Then I see that the tag "tag2" in the dropdown for tags in the details view is checked  # FilesAppContext::iSeeThatTheTagInTheDropdownForTagsInTheDetailsViewIsChecked()
    And I see that the tag "tag4" in the dropdown for tags in the details view is checked   # FilesAppContext::iSeeThatTheTagInTheDropdownForTagsInTheDetailsViewIsChecked()
    And I see that the input field for tags in the details view contains the tag "tag2"     # FilesAppContext::iSeeThatTheInputFieldForTagsInTheDetailsViewContainsTheTag()
      Failed asserting that false is true.
    And I see that the input field for tags in the details view contains the tag "tag4"     # FilesAppContext::iSeeThatTheInputFieldForTagsInTheDetailsViewContainsTheTag()
  • failure TESTS=acceptance, TESTS-ACCEPTANCE=users
    • failure acceptance-users 249
      • tests/acceptance/features/users.feature:100
Show full log
  Scenario: change columns visibility                          # /drone/src/github.com/nextcloud/server/tests/acceptance/features/users.feature:100
    Given I act as Jane                                        # ActorContext::iActAs()
    And I am logged in as the admin                            # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I open the User settings                               # SettingsMenuContext::iOpenTheUserSettings()
    And I open the settings                                    # AppSettingsContext::iOpenTheSettings()
      App settings could not be found
      The button to open the app settings could not be found (NoSuchElementException)
    And I see that the settings are opened                     # AppSettingsContext::iSeeThatTheSettingsAreOpened()
    When I toggle the showLanguages checkbox in the settings   # AppSettingsContext::iToggleTheCheckboxInTheSettingsTo()
    Then I see that the "Language" column is shown             # UsersSettingsContext::iSeeThatTheColumnIsShown()
    When I toggle the showLastLogin checkbox in the settings   # AppSettingsContext::iToggleTheCheckboxInTheSettingsTo()
    Then I see that the "Last login" column is shown           # UsersSettingsContext::iSeeThatTheColumnIsShown()
    When I toggle the showStoragePath checkbox in the settings # AppSettingsContext::iToggleTheCheckboxInTheSettingsTo()
    Then I see that the "Storage location" column is shown     # UsersSettingsContext::iSeeThatTheColumnIsShown()
    When I toggle the showUserBackend checkbox in the settings # AppSettingsContext::iToggleTheCheckboxInTheSettingsTo()
    Then I see that the "User backend" column is shown         # UsersSettingsContext::iSeeThatTheColumnIsShown()
sh: 1: kill: No such process

@MorrisJobke MorrisJobke merged commit 75deeb1 into master Feb 28, 2019
@MorrisJobke MorrisJobke deleted the bugfix/noid/fix-no-such-process-acceptance-tests branch February 28, 2019 15:41
@danxuliu
Copy link
Member

danxuliu commented Mar 1, 2019

I wrote a script that extracts the logs and shows the output of the failed ones.

Cool! :-D

The "no such process" was the highest ranking one.

Then I stand corrected and bow before your objective data ;-)

@MorrisJobke
Copy link
Member Author

Then I stand corrected and bow before your objective data ;-)

😆

@MorrisJobke
Copy link
Member Author

/backport to stable15

@MorrisJobke
Copy link
Member Author

/backport to stable14

@backportbot-nextcloud
Copy link

backport to stable15 in #14495

@backportbot-nextcloud
Copy link

backport to stable14 in #14496

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4. to release Ready to be released and/or waiting for tests to finish

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants