1. 03 Sep, 2017 1 commit
    • Charles Ferguson's avatar
      Ensure that the 'perl-env' and 'python-env' command exit with the RC. · dc496318
      Charles Ferguson authored
      When the perl-env and python-env tools are executed with a command
      line passed to them, they would not terminate with the correct return
      code. This meant that their use as part of a test environment (although
      I'm not keen on that - they will go away eventually) would not be
      possible.
      
      Fortunately, it's just a matter of returning the correct code immediately
      after the command runs. Or I could just have used 'set -e', but didn't
      in the end.
      dc496318
  2. 19 Aug, 2017 3 commits
    • Charles Ferguson's avatar
      Update the output format so that mixed languages look tidier. · 2f4509bc
      Charles Ferguson authored
      The shell + python output looked very untidy because the indentation
      was very wrong. Really we could do with using one of the exec formats
      to handle the output instead of merely piping outputs. But for now
      this does the job.
      2f4509bc
    • Charles Ferguson's avatar
      Add basic shell file processing. · b9713b17
      Charles Ferguson authored
      Shell files are not normally checked, and the checking we perform
      is only 'shellcheck' but that's fine for us because it gives us
      a simple way to ensure that the scripts will actually do what we
      expect.
      
      However, there is currently no way to restrict the shellcheck
      version to one that is known. This may need to be addressed in
      the future, but for now we use the system installed version.
      b9713b17
    • Charles Ferguson's avatar
      Update perl and python to use the {language} specification. · 54b6fa03
      Charles Ferguson authored
      The '{language}' specification meanst hat files that don't have an
      extension can still be processed by the tools. This lets us name
      files without extensions in order to make them implementation
      agnostic, and still have them prcessed by the ci system.
      54b6fa03
  3. 19 Jun, 2017 1 commit
  4. 18 Jun, 2017 1 commit
  5. 17 Jun, 2017 3 commits
  6. 14 Jun, 2017 3 commits
    • Charles Ferguson's avatar
      Fix for perl test runs. · 551eb49f
      Charles Ferguson authored
      Perl test runs would fail due to problems with the deletion of the
      xml files - of which there were none. Similarly, we didn't support
      version numbers of modules that were not integers, without quotes.
      551eb49f
    • Charles Ferguson's avatar
      Add fixup for nosetests XML output. · 95d2f280
      Charles Ferguson authored
      The XML output for nosetests does not separate the test module from
      the class. A fixup hasa been added to try to make these results more
      useful.
      95d2f280
    • Charles Ferguson's avatar
      Add support for common directories for artifacts. Merge JUnit files. · c29d75a1
      Charles Ferguson authored
      We now have common directories for the artifacts produced, the logs
      we generate and the environment files that we use. These fixed
      directories mean that an automation system can more readily rely on
      the locations provided.
      
      We have a tidier mechanism for reporting the results in XML, by
      writing multiple files, and then merging them. We could still do a
      lot more with this, but it works pretty well right now.
      
      This change covers all the components, but it has only been tested
      with the Python code really.
      c29d75a1
  7. 11 Jun, 2017 3 commits
    • Charles Ferguson's avatar
      More updates to fix use of sed, this time on linux. · 3b7c0a3f
      Charles Ferguson authored
      The {} usage on OSX appears to work just fine, but on Linux, it
      reports that the values in the braces are badly formed. This time I
      think it's the GNU tool that's right, and escaping the braces seems
      to fix the issue.
      
      Additionally we handle the escaping of the replaced strings a little
      better.
      3b7c0a3f
    • Charles Ferguson's avatar
      Small change to the output message to stop warning. · dc648b89
      Charles Ferguson authored
      The ~ character in double quotes was being reported as a warning
      that it would not be expanded, from shellcheck. We know it won't
      be, as we're just printing a message. Putting it in single quotes
      should remove the warning.
      dc648b89
    • Charles Ferguson's avatar
      Try to fix the usage of sed with fish and the exported variables on OSX. · 492b09b0
      Charles Ferguson authored
      On OSX there are different limitations, such as not being able to have
      empty sub-expressions in the regular expressions passed to sed.
      Additionally, having a different version of local::lib installed which
      understands fish, and generates the exports differently broke the
      automated translater. Working with 'any version' is hard, but I think
      we may be nearly there.
      492b09b0
  8. 09 Jun, 2017 2 commits
    • Charles Ferguson's avatar
      Update the tools used by perl to be defined in the perl script. · 25e127e3
      Charles Ferguson authored
      The tools were fixed installing specific versions, but that's not a
      lot of good if you're trying to allow the environment to be generic.
      The code has been pinched from the Python common code, which allows
      the configuration to be used to set up the versions of the tools
      that are to be used.
      25e127e3
    • Charles Ferguson's avatar
      Fix the fish translations of the environment syntax. · 07c84e68
      Charles Ferguson authored
      The environment we got back from the 'local::lib' tool is being
      translated into 'fish' commands so that the environment is set up
      properly for the fish sell. However, it was broken. The expressions
      that were given had incorrect escaping, so they ended up not working
      properly, and the regular user environment was used instead.
      
      The sed translations should now be fixed. Needs checking on OSX, but
      it certainly works on Linux.
      07c84e68
  9. 04 Jun, 2017 1 commit
    • Charles Ferguson's avatar
      Update perl-env-setup to search modules manually. Use perl -f. · 68c0dc70
      Charles Ferguson authored
      The module search used to use a 'use' statement to find the modules
      and then read the '$VERSION' variable. This would allow code to be
      executed (which would be a bad thing), and means that we're at the
      whim of what the module does to '$VERSION'. In this case, the issue
      lies with DBI, which calls 'eval' on the version number, turning
      1.630 into 1.63, which isn't the same thing.
      
      Now, we try to locate the file and extract the version number
      from it as assigned to a variable. If we can do this then all is
      well and we use that. If we cannot, then we fall back to using
      'require', which will then do the code execution, but should at
      least find the file.
      
      The -f option disables the reading of the site customisations,
      which could affect the operation of the code.
      68c0dc70
  10. 28 May, 2017 2 commits
  11. 27 May, 2017 2 commits