Fossil SCM
Still more improvements to the test-file-environment command.
Commit
84347382046a649d8262bef65e91ee02302d3501d0007f04ad6653b17d2d63c9
Parent
fdc6af231531b98…
1 file changed
+52
-45
+52
-45
| --- src/file.c | ||
| +++ src/file.c | ||
| @@ -959,63 +959,71 @@ | ||
| 959 | 959 | ** file or directory, optionally preserving the trailing slash and |
| 960 | 960 | ** resetting the cached stat() information. |
| 961 | 961 | */ |
| 962 | 962 | static void emitFileStat( |
| 963 | 963 | const char *zPath, |
| 964 | - int raw, | |
| 965 | 964 | int slash, |
| 966 | 965 | int reset |
| 967 | 966 | ){ |
| 968 | 967 | char zBuf[200]; |
| 969 | 968 | char *z; |
| 970 | 969 | Blob x; |
| 970 | + int rc; | |
| 971 | + sqlite3_int64 iMtime; | |
| 972 | + struct fossilStat testFileStat; | |
| 971 | 973 | memset(zBuf, 0, sizeof(zBuf)); |
| 972 | 974 | blob_zero(&x); |
| 973 | 975 | file_canonical_name(zPath, &x, slash); |
| 974 | - fossil_print("%s[%s] -> [%s]\n", raw ? "RAW " : "", zPath, blob_buffer(&x)); | |
| 976 | + fossil_print("[%s] -> [%s]\n", zPath, blob_buffer(&x)); | |
| 975 | 977 | blob_reset(&x); |
| 976 | - if( raw ){ | |
| 977 | - int rc; | |
| 978 | - struct fossilStat testFileStat; | |
| 979 | - memset(&testFileStat, 0, sizeof(struct fossilStat)); | |
| 980 | - rc = fossil_stat(zPath, &testFileStat, 0); | |
| 981 | - fossil_print(" stat_rc = %d\n", rc); | |
| 982 | - sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size); | |
| 983 | - fossil_print(" stat_size = %s\n", zBuf); | |
| 984 | - z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime); | |
| 985 | - sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z); | |
| 986 | - fossil_free(z); | |
| 987 | - fossil_print(" stat_mtime = %s\n", zBuf); | |
| 988 | - fossil_print(" stat_mode = 0%o\n", testFileStat.st_mode); | |
| 989 | - memset(&testFileStat, 0, sizeof(struct fossilStat)); | |
| 990 | - rc = fossil_stat(zPath, &testFileStat, 1); | |
| 991 | - fossil_print(" l_stat_rc = %d\n", rc); | |
| 992 | - sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size); | |
| 993 | - fossil_print(" l_stat_size = %s\n", zBuf); | |
| 994 | - z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime); | |
| 995 | - sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z); | |
| 996 | - fossil_free(z); | |
| 997 | - fossil_print(" l_stat_mtime = %s\n", zBuf); | |
| 998 | - fossil_print(" l_stat_mode = 0%o\n", testFileStat.st_mode); | |
| 999 | - }else{ | |
| 1000 | - sqlite3_int64 iMtime; | |
| 1001 | - if( reset ) resetStat(); | |
| 1002 | - sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_wd_size(zPath)); | |
| 1003 | - fossil_print(" file_size = %s\n", zBuf); | |
| 1004 | - iMtime = file_wd_mtime(zPath); | |
| 1005 | - z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime); | |
| 1006 | - sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z); | |
| 1007 | - fossil_free(z); | |
| 1008 | - fossil_print(" file_mtime = %s\n", zBuf); | |
| 1009 | - fossil_print(" file_mode = 0%o\n", file_wd_mode(zPath)); | |
| 1010 | - fossil_print(" file_isfile = %d\n", file_wd_isfile(zPath)); | |
| 1011 | - fossil_print(" file_isfile_or_link = %d\n", file_wd_isfile_or_link(zPath)); | |
| 1012 | - fossil_print(" file_islink = %d\n", file_wd_islink(zPath)); | |
| 1013 | - fossil_print(" file_isexe = %d\n", file_wd_isexe(zPath)); | |
| 1014 | - fossil_print(" file_isdir = %d\n", file_wd_isdir(zPath)); | |
| 1015 | - if( reset ) resetStat(); | |
| 1016 | - } | |
| 978 | + memset(&testFileStat, 0, sizeof(struct fossilStat)); | |
| 979 | + rc = fossil_stat(zPath, &testFileStat, 0); | |
| 980 | + fossil_print(" stat_rc = %d\n", rc); | |
| 981 | + sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size); | |
| 982 | + fossil_print(" stat_size = %s\n", zBuf); | |
| 983 | + z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime); | |
| 984 | + sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z); | |
| 985 | + fossil_free(z); | |
| 986 | + fossil_print(" stat_mtime = %s\n", zBuf); | |
| 987 | + fossil_print(" stat_mode = 0%o\n", testFileStat.st_mode); | |
| 988 | + memset(&testFileStat, 0, sizeof(struct fossilStat)); | |
| 989 | + rc = fossil_stat(zPath, &testFileStat, 1); | |
| 990 | + fossil_print(" l_stat_rc = %d\n", rc); | |
| 991 | + sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size); | |
| 992 | + fossil_print(" l_stat_size = %s\n", zBuf); | |
| 993 | + z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime); | |
| 994 | + sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z); | |
| 995 | + fossil_free(z); | |
| 996 | + fossil_print(" l_stat_mtime = %s\n", zBuf); | |
| 997 | + fossil_print(" l_stat_mode = 0%o\n", testFileStat.st_mode); | |
| 998 | + if( reset ) resetStat(); | |
| 999 | + sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_size(zPath)); | |
| 1000 | + fossil_print(" file_size = %s\n", zBuf); | |
| 1001 | + iMtime = file_mtime(zPath); | |
| 1002 | + z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime); | |
| 1003 | + sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z); | |
| 1004 | + fossil_free(z); | |
| 1005 | + fossil_print(" file_mtime = %s\n", zBuf); | |
| 1006 | + fossil_print(" file_mode = 0%o\n", file_mode(zPath)); | |
| 1007 | + fossil_print(" file_isfile = %d\n", file_isfile(zPath)); | |
| 1008 | + fossil_print(" file_isdir = %d\n", file_isdir(zPath)); | |
| 1009 | + if( reset ) resetStat(); | |
| 1010 | + sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_wd_size(zPath)); | |
| 1011 | + fossil_print(" file_wd_size = %s\n", zBuf); | |
| 1012 | + iMtime = file_wd_mtime(zPath); | |
| 1013 | + z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime); | |
| 1014 | + sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z); | |
| 1015 | + fossil_free(z); | |
| 1016 | + fossil_print(" file_wd_mtime = %s\n", zBuf); | |
| 1017 | + fossil_print(" file_wd_mode = 0%o\n", file_wd_mode(zPath)); | |
| 1018 | + fossil_print(" file_wd_isfile = %d\n", file_wd_isfile(zPath)); | |
| 1019 | + fossil_print(" file_wd_isfile_or_link = %d\n", | |
| 1020 | + file_wd_isfile_or_link(zPath)); | |
| 1021 | + fossil_print(" file_wd_islink = %d\n", file_wd_islink(zPath)); | |
| 1022 | + fossil_print(" file_wd_isexe = %d\n", file_wd_isexe(zPath)); | |
| 1023 | + fossil_print(" file_wd_isdir = %d\n", file_wd_isdir(zPath)); | |
| 1024 | + if( reset ) resetStat(); | |
| 1017 | 1025 | } |
| 1018 | 1026 | |
| 1019 | 1027 | /* |
| 1020 | 1028 | ** COMMAND: test-file-environment |
| 1021 | 1029 | ** |
| @@ -1042,12 +1050,11 @@ | ||
| 1042 | 1050 | filenames_are_case_sensitive()); |
| 1043 | 1051 | fossil_print("db_allow_symlinks_by_default() = %d\n", |
| 1044 | 1052 | db_allow_symlinks_by_default()); |
| 1045 | 1053 | fossil_print("db_allow_symlinks() = %d\n", db_allow_symlinks()); |
| 1046 | 1054 | for(i=2; i<g.argc; i++){ |
| 1047 | - emitFileStat(g.argv[i], 1, slashFlag, resetFlag); | |
| 1048 | - emitFileStat(g.argv[i], 0, slashFlag, resetFlag); | |
| 1055 | + emitFileStat(g.argv[i], slashFlag, resetFlag); | |
| 1049 | 1056 | } |
| 1050 | 1057 | } |
| 1051 | 1058 | |
| 1052 | 1059 | /* |
| 1053 | 1060 | ** COMMAND: test-canonical-name |
| 1054 | 1061 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -959,63 +959,71 @@ | |
| 959 | ** file or directory, optionally preserving the trailing slash and |
| 960 | ** resetting the cached stat() information. |
| 961 | */ |
| 962 | static void emitFileStat( |
| 963 | const char *zPath, |
| 964 | int raw, |
| 965 | int slash, |
| 966 | int reset |
| 967 | ){ |
| 968 | char zBuf[200]; |
| 969 | char *z; |
| 970 | Blob x; |
| 971 | memset(zBuf, 0, sizeof(zBuf)); |
| 972 | blob_zero(&x); |
| 973 | file_canonical_name(zPath, &x, slash); |
| 974 | fossil_print("%s[%s] -> [%s]\n", raw ? "RAW " : "", zPath, blob_buffer(&x)); |
| 975 | blob_reset(&x); |
| 976 | if( raw ){ |
| 977 | int rc; |
| 978 | struct fossilStat testFileStat; |
| 979 | memset(&testFileStat, 0, sizeof(struct fossilStat)); |
| 980 | rc = fossil_stat(zPath, &testFileStat, 0); |
| 981 | fossil_print(" stat_rc = %d\n", rc); |
| 982 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size); |
| 983 | fossil_print(" stat_size = %s\n", zBuf); |
| 984 | z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime); |
| 985 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z); |
| 986 | fossil_free(z); |
| 987 | fossil_print(" stat_mtime = %s\n", zBuf); |
| 988 | fossil_print(" stat_mode = 0%o\n", testFileStat.st_mode); |
| 989 | memset(&testFileStat, 0, sizeof(struct fossilStat)); |
| 990 | rc = fossil_stat(zPath, &testFileStat, 1); |
| 991 | fossil_print(" l_stat_rc = %d\n", rc); |
| 992 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size); |
| 993 | fossil_print(" l_stat_size = %s\n", zBuf); |
| 994 | z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime); |
| 995 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z); |
| 996 | fossil_free(z); |
| 997 | fossil_print(" l_stat_mtime = %s\n", zBuf); |
| 998 | fossil_print(" l_stat_mode = 0%o\n", testFileStat.st_mode); |
| 999 | }else{ |
| 1000 | sqlite3_int64 iMtime; |
| 1001 | if( reset ) resetStat(); |
| 1002 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_wd_size(zPath)); |
| 1003 | fossil_print(" file_size = %s\n", zBuf); |
| 1004 | iMtime = file_wd_mtime(zPath); |
| 1005 | z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime); |
| 1006 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z); |
| 1007 | fossil_free(z); |
| 1008 | fossil_print(" file_mtime = %s\n", zBuf); |
| 1009 | fossil_print(" file_mode = 0%o\n", file_wd_mode(zPath)); |
| 1010 | fossil_print(" file_isfile = %d\n", file_wd_isfile(zPath)); |
| 1011 | fossil_print(" file_isfile_or_link = %d\n", file_wd_isfile_or_link(zPath)); |
| 1012 | fossil_print(" file_islink = %d\n", file_wd_islink(zPath)); |
| 1013 | fossil_print(" file_isexe = %d\n", file_wd_isexe(zPath)); |
| 1014 | fossil_print(" file_isdir = %d\n", file_wd_isdir(zPath)); |
| 1015 | if( reset ) resetStat(); |
| 1016 | } |
| 1017 | } |
| 1018 | |
| 1019 | /* |
| 1020 | ** COMMAND: test-file-environment |
| 1021 | ** |
| @@ -1042,12 +1050,11 @@ | |
| 1042 | filenames_are_case_sensitive()); |
| 1043 | fossil_print("db_allow_symlinks_by_default() = %d\n", |
| 1044 | db_allow_symlinks_by_default()); |
| 1045 | fossil_print("db_allow_symlinks() = %d\n", db_allow_symlinks()); |
| 1046 | for(i=2; i<g.argc; i++){ |
| 1047 | emitFileStat(g.argv[i], 1, slashFlag, resetFlag); |
| 1048 | emitFileStat(g.argv[i], 0, slashFlag, resetFlag); |
| 1049 | } |
| 1050 | } |
| 1051 | |
| 1052 | /* |
| 1053 | ** COMMAND: test-canonical-name |
| 1054 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -959,63 +959,71 @@ | |
| 959 | ** file or directory, optionally preserving the trailing slash and |
| 960 | ** resetting the cached stat() information. |
| 961 | */ |
| 962 | static void emitFileStat( |
| 963 | const char *zPath, |
| 964 | int slash, |
| 965 | int reset |
| 966 | ){ |
| 967 | char zBuf[200]; |
| 968 | char *z; |
| 969 | Blob x; |
| 970 | int rc; |
| 971 | sqlite3_int64 iMtime; |
| 972 | struct fossilStat testFileStat; |
| 973 | memset(zBuf, 0, sizeof(zBuf)); |
| 974 | blob_zero(&x); |
| 975 | file_canonical_name(zPath, &x, slash); |
| 976 | fossil_print("[%s] -> [%s]\n", zPath, blob_buffer(&x)); |
| 977 | blob_reset(&x); |
| 978 | memset(&testFileStat, 0, sizeof(struct fossilStat)); |
| 979 | rc = fossil_stat(zPath, &testFileStat, 0); |
| 980 | fossil_print(" stat_rc = %d\n", rc); |
| 981 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size); |
| 982 | fossil_print(" stat_size = %s\n", zBuf); |
| 983 | z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime); |
| 984 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z); |
| 985 | fossil_free(z); |
| 986 | fossil_print(" stat_mtime = %s\n", zBuf); |
| 987 | fossil_print(" stat_mode = 0%o\n", testFileStat.st_mode); |
| 988 | memset(&testFileStat, 0, sizeof(struct fossilStat)); |
| 989 | rc = fossil_stat(zPath, &testFileStat, 1); |
| 990 | fossil_print(" l_stat_rc = %d\n", rc); |
| 991 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", testFileStat.st_size); |
| 992 | fossil_print(" l_stat_size = %s\n", zBuf); |
| 993 | z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", testFileStat.st_mtime); |
| 994 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", testFileStat.st_mtime, z); |
| 995 | fossil_free(z); |
| 996 | fossil_print(" l_stat_mtime = %s\n", zBuf); |
| 997 | fossil_print(" l_stat_mode = 0%o\n", testFileStat.st_mode); |
| 998 | if( reset ) resetStat(); |
| 999 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_size(zPath)); |
| 1000 | fossil_print(" file_size = %s\n", zBuf); |
| 1001 | iMtime = file_mtime(zPath); |
| 1002 | z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime); |
| 1003 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z); |
| 1004 | fossil_free(z); |
| 1005 | fossil_print(" file_mtime = %s\n", zBuf); |
| 1006 | fossil_print(" file_mode = 0%o\n", file_mode(zPath)); |
| 1007 | fossil_print(" file_isfile = %d\n", file_isfile(zPath)); |
| 1008 | fossil_print(" file_isdir = %d\n", file_isdir(zPath)); |
| 1009 | if( reset ) resetStat(); |
| 1010 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", file_wd_size(zPath)); |
| 1011 | fossil_print(" file_wd_size = %s\n", zBuf); |
| 1012 | iMtime = file_wd_mtime(zPath); |
| 1013 | z = db_text(0, "SELECT datetime(%lld, 'unixepoch')", iMtime); |
| 1014 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld (%s)", iMtime, z); |
| 1015 | fossil_free(z); |
| 1016 | fossil_print(" file_wd_mtime = %s\n", zBuf); |
| 1017 | fossil_print(" file_wd_mode = 0%o\n", file_wd_mode(zPath)); |
| 1018 | fossil_print(" file_wd_isfile = %d\n", file_wd_isfile(zPath)); |
| 1019 | fossil_print(" file_wd_isfile_or_link = %d\n", |
| 1020 | file_wd_isfile_or_link(zPath)); |
| 1021 | fossil_print(" file_wd_islink = %d\n", file_wd_islink(zPath)); |
| 1022 | fossil_print(" file_wd_isexe = %d\n", file_wd_isexe(zPath)); |
| 1023 | fossil_print(" file_wd_isdir = %d\n", file_wd_isdir(zPath)); |
| 1024 | if( reset ) resetStat(); |
| 1025 | } |
| 1026 | |
| 1027 | /* |
| 1028 | ** COMMAND: test-file-environment |
| 1029 | ** |
| @@ -1042,12 +1050,11 @@ | |
| 1050 | filenames_are_case_sensitive()); |
| 1051 | fossil_print("db_allow_symlinks_by_default() = %d\n", |
| 1052 | db_allow_symlinks_by_default()); |
| 1053 | fossil_print("db_allow_symlinks() = %d\n", db_allow_symlinks()); |
| 1054 | for(i=2; i<g.argc; i++){ |
| 1055 | emitFileStat(g.argv[i], slashFlag, resetFlag); |
| 1056 | } |
| 1057 | } |
| 1058 | |
| 1059 | /* |
| 1060 | ** COMMAND: test-canonical-name |
| 1061 |