You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2016/03/09 21:24:01 UTC

[46/50] incubator-mynewt-newt git commit: "test all" command.

"test all" command.

Note: Some tests fail due to some sim/os issues which need to be
addressed.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/commit/e49f113f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/tree/e49f113f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/diff/e49f113f

Branch: refs/heads/develop
Commit: e49f113f3817867b8ee690ac4f7ec07ecf417cb7
Parents: d9b22a6
Author: ccollins at iori.nightmare.heaven <cc...@iori.nightmare-heaven.no-ip.biz>
Authored: Wed Mar 9 09:59:25 2016 -0800
Committer: ccollins at iori.nightmare.heaven <cc...@iori.nightmare-heaven.no-ip.biz>
Committed: Wed Mar 9 10:00:09 2016 -0800

----------------------------------------------------------------------
 newt/builder/cmds.go     | 71 +++++++++++++++++++++++++++----------------
 newt/pkg/localpackage.go |  8 +++--
 2 files changed, 50 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/e49f113f/newt/builder/cmds.go
----------------------------------------------------------------------
diff --git a/newt/builder/cmds.go b/newt/builder/cmds.go
index abcbd47..dcdb37c 100644
--- a/newt/builder/cmds.go
+++ b/newt/builder/cmds.go
@@ -99,40 +99,57 @@ func testRunCmd(cmd *cobra.Command, args []string) {
 		cli.NewtUsage(cmd, nil)
 	}
 
-	t := target.ResolveTarget(TARGET_TEST_NAME)
-	if t == nil {
-		cli.NewtUsage(cmd, util.NewNewtError("can't find unit test target: "+
-			TARGET_TEST_NAME))
-	}
-
-	b, err := NewBuilder(t)
-	if err != nil {
-		cli.NewtUsage(cmd, err)
-	}
-
 	// Verify and resolve each specified package.
+    testAll := false
 	packs := []*pkg.LocalPackage{}
 	for _, pkgName := range args {
-		dep, err := pkg.NewDependency(nil, pkgName)
-		if err != nil {
-			cli.NewtUsage(cmd, util.NewNewtError(fmt.Sprintf("invalid "+
-				"package name: %s (%s)", pkgName, err.Error())))
-		}
-		if dep == nil {
-			cli.NewtUsage(cmd, util.NewNewtError("invalid package name: "+
-				pkgName))
-		}
-		pack := project.GetProject().ResolveDependency(dep)
-		if pack == nil {
-			cli.NewtUsage(cmd, util.NewNewtError("unknown package: "+
-				pkgName))
-		}
+        if pkgName == "all" {
+            testAll = true
+        } else {
+            dep, err := pkg.NewDependency(nil, pkgName)
+            if err != nil {
+                cli.NewtUsage(cmd, util.NewNewtError(fmt.Sprintf("invalid "+
+                    "package name: %s (%s)", pkgName, err.Error())))
+            }
+            if dep == nil {
+                cli.NewtUsage(cmd, util.NewNewtError("invalid package name: "+
+                    pkgName))
+            }
+            pack := project.GetProject().ResolveDependency(dep)
+            if pack == nil {
+                cli.NewtUsage(cmd, util.NewNewtError("unknown package: "+
+                    pkgName))
+            }
+
+            packs = append(packs, pack.(*pkg.LocalPackage))
+        }
+	}
 
-		packs = append(packs, pack.(*pkg.LocalPackage))
+	// Test each specified package.
+	t := target.ResolveTarget(TARGET_TEST_NAME)
+	if t == nil {
+		cli.NewtUsage(cmd, util.NewNewtError("Can't find unit test target: "+
+			TARGET_TEST_NAME))
 	}
 
-	// Test each package.
+    if testAll {
+        packs = []*pkg.LocalPackage{}
+        for _,repoHash := range project.GetProject().PackageList() {
+            for _,pack := range *repoHash {
+                lclPack := pack.(*pkg.LocalPackage)
+                if lclPack.IsTestable() {
+                    packs = append(packs, lclPack)
+                }
+            }
+        }
+    }
+
 	for _, pack := range packs {
+        b, err := NewBuilder(t)
+        if err != nil {
+            cli.NewtUsage(cmd, err)
+        }
+
 		err = b.Test(pack)
 		if err != nil {
 			cli.NewtUsage(cmd, err)

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/e49f113f/newt/pkg/localpackage.go
----------------------------------------------------------------------
diff --git a/newt/pkg/localpackage.go b/newt/pkg/localpackage.go
index 089f7cf..52a7c77 100644
--- a/newt/pkg/localpackage.go
+++ b/newt/pkg/localpackage.go
@@ -200,8 +200,6 @@ func (pkg *LocalPackage) readDesc(v *viper.Viper) (*PackageDesc, error) {
 	return pdesc, nil
 }
 
-// Load reads everything that isn't identity specific into the
-// package
 func (pkg *LocalPackage) Init(repo *repo.Repo, pkgDir string) {
 	pkg.repo = repo
 	pkg.basePath = filepath.Clean(pkgDir) + "/"
@@ -240,6 +238,8 @@ func (pkg *LocalPackage) Save() error {
 	return nil
 }
 
+// Load reads everything that isn't identity specific into the
+// package
 func (pkg *LocalPackage) Load() error {
 	// Load configuration
 	log.Printf("[DEBUG] Loading configuration for package %s", pkg.basePath)
@@ -272,6 +272,10 @@ func (pkg *LocalPackage) Load() error {
 	return nil
 }
 
+func (pkg *LocalPackage) IsTestable() bool {
+    return util.NodeExist(pkg.BasePath() + "/src/test")
+}
+
 func LoadLocalPackage(repo *repo.Repo, pkgDir string) (*LocalPackage, error) {
 	pkg := &LocalPackage{}
 	pkg.Init(repo, pkgDir)