diff options
author | wtc%netscape.com <devnull@localhost> | 1999-03-01 00:23:34 +0000 |
---|---|---|
committer | wtc%netscape.com <devnull@localhost> | 1999-03-01 00:23:34 +0000 |
commit | c5742d6455413019013f14c201c6994fa6643669 (patch) | |
tree | a5900f393da73f1cc7a4f08c279b342c9606b023 | |
parent | 0f9e4f2fe64f116e8fdb2605fe36b31aa75cc6a6 (diff) | |
download | nspr-hg-c5742d6455413019013f14c201c6994fa6643669.tar.gz |
New test file vercheck.c.
-rw-r--r-- | pr/tests/vercheck.c | 81 |
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; +} |