1. 08 Mar, 2017 2 commits
  2. 25 Jan, 2017 2 commits
    • anonym's avatar
      Dogtail: use the remote shell's new Python session feature. · 1558f125
      anonym authored
      ... to significantly improve Dogtail's performance by saving state and
      reusing it between Dogtail commands.
      
      This is a massive commit, and it changes the semantics of the creation
      of Dogtail objects. Previously they just created the code that then
      would be run once an actionable method was called (.wait, .click etc),
      but now it works like in Python, that Dogtail will try to find the
      graphical element upon object creation.
      
      Will-fix: #12059
      1558f125
    • anonym's avatar
      Remote shell: extend with persistent Python 2.7 per-user sessions. · 7c1e999c
      anonym authored
      * "persistent": effects (e.g. assignments) survive between separate
        remote shell python commands.
      
      * "Python 2.7": because that is what Dogtail needs.
      
      * "per-user": the `dogtail` module must be imported as the user
        running the applications you intend to have Dogtail interact with.
      
      This will allow us to optimize the performance of Dogtail
      significantly, as well as reduce the code complexity of the Dogtail
      wrapper.
      
      Refs: #12059
      7c1e999c
  3. 29 Nov, 2016 1 commit
  4. 05 Nov, 2016 3 commits
  5. 04 Nov, 2016 2 commits
  6. 03 Nov, 2016 2 commits
  7. 02 Nov, 2016 1 commit
    • anonym's avatar
      Improve exception handling in the remote shell. · 8769946c
      anonym authored
      For now, let's just focus on remote shell timeouts, and for that let's
      be really sure we only catch *remote shell* timeouts, and not try_for()
      timeouts thrown from "outside" when wrapping around remote shell usage.
      8769946c
  8. 01 Nov, 2016 3 commits
  9. 25 Oct, 2016 3 commits
  10. 24 Oct, 2016 5 commits
    • anonym's avatar
      Use more consistent parameter ordering. · cbc2b87e
      anonym authored
      cbc2b87e
    • anonym's avatar
      Simplify. · a605ad80
      anonym authored
      a605ad80
    • anonym's avatar
      Rename test suite helper's file. · 45f94662
      anonym authored
      The "_helper" part is redundant, and it's not only about execution any
      more, but also the file operations provided by the remote shell.
      45f94662
    • anonym's avatar
      Extend remote shell with *safe* file operations. · fb63bad9
      anonym authored
      ... like reading a file, and writing or appending to a file. Now we can
      read/write *any* characters without worrying that it will do crazy
      things by being passed through the shell, as was the case before.
      
      This commit also:
      * adds some better reporting of errors happening on the server side by
        communicating back the exception thrown.
      * removes the `user` parameter from the VM.file_* methods. They were not
        used, any way, and simply do not feel like they fit. I think the only
        reason we had it initially was because it was implemented via the
        command interface, where a user concept makes a lot of sense.
      fb63bad9
    • anonym's avatar
      Encapsulate exec_helper's class. · e35abea0
      anonym authored
      ... to not "pollute" the global namespace with all our helpers. This is
      an example of how we can work towards #9030.
      
      Refs: #9030
      e35abea0
  11. 28 Sep, 2016 1 commit
    • anonym's avatar
      Remove now unnecessary code. · 4b5e4085
      anonym authored
      I've never seen the retrying (which would manifest it self with two+
      @debug_log()@ calls) happen for any _real_ use of the remote shell, only
      for the first one during `VMCommand.wait_until_remote_shell_is_up()`,
      and it does its own retrying.
      4b5e4085
  12. 27 Sep, 2016 1 commit
    • anonym's avatar
      Introduce a request ID for remote shell calls. · 4e341a2f
      anonym authored
      When a remote shell call is aborted while the command is executing, the
      next remote shell call will get as response the response meant for the
      aborted call. Using this unique ID we can make sure that requests will
      only get the intended responses.
      
      Will-fix: #11846
      4e341a2f
  13. 26 Sep, 2016 1 commit
    • anonym's avatar
      Run onioncircuits directly as the live user. · 2b76c549
      anonym authored
      onioncircuits now uses tor-controlport-filter, which is exposed to the
      live user. Also the per-process filtering should make the attack surface
      even smaller.
      2b76c549
  14. 05 Apr, 2016 1 commit
  15. 23 Feb, 2016 1 commit
  16. 15 Feb, 2016 1 commit
  17. 26 Jan, 2016 1 commit
    • intrigeri's avatar
      Test suite: bump a bit the timeout used when waiting for the remote shell. · 01a1d6f4
      intrigeri authored
      We still see "Remote shell seems to be down" caused by a timeout,
      and last time it happened the system was under heavy load.
      
      I would like to discard any chance that we're simply not waiting long
      enough. Given we wait up to 30 minutes for the system to boot, we can as
      well wait for a few more dozens seconds for the remote shell to start.
      01a1d6f4
  18. 10 Sep, 2015 2 commits
  19. 09 Sep, 2015 1 commit
    • anonym's avatar
      Refactor "retry Tor" code. · 35ee5cf3
      anonym authored
      There's some code simplification too, and the removal of the
      @new_circuit_tries counter, which is all over the place and is a bit
      hard to keep track of.
      
      Also for the wget/whois test we do not try to detect if Tor was the
      problem and only force a new circuit (and hence count it as a retry),
      since that could lead to an infinite loop. With the new helper, we
      always do MAX_NEW_TOR_CIRCUIT_RETRIES number of retries.
      35ee5cf3
  20. 08 Apr, 2015 1 commit
  21. 19 Feb, 2015 1 commit
    • Tails developers's avatar
      Retry sending the command in wait_until_remote_shell_is_up. · c4cd8dbd
      Tails developers authored
      It seems something in this branch (test/7821-tor) has made this
      function fail somethimes, possibly commit 1a55905 (Create the
      environment for remote shell calls more realisitcally).
      
      Trying the initial test command several times like in this commit
      seems to fix it, and the the client and server in sync. Let's see how
      it goes.
      c4cd8dbd
  22. 03 Feb, 2015 1 commit
  23. 19 Jan, 2015 1 commit
  24. 02 Oct, 2014 1 commit
  25. 23 Jul, 2013 1 commit