summaryrefslogtreecommitdiffstats
path: root/text_cmds/tests
diff options
context:
space:
mode:
authorCameron Katri <me@cameronkatri.com>2021-05-09 14:20:58 -0400
committerCameron Katri <me@cameronkatri.com>2021-05-09 14:20:58 -0400
commit5fd83771641d15c418f747bd343ba6738d3875f7 (patch)
tree5abf0f78f680d9837dbd93d4d4c3933bb7509599 /text_cmds/tests
downloadapple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.tar.gz
apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.tar.zst
apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.zip
Import macOS userland
adv_cmds-176 basic_cmds-55 bootstrap_cmds-116.100.1 developer_cmds-66 diskdev_cmds-667.40.1 doc_cmds-53.60.1 file_cmds-321.40.3 mail_cmds-35 misc_cmds-34 network_cmds-606.40.1 patch_cmds-17 remote_cmds-63 shell_cmds-216.60.1 system_cmds-880.60.2 text_cmds-106
Diffstat (limited to 'text_cmds/tests')
-rw-r--r--text_cmds/tests/Makefile6
-rw-r--r--text_cmds/tests/sort_vers.c23
2 files changed, 29 insertions, 0 deletions
diff --git a/text_cmds/tests/Makefile b/text_cmds/tests/Makefile
new file mode 100644
index 0000000..ed613c5
--- /dev/null
+++ b/text_cmds/tests/Makefile
@@ -0,0 +1,6 @@
+PROJECT := text_cmds
+TEST_DIR := tests
+
+
+include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.common
+include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.targets
diff --git a/text_cmds/tests/sort_vers.c b/text_cmds/tests/sort_vers.c
new file mode 100644
index 0000000..8a3fce8
--- /dev/null
+++ b/text_cmds/tests/sort_vers.c
@@ -0,0 +1,23 @@
+#include <darwintest.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <inttypes.h>
+#include <limits.h>
+
+T_DECL(versionstring, "Apple specific version string") {
+ char version[128];
+ FILE *sortfile = popen("/usr/bin/sort --version", "r");
+ T_ASSERT_NOTNULL(sortfile, "Getting version string");
+ T_ASSERT_NOTNULL(fgets(version, sizeof(version), sortfile), "Reading version string");
+ pclose(sortfile);
+ T_ASSERT_NOTNULL(strstr(version, "-Apple"), "Apple in version string");
+
+ char *num = strstr(version, "(");
+ char *endnum = strstr(version, ")");
+ T_ASSERT_NOTNULL(num, "Locating parens start");
+ T_ASSERT_NOTNULL(endnum, "Locating parens end");
+ T_ASSERT_GT(endnum, num, "end is after the start");
+ long applevers = strtol(num+1, &endnum, 10);
+ T_ASSERT_GT(applevers, 0, "Version greater than zero");
+ T_ASSERT_LT(applevers, LONG_MAX, "Version less than LONG_MAX");
+}