Commits (20)
-
Charles Ferguson authored9299a45c
-
Charles Ferguson authored
The output from the lint and test might look a little different, but it is possible to combine the output so that we get something consistent being written out. The output_filter is hoped to do that.
7f35d750 -
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 -
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 -
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 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 -
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 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 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 -
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 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 authored
The filter was using bare 'read' which was not working with the leading spaces. Must use -r and clear IFS for this to work.
d5bb3678 -
Charles Ferguson authored
The fish code that checked for the file needing to be deleted was using the bash syntax, not the fish syntax.
748146e1 -
Charles Ferguson authored
The clean action will clear up the project so that there are no files left behind which should be removed from the environment. At present we only have the CI specific files being removed, but the framework for the other languages to be cleaned is also present (unused).
65a5762c -
Charles Ferguson authored
When python files are cleaned, we will clear out all the .pyc, .pyo files, and any __pycache__ directories.
21dc1c91 -
Charles Ferguson authored
We can expand the language names to match the extensions and the magic recognition for those files. This means than many definitions become a lot easier to set, as we may just specify which language files to match.
753e8b8d -
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 -
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 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 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
Showing
common.shell
0 → 100644
junit-xml
0 → 100755