tools: add tst_ncpus/_max api to get number of CPUS

Add tst_ncpus and tst_ncpus_max api to get the number of CPUS
online and configured.

Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Caspar Zhang <caspar@casparzhang.com>
diff --git a/lib/safe_macros.c b/lib/safe_macros.c
index b9802fc..9c50f89 100644
--- a/lib/safe_macros.c
+++ b/lib/safe_macros.c
@@ -386,3 +386,24 @@
 
 	return rval;
 }
+
+long safe_sysconf(const char *file, const int lineno,
+		  void (cleanup_fn)(void), int name)
+{
+	long rval;
+	errno = 0;
+
+	rval = sysconf(name);
+
+	if (rval == -1) {
+		if (errno == EINVAL)
+			tst_brkm(TBROK|TERRNO, cleanup_fn,
+				 "sysconf failed at %s:%d", file, lineno);
+		else
+			tst_resm(TINFO, "queried option is not available"
+				 " or thers is no definite limit at %s:%d",
+				 file, lineno);
+	}
+
+	return rval;
+}