         outdated-jars (map #(.getName %)
                            (old-jars (File. micromanager "Install_AllPlatforms") 24))
         installer-ok (exe-on-server? bits today-token)]
-    (when-not (and (empty? vs-error-text) (empty? outdated-dlls)
+    (when-not (and (empty? vs-error-text) (empty? outdated-dlls) (not test)
                    (empty? javac-errs) (empty? outdated-jars)
                    installer-ok)
       (str

         (str-lines (flatten (list data)))
         "None.")))

(defn report-build-errors [bits mode]
  (let [f (result-file bits mode)
        result-txt (slurp f)
        vs-error-text (visual-studio-error-text result-txt)

        pattern (re-pattern (str "MMSetup" bits "BIT_[^\\s]+?_" date-token ".exe"))]
    (re-find pattern txt)))

(defn missing-vcproj []
  (let [device-adapter-parent-dirs [(File. micromanager "/DeviceAdapters")
                                    (File. micromanager "/SecretDeviceAdapters")]
        device-adapter-dirs (filter #(and (.isDirectory %)
                                          (not (.. % getName (startsWith "."))))
                                    (mapcat #(.listFiles %) device-adapter-parent-dirs))
        directories-without-vcproj
        (filter identity
                (for [device-adapter-dir device-adapter-dirs]
                  (when (empty? (filter #(.. % getName (endsWith ".vcproj"))
                                        (file-seq device-adapter-dir)))
                    device-adapter-dir)))]
        (sort
          (clojure.set/difference
            (set (map #(.getName %) directories-without-vcproj))
            #{"dc1394" "Video4Linux"}))))

(defn device-vcproj-files []
  (let [device-adapter-parent-dirs [(File. micromanager "/DeviceAdapters")
                                    (File. micromanager "/SecretDeviceAdapters")]]
    (filter #(.. % getName (endsWith ".vcproj"))
            (mapcat file-seq device-adapter-parent-dirs))))

(defn dll-name [file]
  (second (re-find #"mmgr_dal_(.*?).dll" (.getName file))))
