emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] scratch/merge-cedet-tests 8900419 148/316: Added arduino p


From: Edward John Steere
Subject: [Emacs-diffs] scratch/merge-cedet-tests 8900419 148/316: Added arduino project detection
Date: Sat, 28 Jan 2017 09:09:55 +0000 (UTC)

branch: scratch/merge-cedet-tests
commit 8900419f3e60994e43c15216db072bc7b0ec08a7
Author: Eric Ludlam <address@hidden>
Commit: Edward John Steere <address@hidden>

    Added arduino project detection
    
    * test/manual/cedet/cedet/ede/detect-utest.el:
     (ede-detect-utest-project-dirmatch-list): Add arduino.  Add subdir
     tests for dirmatch and arudino. (ede-detect-utest): Also test for
     arduino lib not loading/loading. (ede-detect-utest-arduino-fname):
     New.  (ede-detect-utest-init-dirmatch): Reconfigure for reading
     arduino data out of temp created config files.
---
 test/manual/cedet/cedet/ede/detect-utest.el |   46 ++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/test/manual/cedet/cedet/ede/detect-utest.el 
b/test/manual/cedet/cedet/ede/detect-utest.el
index 44714f6..588adc8 100644
--- a/test/manual/cedet/cedet/ede/detect-utest.el
+++ b/test/manual/cedet/cedet/ede/detect-utest.el
@@ -47,7 +47,10 @@ Each entry is a cons cell:
 
 (defvar ede-detect-utest-project-dirmatch-list
   '(
+    ("src/dirmatch/MyDirmatch/sub/dmlib.cpp" . 
ede-detect-test-dirmatch-project-p)
     ("src/dirmatch/MyDirmatch/MyDirmatch.cpp" . 
ede-detect-test-dirmatch-project-p)
+    ("src/arduino/Blink/sub/lib.cpp" . ede-arduino-project-p)
+    ("src/arduino/Blink/Blink.ino" . ede-arduino-project-p)
     )
   "List of sources to load in projects detected via DIRMATCH feature.
 Each entry is a cons cell:
@@ -94,6 +97,12 @@ Each entry is a cons cell:
            (push "dirtest noload expected" errlog))
        (semantic-ia-utest-log "** Successfully did not load DIRTEST project."))
 
+      (if (featurep 'ede/arduino)
+         (progn
+           (semantic-ia-utest-log  "!! Project type using Arduino loaded 
unexpectedly.")
+           (push "arduino noload expected" errlog))
+       (semantic-ia-utest-log "** Successfully did not load Arduino project."))
+
       ;; Now make sure that DIRTEST is testing properly.
       (ede-detect-utest-loop ede-detect-utest-project-dirmatch-list)
 
@@ -105,6 +114,12 @@ Each entry is a cons cell:
            (push "dirtest load expected" errlog))
        (semantic-ia-utest-log "** Successfully loaded DIRTEST project."))
 
+      (if (not (featurep 'ede/arduino))
+         (progn
+           (semantic-ia-utest-log  "!! Project type using Arduino didn't 
loaded.")
+           (push "arduino load expected" errlog))
+       (semantic-ia-utest-log "** Successfully loaded Arduino project."))
+
       ;; Close out the test suite.
       (cedet-utest-log-shutdown
        "EDE DETECT"
@@ -227,8 +242,15 @@ Each entry is a cons cell:
                    temporary-file-directory)
   "A config file to use with DIRTEST.")
 
+(defvar ede-detect-utest-arduino-fname
+  (expand-file-name (concat (make-temp-name "utest-arduino-") ".txt")
+                   temporary-file-directory)
+  "A config file to use with detection of arduino.")
+
 (defun ede-detect-utest-init-dirmatch ()
   "Init the config file for for dirtesting."
+
+  ;; Setup the DIRMATCH project type.
   (let ((mypath (expand-file-name "dirmatch" (ede-detect-utest-basedir))))
     ;;(message "Dirmatch Location: %s" mypath)
     (save-excursion
@@ -236,7 +258,29 @@ Each entry is a cons cell:
       (erase-buffer)
       (insert "path=" mypath "\n")
       (save-buffer 0)
-      )))
+      ))
+
+  ;; Override some bits of the ARDUINO project type.
+  (setq ede-arduino-preferences-file ede-detect-utest-arduino-fname)
+
+  (let ((mypath (expand-file-name "arduino" (ede-detect-utest-basedir))))
+    ;;(message "Dirmatch Location: %s" mypath)
+    (save-excursion
+      (set-buffer (semantic-find-file-noselect ede-detect-utest-arduino-fname))
+      (erase-buffer)
+      (insert "sketchbook.path=" mypath "\n"
+             "serial.port=tty00\n"
+             "board=uno\n")
+      (save-buffer 0)
+      ) )
+  ;; Now we need to augment the existing autoloader for arduino.
+  (let* ((arduinoauto (object-assoc 'ede/arduino :file
+                                   ede-project-class-files))
+        (adm (oref arduinoauto proj-root-dirmatch)))
+    ;; Splice the new tmp pref file into the system.
+    (oset adm :fromconfig ede-arduino-preferences-file))
+
+  )
 
 (ede-add-project-autoload
  (ede-project-autoload "dirmatchtest"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]