1. 21 Jul, 2018 3 commits
  2. 20 Jul, 2018 8 commits
    • Sam Thursfield's avatar
      functional-tests: Fix hang in Helper.stop() · bc66cf7a
      Sam Thursfield authored
      If the process had already stopped, we would run the mainloop anyway
      and hang forever.
      bc66cf7a
    • Sam Thursfield's avatar
      functional-tests: Reduce timeout to 60 seconds · 0a39a3b1
      Sam Thursfield authored
      It's annoying to wait 3 minutes in cases where a test has just hung
      (which seems to happen frequently :/).
      
      If a test suite times out after 1 minute, let's ideally try to
      speed it up, but if not split it up into parts that do execute
      in under 1 minute.
      0a39a3b1
    • Sam Thursfield's avatar
      functional-tests: Kill all subprocesses if one dies · a29fbe95
      Sam Thursfield authored
      This fixes an issue where `meson test` would hang until the test timed
      out, instead of exiting immediately if one subprocess failed.
      a29fbe95
    • Sam Thursfield's avatar
    • Sam Thursfield's avatar
      functional-tests: Fix exception handling from GLib main loop · 9bb27e8e
      Sam Thursfield authored
      A common mistake with PyGObject code is to raise exceptions in GLib
      main loop callbacks hoping that they will function correctly. Instead
      they are ignored and we need to pass them outside the main loop. Note
      in particular that sys.exit() actually just raises an exception, so it
      can't work inside GLib main loop callbacks!
      
      This fixes issues where a Tracker process would exit and the test would
      hang instead of raising an error.
      9bb27e8e
    • Sam Thursfield's avatar
      functional-tests: Run extractor tests before the rest of the functional tests · a151c56e
      Sam Thursfield authored
      They are much faster and fail less weirdly than the tests that
      involve waiting for the miner.
      a151c56e
    • Sam Thursfield's avatar
      meson: Fix warnings from extractor during functional-tests · a86d55c6
      Sam Thursfield authored
      In order to run tracker-extract without installing it, we set the
      TRACKER_EXTRACT_RULES_DIR path to point to the src/tracker-extract
      directory.
      
      This is problematic because that directory contains lots of stuff
      that isn't .rule files and also contains .rule files for extractors
      which might not be enabled. The result being pointless warnings
      during the tests like this:
      
          ** (tracker-extract:29193): WARNING **: 16:18:11.703: Could not load module '/home/sam/src/tracker-miners/build/tests/functional-tests/../../src/tracker-extract/libextract-libav.so': /home/sam/src/tracker-miners/build/tests/functional-tests/../../src/tracker-extract/libextract-libav.so: cannot open shared object file: No such file or directory
      
      Using Meson it's fairly straightforward to create a separate
      directory in the build tree to contain these files, which fixes
      the warnings.
      
      The same thing could be implemented for Autotools, but it doesn't
      affect the actual functionality of the tests so I haven't spent time
      on it myself.
      a86d55c6
    • Sam Thursfield's avatar
      meson: Enable verbose functional-tests by default · 8db07938
      Sam Thursfield authored
      Since Meson hides all the output anyway by default, there's no point in
      having this extra step.
      8db07938
  3. 19 Jul, 2018 22 commits
  4. 16 Jul, 2018 3 commits
    • Sam Thursfield's avatar
      functional-tests: Remove Jazz_Audio_OPLs0 test · 90be9aa6
      Sam Thursfield authored
      This file is encrypted and seems to require some proprietary software
      to decode it.
      90be9aa6
    • Sam Thursfield's avatar
      functional-tests: Rewrite tracker-extract tests to parse JSON-LD output · baf8b40e
      Sam Thursfield authored
      These tests have been broken for about 2 years (since the TrackerResource
      work landed and changed the output generated by `tracker-extract
      --file`).
      
      In this commit they are reworked with a focus on using JSON-LD rather
      than doing any custom parsing of SPARQL. The test description files are
      now JSON too rather than .ini format, which is not stricty needed but
      should make the code a lot simpler
      
      The failure messages could still be improved in many cases, help is
      welcome here!
      baf8b40e
    • Sam Thursfield's avatar
      meson: Rework how 400-extractor-metadata is run · 441a0886
      Sam Thursfield authored
      We now create a separate test() instance corresponding to each of the
      test cases, which were previously treated as one single test.
      
      This allows running only one of the tests by doing something like
      `meson test functional/extract/images/roi.expected.json`, which is
      useful for debugging.
      441a0886
  5. 15 Jul, 2018 2 commits
  6. 02 Jul, 2018 2 commits