diff options
| author | Keith Packard <keithp@keithp.com> | 2013-03-31 12:39:32 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2013-03-31 12:39:32 -0700 | 
| commit | 144b44e13ce3361ff59cbb555e84d542455a4e17 (patch) | |
| tree | cf56246bea404fbe23f35a800ed0013260d454b9 | |
| parent | a70139c9a8a177df8f20f525703b13c0aec0fbc7 (diff) | |
altos: Unmount file system after each testing pass in ao_fat_test
Otherwise, we use stale data and 'bad things' happen.
Signed-off-by: Keith Packard <keithp@keithp.com>
| -rw-r--r-- | src/drivers/ao_fat.c | 6 | ||||
| -rw-r--r-- | src/drivers/ao_fat.h | 3 | ||||
| -rw-r--r-- | src/test/ao_fat_test.c | 10 | 
3 files changed, 15 insertions, 4 deletions
| diff --git a/src/drivers/ao_fat.c b/src/drivers/ao_fat.c index bb0aa7a2..9cd3d34b 100644 --- a/src/drivers/ao_fat.c +++ b/src/drivers/ao_fat.c @@ -608,6 +608,12 @@ ao_fat_setup(void)  	return ao_filesystem_status;  } +void +ao_fat_unmount(void) +{ +	ao_filesystem_setup = 0; +} +  /*   * Basic file operations   */ diff --git a/src/drivers/ao_fat.h b/src/drivers/ao_fat.h index 40786990..36aec7df 100644 --- a/src/drivers/ao_fat.h +++ b/src/drivers/ao_fat.h @@ -63,6 +63,9 @@ ao_fat_init(void);  void  ao_fat_sync(void); +void +ao_fat_unmount(void); +  int8_t  ao_fat_full(void); diff --git a/src/test/ao_fat_test.c b/src/test/ao_fat_test.c index 48d5d8a4..eb55d9c8 100644 --- a/src/test/ao_fat_test.c +++ b/src/test/ao_fat_test.c @@ -226,14 +226,15 @@ fatal(char *msg, ...)  void  check_fat(void)  { -	int	e; -	int	f; +	cluster_t	e; +	int		f;  	for (e = 0; e < number_cluster; e++) {  		cluster_t	v = ao_fat_entry_raw_read(e, 0);  		for (f = 1; f < number_fat; f++) { -			if (ao_fat_entry_raw_read(e, f) != v) -				fatal ("fats differ at %d\n", e); +			cluster_t	o = ao_fat_entry_raw_read(e, f); +			if (o != v) +				fatal ("fats differ at %08x (0 %08x %d %08x)\n", e, v, f, o);  		}  	}  } @@ -490,6 +491,7 @@ main(int argc, char **argv)  #else  		long_test_fs();  #endif +		ao_fat_unmount();  	}  	return 0; | 
