|
3 | 3 | [practitest-firecracker.cli :refer [parse-args]] |
4 | 4 | [practitest-firecracker.practitest :refer [make-client |
5 | 5 | create-sf-testset |
6 | | - populate-sf-results-old |
| 6 | + make-runs |
7 | 7 | populate-sf-results |
8 | | - create-or-update-sf-testset]] |
9 | | - [practitest-firecracker.surefire :refer [parse-reports-dir]] |
10 | | - [test-xml-parser.core :refer [send-directory remove-bom return-files delete-recursively!]] |
| 8 | + create-testsets |
| 9 | + group-tests |
| 10 | + create-or-update-tests |
| 11 | + create-instances |
| 12 | + create-runs]] |
| 13 | + [firecracker-report-parser.core :refer [send-directory parse-files]] |
11 | 14 | [clojure.pprint :as pprint] |
12 | | - [clojure.java.io :refer [file]]) |
| 15 | + [clojure.java.io :refer [file]] |
| 16 | + [clj-time.core :as t]) |
13 | 17 | (:gen-class)) |
14 | 18 |
|
15 | 19 | (defn exit [status msg] |
|
24 | 28 | (println (str ~module " elapsed time: " (/ (double (- (. System (nanoTime)) start#)) 1000000.0) " msecs"))) |
25 | 29 | ret#)) |
26 | 30 |
|
27 | | -(defn clean-tmp-folder [directory] |
28 | | - (doseq [path directory] |
29 | | - (delete-recursively! path))) |
30 | | - |
31 | 31 | (defn -main [& args] |
32 | 32 | (let [{:keys [action options exit-message ok?]} (parse-args args)] |
33 | 33 | (if exit-message |
34 | 34 | (exit (if ok? 0 1) exit-message) |
35 | | - (do |
36 | | - (doseq [report-path (:reports-path options)] |
37 | | - (remove-bom report-path (:temp-folder options))) |
38 | | - (let [client (make-client (select-keys options [:email :api-token :api-uri :max-api-rate])) |
39 | | - directory (map #(.getAbsolutePath (file (:temp-folder options) %)) (:reports-path options)) |
40 | | - reports (parse-reports-dir directory) |
41 | | - additional-reports (send-directory directory reports)] |
| 35 | + (let [client (make-client (select-keys options [:email :api-token :api-uri :max-api-rate])) |
| 36 | + directory (:reports-path options) |
| 37 | + dirs (for [dir directory] (clojure.java.io/file dir)) |
| 38 | + parsed-dirs (for [dir (file-seq (first dirs))] (parse-files dir)) |
| 39 | + additional-reports (send-directory parsed-dirs (:test-case-as-pt-test-step options) (:multitestset options) (:testset-name options) false) |
| 40 | + start-time (t/now)] |
42 | 41 | (case action |
43 | 42 | "display-config" |
44 | 43 | (do |
45 | 44 | (pprint/pprint {"=============== additional-reports: ===============" additional-reports}) |
46 | | - (pprint/pprint {"=============== FC original reports val: ===============" reports}) |
47 | | - (clean-tmp-folder directory)) |
| 45 | + (pprint/pprint {"=============== directory: ===============" directory})) |
48 | 46 |
|
49 | 47 | "display-options" |
50 | 48 | (do |
51 | 49 | (pprint/pprint {"=============== options: ===============" options}) |
52 | | - (pprint/pprint {"=============== args: ===============" args}) |
53 | | - (clean-tmp-folder directory)) |
| 50 | + (pprint/pprint {"=============== args: ===============" args})) |
54 | 51 |
|
55 | | - "create-testset" |
56 | | - (let [testset (create-or-update-sf-testset client options additional-reports)] |
57 | | - (clean-tmp-folder directory) |
58 | | - (exit 0 (format "TestSet ID: %s" (:id testset)))) |
| 52 | + ;; "create-testset" |
| 53 | + ;; (do |
| 54 | + ;; (doall |
| 55 | + ;; (pmap |
| 56 | + ;; (fn [report] |
| 57 | + ;; (let [testset (create-or-update-sf-testset client options report)] |
| 58 | + ;; (pprint/pprint (format "Populated TestSet ID: %s" (:id testset))))) |
| 59 | + ;; additional-reports)) |
| 60 | + ;; (exit 0 "Done")) |
59 | 61 |
|
60 | 62 | "populate-testset" |
61 | 63 | (do |
62 | | - (populate-sf-results client |
63 | | - options |
64 | | - additional-reports) |
65 | | - (clean-tmp-folder directory) |
| 64 | + (doall |
| 65 | + (pmap |
| 66 | + (fn [report] |
| 67 | + (populate-sf-results client |
| 68 | + options |
| 69 | + report)) |
| 70 | + additional-reports)) |
66 | 71 | (exit 0 "Done")) |
67 | 72 |
|
68 | 73 | "create-and-populate-testset" |
69 | | - (let [testset (timef |
70 | | - "create-or-update-testset" |
71 | | - (create-or-update-sf-testset client options additional-reports))] |
| 74 | + (do |
72 | 75 | (timef |
73 | | - "populate-results" |
74 | | - (populate-sf-results client |
75 | | - (assoc options |
76 | | - :skip-validation? true |
77 | | - :testset-id (:id testset)) |
78 | | - additional-reports)) |
79 | | - (clean-tmp-folder directory) |
80 | | - (exit 0 (format "Populated TestSet ID: %s" (:id testset)))) |
81 | | - "test" |
82 | | - (let [testset (create-or-update-sf-testset client options additional-reports additional-reports)] |
83 | | - (clean-tmp-folder directory) |
84 | | - (exit 0 (format "TestSet ID: %s" (:id testset))))) |
85 | | - ))))) |
| 76 | + "create-and-populate-testset" |
| 77 | + (-> (create-testsets client options additional-reports) |
| 78 | + (group-tests client options) |
| 79 | + (create-or-update-tests client options start-time) |
| 80 | + (create-instances client options start-time) |
| 81 | + (make-runs client options start-time) |
| 82 | + (create-runs client options start-time) |
| 83 | + )) |
| 84 | + (exit 0 (format "Done")))))))) |
0 commit comments