Example #1
0
int main(int argc, char **argv){
	bt_zero("~~~Userspace test program start!~~~\n");
	print_string("TEST Command Prompt!\n");
	while(true){
		char input[128]={0};
		print_string("[TEST]>");
		get_string(input, 128);
		if(input[0]=='d') dir_listing();
		else if(input[0]=='b') ata_test();
		else if(input[0]=='l') dir_listing2(input);
		else if(input[0]=='f') file_contents();
		else if(input[0]=='c') file_contents2(input);
		else if(input[0]=='m') mount_test();
		else if(input[0]=='v') version();
		else if(input[0]=='r') run_program(input);
		else if(input[0]=='p') path(input);
		else if(input[0]=='t') thread_test();
        else if(input[0]=='x') crash_test();
		else if(input[0]=='q') break;
		else {
			if(strlen(input) && input[0]!='\n') print_string("Unrecognised command.\n");
		}
	}
	bt_zero("~~~Userspace test program done!~~~\n");
	bt_exit(0);
    return 0;
}
ldc_diag_t * diag(int log, ldc_info_t * info) {
	ldc_info_t * current_info;

	ldc_diag_t * head = NULL;
	ldc_diag_t * tail = NULL;

	for (current_info = info; current_info != NULL; current_info = current_info->next) {
		tail = new_ldc_diag_t("usbstorage");
		head = enqueue_ldc_diag_t(head, tail);

		// find the logical_name in info
		tuple_t * current_tuple;

		for (current_tuple = current_info->info; current_tuple != NULL && strcmp(current_tuple->name, "device_file") != 0; current_tuple = current_tuple->next);
			if (current_tuple) {
				char name[100];
				char value[1000];
				int id;
				char  description[100];

				int* part_list = get_part_list(current_info);
				int part_result = check_part(part_list);
				SETUP_TUPLE("partition_check", "NULL", part_result, "Partition Check");
				tail->info = enqueue_new_tuple_t(tail->info, name, value, id, description);

				int mount_result = mount_test(current_tuple->value, part_list);
				SETUP_TUPLE("mount_test", "NULL", mount_result, "Mount Test");
				tail->info = enqueue_new_tuple_t(tail->info, name, value, id, description);

				int fsck_result = fsck_test(current_tuple->value, part_list);
				SETUP_TUPLE("fsck_test", "NULL", fsck_result, "Fsck Test");
				tail->info = enqueue_new_tuple_t(tail->info, name, value, id, description);
			}
	}

	if (log){
		insert_diag_log(head);
	}

	return head;
}