summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>1999-02-27 20:03:22 +0000
committerwtc%netscape.com <devnull@localhost>1999-02-27 20:03:22 +0000
commit7f8d1d8951194e7af40e2a12edc366d8e99e5da2 (patch)
treeda2e6c38b34309b92e3dce5d8f2d26a7b28b723d
parent5081f001f30fb7c049348fdc5e7886ec0cee879c (diff)
downloadnspr-hg-7f8d1d8951194e7af40e2a12edc366d8e99e5da2.tar.gz
New test file vercheck.c.
-rw-r--r--pr/tests/vercheck.c81
1 files changed, 81 insertions, 0 deletions
diff --git a/pr/tests/vercheck.c b/pr/tests/vercheck.c
new file mode 100644
index 00000000..c16d7116
--- /dev/null
+++ b/pr/tests/vercheck.c
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * The contents of this file are subject to the Netscape Public License
+ * Version 1.0 (the "NPL"); you may not use this file except in
+ * compliance with the NPL. You may obtain a copy of the NPL at
+ * http://www.mozilla.org/NPL/
+ *
+ * Software distributed under the NPL is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
+ * for the specific language governing rights and limitations under the
+ * NPL.
+ *
+ * The Initial Developer of this code under the NPL is Netscape
+ * Communications Corporation. Portions created by Netscape are
+ * Copyright (C) 1999 Netscape Communications Corporation. All Rights
+ * Reserved.
+ */
+
+/*
+ * File: vercheck.c
+ *
+ * Description:
+ * This test tests the PR_VersionCheck() function. The
+ * compatible_version and incompatible_version arrays
+ * need to be updated for each patch or release.
+ *
+ * Tested areas: library version compatibility check.
+ */
+
+#include "prinit.h"
+
+#include <stdio.h>
+
+/*
+ * This release (3.1) is backward compatible with all
+ * the previous releases. It, of course, is compatible
+ * with itself.
+ */
+static char *compatible_version[] = {
+ "2.1 19980529", "3.0", "3.0.1", PR_VERSION
+};
+
+/*
+ * Any release is incompatible with future releases and
+ * patches.
+ */
+static char *incompatible_version[] = {
+ "3.1.2",
+ "3.5", "3.5.1",
+ "4.0", "4.0.3",
+ "10.0", "11.1", "12.14.20"
+};
+
+int main()
+{
+ int idx;
+ int num_compatible = sizeof(compatible_version) / sizeof(char *);
+ int num_incompatible = sizeof(incompatible_version) / sizeof(char *);
+
+ printf("NSPR release %s:\n", PR_VERSION);
+ for (idx = 0; idx < num_compatible; idx++) {
+ if (PR_VersionCheck(compatible_version[idx]) == PR_FALSE) {
+ fprintf(stderr, "Should be compatible with version %s\n",
+ compatible_version[idx]);
+ exit(1);
+ }
+ printf("Compatible with version %s\n", compatible_version[idx]);
+ }
+
+ for (idx = 0; idx < num_incompatible; idx++) {
+ if (PR_VersionCheck(incompatible_version[idx]) == PR_TRUE) {
+ fprintf(stderr, "Should be incompatible with version %s\n",
+ incompatible_version[idx]);
+ exit(1);
+ }
+ printf("Incompatible with version %s\n", incompatible_version[idx]);
+ }
+
+ printf("PASS\n");
+ return 0;
+}