Skip to content
Snippets Groups Projects
Select Git revision
  • 3be29b3ae9617f68c8b124af623dea30a3c08c45
  • master default protected
  • fix_Makefile.mingw#2
  • update_Makefile.mingw
  • fix_Makefile.mingw
  • fix_API_for_C_apps
  • fix_procinfo_mac
  • boinccmd_gpu_mode_always_until_sigterm
  • fgrp_osx_hotfix
  • fix_boinc_master@f8250782
  • eah_wrapper_improvements
  • diagnostics_win-hotfix
  • diagnostics_win-hotfix-old
  • current_fgrp_apps
  • testing_gw_apps
  • gw_app_darwin_15
  • current_brp_apps
  • current_brp_apps_android10
  • current_gfx_apps
  • current_server
  • current_gw_apps
  • previous_fgrp_apps
  • previous_gw_apps
  • testing_brp_apps
  • apps_FGRP3_1.07
  • apps_FGRP3_1.08
26 results

api_test.C

Blame
  • api_test.C 3.22 KiB
    // Berkeley Open Infrastructure for Network Computing
    // http://boinc.berkeley.edu
    // Copyright (C) 2005 University of California
    //
    // This is free software; you can redistribute it and/or
    // modify it under the terms of the GNU Lesser General Public
    // License as published by the Free Software Foundation;
    // either version 2.1 of the License, or (at your option) any later version.
    //
    // This software is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    // See the GNU Lesser General Public License for more details.
    //
    // To view the GNU Lesser General Public License visit
    // http://www.gnu.org/copyleft/lesser.html
    // or write to the Free Software Foundation, Inc.,
    // 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    
    #include "config.h"
    
    #include <cstdio>
    #include <cstdlib>
    
    #include "boinc_api.h"
    
    int get_run_info(double& time, unsigned long int& counter);
    void run_api_test(char* args);
    int print_results(double time1, double time2,
        unsigned long int counter1, unsigned long int counter2
    );
    int initialize_api();
    
    int main() {
        double time1, time2;
        unsigned long int counter1, counter2;
        if(initialize_api()) {
            fprintf(stderr, "error: could not initialize api\n");
            return 1;
        }
        run_api_test("2 100");
        get_run_info(time1, counter1);
        if(initialize_api()) {
            fprintf(stderr, "error: could not initialize api\n");
            return 1;
        }
        run_api_test("0 0");
        get_run_info(time2, counter2);
        print_results(time1, time2, counter1, counter2);
    }
    
    int get_run_info(double& time, unsigned long int& counter) {
        APP_OUT ao;
        FILE* f=fopen(APP_TO_CORE_FILE, "r");
        if(f == NULL) {
            fprintf(stderr, "error: could not open %s\n", APP_TO_CORE_FILE);
            return 1;
        }
        parse_app_file(f, ao);
        time = ao.cpu_time_at_checkpoint;
        if(fclose(f)) {
            fprintf(stderr, "error: could not close %s\n", APP_TO_CORE_FILE);
            return 1;
        }
        f=fopen("counter", "r");
        fscanf(f, "%lu", &counter);
        if(fclose(f)) {
            fprintf(stderr, "error: could not close counter\n");
            return 1;
        }