Пример #1
0
int validate_freq(void)
{
	struct timex tx;
	int ret, pass = 0;
	int i;

	clear_time_state();

	memset(&tx, 0, sizeof(struct timex));
	/* Set the leap second insert flag */

	printf("Testing ADJ_FREQ... ");
	fflush(stdout);
	for (i = 0; i < NUM_FREQ_VALID; i++) {
		tx.modes = ADJ_FREQUENCY;
		tx.freq = valid_freq[i];

		ret = adjtimex(&tx);
		if (ret < 0) {
			printf("[FAIL]\n");
			printf("Error: adjtimex(ADJ_FREQ, %ld - %ld ppm\n",
				valid_freq[i], valid_freq[i]>>16);
			pass = -1;
			goto out;
		}
		tx.modes = 0;
		ret = adjtimex(&tx);
		if (tx.freq != valid_freq[i]) {
			printf("Warning: freq value %ld not what we set it (%ld)!\n",
					tx.freq, valid_freq[i]);
		}
	}
Пример #2
0
int main(int argc, char** argv)
{
	struct timex tx;
	int ret;
	int i;

	clear_time_state();

	/* Set the leap second insert flag */
	tx.modes = ADJ_SETOFFSET | ADJ_NANO;

	printf("Testing ADJ_SETOFFSET: ");
	for (i=0; i < NUM_VALID; i++) {
		tx.time.tv_sec = valid_vals[i].tv_sec;
		tx.time.tv_usec = valid_vals[i].tv_nsec;

		ret = adjtimex(&tx);
		if (ret < 0 ) {
			printf("FAIL\n");
			printf("Error: adjtimex(ADJ_SETOFFSET, %ld:%ld)\n",
				valid_vals[i].tv_sec,valid_vals[i].tv_nsec);
			return -1;
		}
	}

	for (i=0; i < NUM_INVALID; i++) {
		tx.time.tv_sec = invalid_vals[i].tv_sec;
		tx.time.tv_usec = invalid_vals[i].tv_nsec;
		ret = adjtimex(&tx);
		if (ret >= 0 ) {
			printf("FAIL\n");
			printf("Error: invalid adjtimex(ADJ_SETOFFSET, %ld:%ld)\n",
				invalid_vals[i].tv_sec,invalid_vals[i].tv_nsec);
			return -1;
		}
	}
	printf("PASS\n");
	return 0;
}