I suggest the PETSc options database check the environmental variable 
PETSC_OPTIONS_FINAL and have these values added to the options database last 
(though they shouldn't overwrite values set in the code.)

  I tried

$ make -f ./gmakefile test globsearch="snes_tutorials-ex69_p2p1" 
EXTRA_OPTIONS="-dm_refine 5 -dm_view hdf5:$PETSC_DIR/sol.h5 -snes_view_solution 
hdf5:$PETSC_DIR/sol.h5::append -exact_vec_view hdf5:$PETSC_DIR/sol.h5::append 
-m 2 -n 2 -B 1"

As suggested in guide_to_stokes.md and got back 

Using MAKEFLAGS: -- EXTRA_OPTIONS=-dm_refine 5 -dm_view 
hdf5:/Users/barrysmith/Src/petsc/sol.h5 -snes_view_solution 
hdf5:/Users/barrysmith/Src/petsc/sol.h5::append -exact_vec_view 
hdf5:/Users/barrysmith/Src/petsc/sol.h5::append -m 2 -n 2 -B 1 
globsearch=snes_tutorials-ex69_p2p1
         CC arch-main/tests/sys/classes/draw/tests/ex1.o
    CLINKER arch-main/tests/sys/classes/draw/tests/ex1
       TEST arch-main/tests/counts/sys_classes_draw_tests-ex1_1.counts
 ok sys_classes_draw_tests-ex1_1
not ok diff-sys_classes_draw_tests-ex1_1 # Error code: 1
#       0a1,10
#       > WARNING! There are options you set that were not used!
#       > WARNING! could be spelling mistake, etc!
#       > There are 7 unused database options. They are:
#       > Option left: name:-B value: 1 source: command line
#       > Option left: name:-dm_refine value: 5 source: command line
#       > Option left: name:-dm_view value: 
hdf5:/Users/barrysmith/Src/petsc/sol.h5 source: command line
#       > Option left: name:-exact_vec_view value: 
hdf5:/Users/barrysmith/Src/petsc/sol.h5::append source: command line
#       > Option left: name:-m value: 2 source: command line
#       > Option left: name:-n value: 2 source: command line
#       > Option left: name:-snes_view_solution value: 
hdf5:/Users/barrysmith/Src/petsc/sol.h5::append source: command line
         CC arch-main/tests/sys/classes/draw/tests/ex10.o
    CLINKER arch-main/tests/sys/classes/draw/tests/ex10
       TEST arch-main/tests/counts/sys_classes_draw_tests-ex10_1.counts
^Cnot ok sys_classes_draw_tests-ex10_1 # Error code: 1
 ok sys_classes_draw_tests-ex10_1 # SKIP Command failed so no diff

So I expect there is something wrong with the tutorials on the website.

I am mystified how make test can be used to print nice output to the screen 
since the tests save the output to a file and do a diff. So I would like to 
know how Matt uses make test in his workflow.

  Barry






> On Aug 7, 2025, at 9:23 AM, Matthew Knepley <knep...@gmail.com> wrote:
> 
> We currently have two kinds of options in the test system. Options that come 
> from the "args" line in the TEST section of the example source, which we will 
> call $args, and options that come from the EXTRA_OPTIONS env var when the 
> test is executed, which we will call $extra_args.
> 
> Right now, in petsc_harness.sh:109, we feed the example executable the 
> arguments
> 
>   $extra_args $args
> 
> This allows us to do things like declare EXTRA_OPTIONS="-fp_trap" for 
> linux-pkgs-dbg, and then allow it to be turned off for certain tests with 
> -fp_trap 0 in the argos line.
> 
> This setup, however, does not allow us to override any options given in $args 
> while running a test, which seems very restrictive. Should we create a third 
> class of options?
> 
>   Thanks,
> 
>       Matt
> 
> --
> What most experimenters take for granted before they begin their experiments 
> is infinitely more interesting than any results to which their experiments 
> lead.
> -- Norbert Wiener
> 
> https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!driNqUZiYcSxMUfDvnEjzHziF9muKitIs39C71QLYYSRpkEy42vH7Klom5eBkF2h7L2kzmzcfr520Sv7hMJgDQ$
>   
> <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!es96ebvWwNhZgW9QAbhKl87uWMsmggCaWnv60yjXuLOqvK4co4KiyvhNTffA2KhyR42saIqyrZ93SWsl1pKX$>

Reply via email to