on master help sign in
Added preliminary report example (#105)
cc07ccfiko
benchmarks/default.nix+22−1
@@ -24,7 +24,7 @@ let
24 typeable-openapi-diff-differ = pkgs.writeScript "typeable-openapi-diff-differ" ''
24 typeable-openapi-diff-differ = pkgs.writeScript "typeable-openapi-diff-differ" ''
25 #!${pkgs.stdenv.shell}
25 #!${pkgs.stdenv.shell}
26 set +e
26 set +e
27− ${typeable-openapi-diff-exe} -s $1 -c $2 -o $3/typeable.md
27+ ${typeable-openapi-diff-exe} -c $1 -s $2 -o $3/typeable.md
28 exit 0
28 exit 0
29 '';
29 '';
30
30
@@ -159,6 +159,27 @@ let
159 done
159 done
160 '';
160 '';
161
161
162+ benchmarkReportTemplate = root:
163+ let
164+ tools = [
165+ "Typeable"
166+ "Atlassian"
167+ "OpenApi Tools"
168+ "oasdiff"
169+ "Bump.sh"
170+ ];
171+ foo = with pkgs.lib.strings;
172+ concatMapStrings (x: "| " + x) ([ "" ] ++ tools) + "| \n" + concatMapStrings (_: "|---") ([ "" ] ++ tools) + "| \n" +
173+ concatMapStrings
174+ (path:
175+ let
176+ relativePath = pkgs.lib.removePrefix (builtins.toString root + "/") (builtins.toString path);
177+
178+ in
179+ "[${relativePath}](./${relativePath})${concatMapStrings (_: " | ✅❌") tools} \n")
180+ (getInputs root);
181+ in
182+ foo;
162
183
163in
184in
164runBenchmark ../test/golden/common
185runBenchmark ../test/golden/common
benchmarks/report.mdnew file+41
@@ -0,0 +1,41 @@
1+| | Typeable | Atlassian | OpenApi Tools | oasdiff | Bump.sh |
2+| -------------------------------------------------------------------------------------------------------------------------- | -------- | --------- | ------------- | ------- | ------- |
3+| [enum-anyof](./enum-anyof) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
4+| [id](./id) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
5+| [json/recursive](./json/recursive) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
6+| [maximum-lowered](./maximum-lowered) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
7+| [pathItem/operation/parameters/allowEmptyValue/reset](./pathItem/operation/parameters/allowEmptyValue/reset) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
8+| [pathItem/operation/parameters/allowEmptyValue/set](./pathItem/operation/parameters/allowEmptyValue/set) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
9+| [pathItem/operation/parameters/change](./pathItem/operation/parameters/change) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
10+| [pathItem/operation/parameters/required/false/add](./pathItem/operation/parameters/required/false/add) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
11+| [pathItem/operation/parameters/required/false/del](./pathItem/operation/parameters/required/false/del) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
12+| [pathItem/operation/parameters/required/reset](./pathItem/operation/parameters/required/reset) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
13+| [pathItem/operation/parameters/required/set](./pathItem/operation/parameters/required/set) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
14+| [pathItem/operation/parameters/required/true/add](./pathItem/operation/parameters/required/true/add) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
15+| [pathItem/operation/parameters/required/true/del](./pathItem/operation/parameters/required/true/del) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
16+| [pathItem/operation/requestBody/mediaTypeObject/add](./pathItem/operation/requestBody/mediaTypeObject/add) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
17+| [pathItem/operation/requestBody/mediaTypeObject/change](./pathItem/operation/requestBody/mediaTypeObject/change) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
18+| [pathItem/operation/requestBody/mediaTypeObject/del](./pathItem/operation/requestBody/mediaTypeObject/del) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
19+| [pathItem/operation/requestBody/required/reset](./pathItem/operation/requestBody/required/reset) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
20+| [pathItem/operation/requestBody/required/set](./pathItem/operation/requestBody/required/set) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
21+| [pathItem/operation/responses/add](./pathItem/operation/responses/add) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
22+| [pathItem/operation/responses/change/headers/mandatory/add](./pathItem/operation/responses/change/headers/mandatory/add) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
23+| [pathItem/operation/responses/change/headers/mandatory/del](./pathItem/operation/responses/change/headers/mandatory/del) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
24+| [pathItem/operation/responses/change/headers/optional/add](./pathItem/operation/responses/change/headers/optional/add) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
25+| [pathItem/operation/responses/change/headers/optional/del](./pathItem/operation/responses/change/headers/optional/del) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
26+| [pathItem/operation/responses/change/mediaTypeObject/add](./pathItem/operation/responses/change/mediaTypeObject/add) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
27+| [pathItem/operation/responses/change/mediaTypeObject/change](./pathItem/operation/responses/change/mediaTypeObject/change) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
28+| [pathItem/operation/responses/change/mediaTypeObject/del](./pathItem/operation/responses/change/mediaTypeObject/del) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
29+| [pathItem/operation/responses/del](./pathItem/operation/responses/del) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
30+| [prod/6159](./prod/6159) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
31+| [prod/enum](./prod/enum) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
32+| [prod/pure](./prod/pure) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
33+| [prod/with-latest](./prod/with-latest) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
34+| [property-removed](./property-removed) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
35+| [property-removed-additional](./property-removed-additional) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
36+| [property-required](./property-required) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
37+| [recursive](./recursive) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
38+| [security-scheme](./security-scheme) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
39+| [servers](./servers) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
40+| [type-changing](./type-changing) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |
41+| [unguarded-recursive](./unguarded-recursive) | ✅❌ | ✅❌ | ✅❌ | ✅❌ | ✅❌ |