summaryrefslogtreecommitdiff
path: root/coccinelle/run-coccinelle.sh
Commit message (Collapse)AuthorAgeFilesLines
* coccinelle: correctly resolve our own macrosFrantisek Sumsal2020-10-091-2/+2
| | | | | | | | Coccinelle can't do this automagically and requires we supply it respective header files. Unfortunately, the option for this (--macro-file=) can be used only once, so let's create our own macro file by collecting macros needed for the semantic parser to be happy.
* coccinelle: drop the custom isomorphismsFrantisek Sumsal2020-10-041-2/+1
| | | | | | | | My former dumb me didn't read the documentation properly, so with the introduction of custom isomorphisms I caused two issues: 1) Masked all standard isomorphisms defined by Coccinelle 2) Replace the original issue with a completely new one
* coccinelle: exclude certain paths from the transformationsFrantisek Sumsal2019-04-291-2/+17
| | | | | | There's no point in running these transformation for certain files, mainly anything from src/boot/efi and src/shared/linux, as this code doesn't have access to our internal utility functions
* coccinelle: add explicit statement isomorphismsFrantisek Sumsal2019-04-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Coccinelle needs a custom isomorphism file with rules (isomorphisms) how to correctly rewrite conditions with explicit NULL checks (i.e. if (ptr == NULL)) to their shorter form (i.e. if (!ptr)). Coccinelle already contains such isomorphisms in its default .iso file, however, they're in the opposite direction, which results in useless output from coccinelle/equals-null.cocci. With this fix, `spatch` should no longer report patches like: @@ -628,8 +628,9 @@ static int path_deserialize_item(Unit *u f = path_result_from_string(value); if (f < 0) log_unit_debug(u, "Failed to parse result value: %s", value); - else if (f != PATH_SUCCESS) - p->result = f; + else {if (f != PATH_SUCCESS) + p->result = f; + } } else log_unit_debug(u, "Unknown serialization key: %s", key);
* scripts: use 4 space indentationZbigniew Jędrzejewski-Szmek2019-04-121-13/+13
| | | | | | | | | | | | | | | | | | We had all kinds of indentation: 2 sp, 3 sp, 4 sp, 8 sp, and mixed. 4 sp was the most common, in particular the majority of scripts under test/ used that. Let's standarize on 4 sp, because many commandlines are long and there's a lot of nesting, and with 8sp indentation less stuff fits. 4 sp also seems to be the default indentation, so this will make it less likely that people will mess up if they don't load the editor config. (I think people often use vi, and vi has no support to load project-wide configuration automatically. We distribute a .vimrc file, but it is not loaded by default, and even the instructions in it seem to discourage its use for security reasons.) Also remove the few vim config lines that were left. We should either have them on all files, or none. Also remove some strange stuff like '#!/bin/env bash', yikes.
* cocinelle: use GNU parallel to run spatchZbigniew Jędrzejewski-Szmek2018-06-131-2/+8
| | | | | | spatch is single-threaded, i.e. slow. On my machine it allocates 5 GB of memory and starts swapping, which makes it even slower. Using parallel makes the whole thing pleasantly fast.
* tools: make various scripts find the top-levle git dir automaticallyLennart Poettering2018-06-071-1/+2
|
* coccinelle: add option to make changes in placeZbigniew Jędrzejewski-Szmek2018-06-041-2/+10
|
* coccinelle: run spatch just on version-controlled filesZbigniew Jędrzejewski-Szmek2018-06-041-2/+5
| | | | | | | Also, allow run-cocinnelle.sh to be started from any directory. Unfortunately set -x does not work nicely anymore, because the list is too verbose. Replace it by an echo line.
* run-coccinelle.sh: use set -x for showing command line of "spatch"Lennart Poettering2018-03-231-4/+3
| | | | | Let's make sure run-coccinelle.sh generates similar output as run-integration-tests.sh, hence use the same "set -x" logic.
* coccinelle: slightly improve run-coccinelle.shLennart Poettering2018-02-281-2/+2
| | | | | | Let's include the command line to use to get the requested output. This makes it easy to copy/paste the command line out, and add "--in-place" to actually apply the changes "run-coccinelle.sh" outputs.
* coccinelle: drop empty-if.cocci scriptLennart Poettering2018-02-271-1/+0
| | | | | | It doesn't work, spits out only rubbish and was already excluded of run-coccinelle.sh. It's a pitty it doesn't work, but let's drop this dead piece of code for now.
* coccinelle: improve run-coccinelle.sh to take list of scripts to runLennart Poettering2017-12-071-1/+1
| | | | | Let's tweak run-coccinelle.sh to optionally take a list of scripts to run. If not specified, run all scripts, as before.
* coccinelle: add a run-coccinelle.sh script that runs all scriptsLennart Poettering2017-11-291-0/+11
One day we should start running something like this as part of CI so that non-well-formed commits are not even accepted...