Пример #1
0
int
main(int argc, char *argv[])
{
	char *buf;
	int n, failures = 0;
	size_t len, bufsize;

	/* Enable malloc security options. */
	setenv("MALLOC_OPTIONS", "S", 0);

	fake_env();
	n = count_instances("USER");
	if (n != 2) {
		fprintf(stderr, "initial: %d instances of USER, expected %d\n",
		    n, 2);
		failures++;
	}

	if (unsetenv("USER") != 0) {
		fprintf(stderr, "unsetenv: failed to remove USER\n");
		failures++;
	}
	n = count_instances("USER");
	if (n != 0) {
		fprintf(stderr, "unsetenv: %d instances of USER, expected %d\n",
		    n, 0);
		failures++;
	}

	fake_env();
	if (setenv("USER", "nobody", 0) != 0) {
		fprintf(stderr, "setenv: failed to set USER\n");
		failures++;
	}
	n = count_instances("USER");
	if (n != 2) {
		fprintf(stderr, "setenv: %d instances of USER, expected %d\n",
		    n, 2);
		failures++;
	}

	fake_env();
	if (setenv("USER", "nobody", 1) != 0) {
		fprintf(stderr, "setenv: failed to set USER\n");
		failures++;
	}
	n = count_instances("USER");
	if (n != 1) {
		fprintf(stderr, "setenv: %d instances of USER, expected %d\n",
		    n, 1);
		failures++;
	}

	fake_env();
	if (putenv("USER=nobody") != 0) {
		fprintf(stderr, "putenv: failed to set USER\n");
		failures++;
	}
	n = count_instances("USER");
	if (n != 1) {
		fprintf(stderr, "putenv: %d instances of USER, expected %d\n",
		    n, 1);
		failures++;
	}

	return failures;
}
Пример #2
0
                                                    QEOCORE_EFLAG_STATE_UPDATE | QEOCORE_EFLAG_ENABLE, &listener[1],
                                                    NULL)));
    assert(NULL != (change[1] = qeocore_reader_open(factory, type[1], NULL,
                                                    QEOCORE_EFLAG_STATE_DATA | QEOCORE_EFLAG_ENABLE, &listener[1],
                                                    NULL)));
    assert(NULL != (writer[1] = qeocore_writer_open(factory, type[1], NULL,
                                                    QEOCORE_EFLAG_STATE_DATA | QEOCORE_EFLAG_ENABLE, NULL, NULL)));
    log_verbose("initialization done");


    /* wait for reception (on data and change listeners) */
    sem_wait(&_sync);
    sem_wait(&_notify_sync);
    /* iterate */
    log_verbose("count instances");
    assert(1 == count_instances(reader[0]));

    /* send registration credentials */
    log_verbose("send registration credentials 1");
    _current_regcred = &_regcred[0];
    qeocore_writer_write(writer[1], _current_regcred);
    /* wait for reception (on data and change listeners) */
    sem_wait(&_sync);
    sem_wait(&_notify_sync);
    /* iterate */
    log_verbose("count instances");
    assert(1 == count_instances(reader[1]));

    /* remove registration request */
    log_verbose("remove registration request 1");
    _current_regreq = &_regreq[0];