<?xml version="1.0" encoding="utf-8"?>
  <testsuites>
  <testsuite name="logicmoo.pfc.test.sanity_base.MT_03C"  package="logicmoo.pfc.test.sanity_base" time="0.007" tests="1" errors="0" skipped="0" failures="0">

     <testcase name="logicmoo.pfc.test.sanity_base.MT_03C@Test_0044_Line_0000__CodeB_in_modB_in_myMt: myMt:module_clause(modB:codeB,Clause_Kw2)" classname="logicmoo.pfc.test.sanity_base.MT_03C" time="0.000">
  <system-err><![CDATA[name=Test_0044_Line_0000__CodeB_in_modB_in_myMt
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['mt_03c.pl']")

```
%~ init_phase(after_load)
%~ init_phase(restore_state)
%
%~ init_why(after_boot,program)
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl'),
%~ this_test_might_need( :-( expects_dialect(pfc)))
%~ this_test_might_need( :-( use_module( library(logicmoo_plarkc))))


%:- add_import_module(header_sane,baseKB,end).

:- set_defaultAssertMt(myMt).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:17
%~ pfc_iri : include_module_file(myMt:library('pfclib/system_each_module.pfc'),myMt).
~*/

:- expects_dialect(pfc).

/*~
~*/

:- mpred_trace_exec.

/*~
~*/

mtProlog(modA).
/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtProlog/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtProlog/1]])
No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
~*/

mtHybrid(modB).


/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtHybrid/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtHybrid/1]])
No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
~*/



modA: (codeA:- printAll('$current_source_module'(_M)),codeB).

/*~
No source location!?
~*/

modB: (codeB).

%:- \+ modA:codeA.

/*~
No source location!?
~*/

%:- \+ modA:codeA.

genlMt(modA,modB).

% before test, to make sure codeA was not accdently defined in modB
/*~
%~ baseKB : mpred_fwc1( genlMt(modA,modB)).
~*/

% before test, to make sure codeA was not accdently defined in modB
:- sanity(\+ module_clause(modB:codeA,_)).
/*~
%~ ?-( mpred_test( "Test_0001_Line_0000__naf_CodeA_in_modB_in_myMt",
%~       myMt : \+( module_clause(modB:codeA,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modB:codeA,_22012))))
no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0001_Line_0000__naf_CodeA_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0001_Line_0000_naf_CodeA_in_modB_in_myMt-junit.xml
~*/

:- sanity(\+ module_clause(modA:codeB,_)).

/*~
%~ ?-( mpred_test( "Test_0002_Line_0000__naf_CodeB_in_modA_in_myMt",
%~       myMt : \+( module_clause(modA:codeB,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modA:codeB,_18082))))
no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0002_Line_0000__naf_CodeB_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0002_Line_0000_naf_CodeB_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modA:codeA,_)).
/*~
%~ ?-( mpred_test("Test_0003_Line_0000__CodeA_in_modA_in_myMt",myMt:module_clause(modA:codeA,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modA:codeA,(printAll('$current_source_module'(_33558)),codeB))))
no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0003_Line_0000__CodeA_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0003_Line_0000_CodeA_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modB:codeB,_)).

% before test, genlMt makes the rule available and should not corrupt the modA module
/*~
%~ ?-( mpred_test("Test_0004_Line_0000__CodeB_in_modB_in_myMt",myMt:module_clause(modB:codeB,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modB:codeB,true)))
no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0004_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0004_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/

% before test, genlMt makes the rule available and should not corrupt the modA module
:- warn_fail_TODO(clause_u(modA:codeB,_)).

% make sure genlMt didnt unassert
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:44
%~ :-( warn_fail_TODO( clause_u(modA:codeB,Kw))).
~*/

% make sure genlMt didnt unassert
:- sanity(clause_u(modB:codeB,_)).


% run the test
/*~
%~ ?-( mpred_test("Test_0005_Line_0000__CodeB_in_modB_in_myMt",myMt:clause_u(modB:codeB,Kw))).
passed=info(why_was_true(myMt:clause_u(modB:codeB,true)))
no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0005_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0005_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/



% run the test
modA: (:- codeA).

% to make codeB sure  is available in modA
/*~
No source location!?
~*/


% to make codeB sure  is available in modA
:- mpred_must( clause_u(modA:codeB,_)).

% to make sure codeA does not get accdently defined in modB
/*~
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure+failed_mpred_test(clause_u(modA:codeB,_173216))])
39m
%~ failed_mpred_test( clause_u(modA:codeB,Kw))
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
(0)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(1)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m2m97m40m15m '$toplevel'. 0m49m0m0m0m  %  toplevel.pl:701:
(2)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m0m35m49m16m '$runtoplevel'. 0m49m39m0m0m  %  toplevel.pl:713:
(10)$0m2m99m49m16m[system]0m49m0m0m0m0m2m97m40m15m '$load_file'('mt_03c.pl',user,'<gt;garbage_collected>'). 0m49m0m0m0m  %  init.pl:2353:
(13)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$sig_atomic'(setup_call_cleanup(with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbeb00),[expand(false),expand(true)])),'$mt_do_load'(<gt;clause>(0x55be1bbbeb00),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),'$mt_end_load'(<gt;clause>(0x55be1bbbeb00)))). 0m49m0m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(14)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(16)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbeb00),[expand(false),expand(true)])),system:'$mt_do_load'(<gt;clause>(0x55be1bbbeb00),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),A,system:'$mt_end_load'(<gt;clause>(0x55be1bbbeb00))). 0m49m0m0m0m  %  init.pl:646:
(18)$0m2m99m49m16m[system]0m49m0m0m0m#0m1m37m40m15m '$qdo_load_file'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]). 0m49m39m21m0m  %  init.pl:2546:
(21)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m91m49m13m '$do_load_file_2'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,compiled,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2592:
(25)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:'$start_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',1632225607.2610815),system:'$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]),B,system:'$end_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',lexstate(202,swi),user)). 0m49m0m0m0m  %  init.pl:646:
(26)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:3007:
(27)$0m2m99m49m16m[system]0m49m0m0m0m#0m1m97m40m10m '$compile_term'((:-clause_u(modA:codeB,A)),B,'* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl '). 0m49m0m21m0m  %  init.pl:3074:
(28)$0m2m99m49m16m[system]0m49m0m0m0m#0m1m97m40m10m '$compile_term'((:-clause_u(modA:codeB,A)),B,'* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',-). 0m49m0m21m0m  %  init.pl:3084:
(29)$0m2m99m49m16m[system]0m49m0m0m0m#0m0m95m49m15m '$execute_directive'(clause_u(modA:codeB,A),'* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl '). 0m49m0m0m0m  %  init.pl:3549:
(30)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m94m49m13m '$execute_directive_2'(clause_u(modA:codeB,A),'* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl '). 0m49m0m0m0m  %  init.pl:3571:
(31)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m93m49m15m '$execute_directive_3'(clause_u(modA:codeB,A)). 0m49m0m0m0m  %  init.pl:3574:
(32)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m catch(myMt:clause_u(modA:codeB,A),error(B,C),system:'$exception_in_directive'(error(B,C))). 0m49m0m0m0m  %  init.pl:546:
(33)0m1m96m49m10m[myMt]0m49m0m21m0m#0m2m39m49m14m pfc_lib:clause_u(modA:codeB,A). 0m49m39m0m0m  %  mpred_core.pl:4331:
(34)$0m1m96m49m10m[myMt]0m49m0m21m0m0m2m39m49m14m pfc_lib:log_failure(failed_mpred_test(clause_u(modA:codeB,A))). 0m49m39m0m0m  %  mpred_core.pl:4209:
(35)$0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(36)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(37)0m1m96m49m10m[myMt]0m49m0m21m0m0m2m39m49m14m pfc_lib:maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))). 0m49m39m0m0m  %  mpred_core.pl:4229:
(38)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m94m49m12m pfc_lib:break_ex. 0m49m0m21m0m  %  mpred_core.pl:4226:
(39)$0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(40)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(41)0m1m96m49m10m[myMt]0m49m0m21m0m0m0m92m49m16m dumpst:dumpST. 0m49m0m0m0m  %  dumpst.pl:150:
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ DUMP_BREAK/0
%~ message_hook(unhandled_exception(abort),error,['Unhandled exception: ','~p'-[abort]])
Unhandled exception: abort
ERROR: Unhandled exception: abort
~*/
/*~
~*/
/* <gt;module>
%
%  PFC is codeA language extension for prolog.
%
%  It adds codeA new type of module inheritance
%
% Dec 13, 2035
% Douglas Miles
*/
%  was_module(header_sane,[]).

:- include(library(logicmoo_test_header)).

%:- add_import_module(header_sane,baseKB,end).

/*~
running(-),
%~ reload_of_test_header.
%~ %~ Reset DB complete for myMt
%~ %~ Reset DB complete for myMt
%~ this_test_might_need( :-( expects_dialect(pfc)))
%~ this_test_might_need( :-( use_module( library(logicmoo_plarkc))))
~*/


%:- add_import_module(header_sane,baseKB,end).

:- set_defaultAssertMt(myMt).

/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- mpred_trace_exec.

/*~
~*/

mtProlog(modA).
/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtProlog/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtProlog/1]])
No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
~*/

mtHybrid(modB).


/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtHybrid/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtHybrid/1]])
No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
~*/



modA: (codeA:- printAll('$current_source_module'(_M)),codeB).

/*~
No source location!?
~*/

modB: (codeB).

%:- \+ modA:codeA.

/*~
No source location!?
~*/

%:- \+ modA:codeA.

genlMt(modA,modB).

% before test, to make sure codeA was not accdently defined in modB
/*~
~*/

% before test, to make sure codeA was not accdently defined in modB
:- sanity(\+ module_clause(modB:codeA,_)).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:37
%~ ?-( mpred_test( "Test_0006_Line_0000__naf_CodeA_in_modB_in_myMt",
%~       myMt : \+( module_clause(modB:codeA,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modB:codeA,_94536))))
no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0006_Line_0000__naf_CodeA_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0006_Line_0000_naf_CodeA_in_modB_in_myMt-junit.xml
~*/

:- sanity(\+ module_clause(modA:codeB,_)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:38
%~ ?-( mpred_test( "Test_0007_Line_0000__naf_CodeB_in_modA_in_myMt",
%~       myMt : \+( module_clause(modA:codeB,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modA:codeB,_222690))))
no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0007_Line_0000__naf_CodeB_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0007_Line_0000_naf_CodeB_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modA:codeA,_)).
/*~
%~ ?-( mpred_test("Test_0008_Line_0000__CodeA_in_modA_in_myMt",myMt:module_clause(modA:codeA,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modA:codeA,(printAll('$current_source_module'(_10790)),codeB))))
no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0008_Line_0000__CodeA_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0008_Line_0000_CodeA_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modB:codeB,_)).

% before test, genlMt makes the rule available and should not corrupt the modA module
/*~
%~ ?-( mpred_test("Test_0009_Line_0000__CodeB_in_modB_in_myMt",myMt:module_clause(modB:codeB,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modB:codeB,true)))
no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0009_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0009_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/

% before test, genlMt makes the rule available and should not corrupt the modA module
:- warn_fail_TODO(clause_u(modA:codeB,_)).

% make sure genlMt didnt unassert
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:44
%~ :-( warn_fail_TODO( clause_u(modA:codeB,Kw))).
~*/

% make sure genlMt didnt unassert
:- sanity(clause_u(modB:codeB,_)).


% run the test
/*~
%~ ?-( mpred_test("Test_0010_Line_0000__CodeB_in_modB_in_myMt",myMt:clause_u(modB:codeB,Kw))).
passed=info(why_was_true(myMt:clause_u(modB:codeB,true)))
no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0010_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0010_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/



% run the test
modA: (:- codeA).

% to make codeB sure  is available in modA
/*~
No source location!?
~*/


% to make codeB sure  is available in modA
:- mpred_must( clause_u(modA:codeB,_)).

% to make sure codeA does not get accdently defined in modB
/*~
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure+failed_mpred_test(clause_u(modA:codeB,_485986))])
39m
%~ failed_mpred_test( clause_u(modA:codeB,Kw))
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
(0)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(1)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m2m97m40m15m '$toplevel'. 0m49m0m0m0m  %  toplevel.pl:701:
(2)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m0m35m49m16m '$runtoplevel'. 0m49m39m0m0m  %  toplevel.pl:713:
(10)$0m2m99m49m16m[system]0m49m0m0m0m0m2m97m40m15m '$load_file'('mt_03c.pl',user,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2353:
(13)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$sig_atomic'(setup_call_cleanup(with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbf200),[expand(false),expand(true)])),'$mt_do_load'(<gt;clause>(0x55be1bbbf200),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),'$mt_end_load'(<gt;clause>(0x55be1bbbf200)))). 0m49m0m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(14)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(16)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbf200),[expand(false),expand(true)])),system:'$mt_do_load'(<gt;clause>(0x55be1bbbf200),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),A,system:'$mt_end_load'(<gt;clause>(0x55be1bbbf200))). 0m49m0m0m0m  %  init.pl:646:
(18)$0m2m99m49m16m[system]0m49m0m0m0m#0m1m37m40m15m '$qdo_load_file'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]). 0m49m39m21m0m  %  init.pl:2546:
(21)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m91m49m13m '$do_load_file_2'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,compiled,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2592:
(25)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:'$start_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',1632225607.2610815),system:'$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]),B,system:'$end_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',lexstate(202,swi),user)). 0m49m0m0m0m  %  init.pl:646:
(26)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:3007:
(31)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m93m49m15m '$execute_directive_3'(clause_u(modA:codeB,A)). 0m49m0m0m0m  %  init.pl:3574:
(32)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m catch(myMt:clause_u(modA:codeB,A),error(B,C),system:'$exception_in_directive'(error(B,C))). 0m49m0m0m0m  %  init.pl:546:
(33)0m1m96m49m10m[myMt]0m49m0m21m0m#0m2m39m49m14m pfc_lib:clause_u(modA:codeB,A). 0m49m39m0m0m  %  mpred_core.pl:4331:
(35)0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(36)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(38)0m1m96m49m10m[myMt]0m49m0m21m0m0m1m94m49m12m pfc_lib:break_ex. 0m49m0m21m0m  %  mpred_core.pl:4226:
(39)$0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(40)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(43)0m0m37m40m14m[butterfly]0m49m39m0m0m0m1m96m49m10m butterfly:in_bfly(f,myMt:zotrace(with_all_dmsg((b_setval('$dump_frame',500),dumpST1)))). 0m49m0m21m0m  %  butterfly_console.pl:226:
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ DUMP_BREAK/0
%~ message_hook(unhandled_exception(abort),error,['Unhandled exception: ','~p'-[abort]])
Unhandled exception: abort
ERROR: Unhandled exception: abort
~*/
/*~
~*/
/* <gt;module>
%
%  PFC is codeA language extension for prolog.
%
%  It adds codeA new type of module inheritance
%
% Dec 13, 2035
% Douglas Miles
*/
%  was_module(header_sane,[]).

:- include(library(logicmoo_test_header)).

%:- add_import_module(header_sane,baseKB,end).

/*~
running(-),
%~ reload_of_test_header.
%~ %~ Reset DB complete for myMt
%~ %~ Reset DB complete for myMt
%~ this_test_might_need( :-( expects_dialect(pfc)))
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need( :-( use_module( library(logicmoo_plarkc))))
~*/


%:- add_import_module(header_sane,baseKB,end).

:- set_defaultAssertMt(myMt).

/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- mpred_trace_exec.

/*~
~*/

mtProlog(modA).
/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtProlog/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtProlog/1]])
No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
~*/

mtHybrid(modB).


/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtHybrid/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtHybrid/1]])
No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
~*/



modA: (codeA:- printAll('$current_source_module'(_M)),codeB).

/*~
No source location!?
~*/

modB: (codeB).

%:- \+ modA:codeA.

/*~
No source location!?
~*/

%:- \+ modA:codeA.

genlMt(modA,modB).

% before test, to make sure codeA was not accdently defined in modB
/*~
~*/

% before test, to make sure codeA was not accdently defined in modB
:- sanity(\+ module_clause(modB:codeA,_)).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:37
%~ ?-( mpred_test( "Test_0011_Line_0000__naf_CodeA_in_modB_in_myMt",
%~       myMt : \+( module_clause(modB:codeA,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modB:codeA,_93006))))
no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0011_Line_0000__naf_CodeA_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0011_Line_0000_naf_CodeA_in_modB_in_myMt-junit.xml
~*/

:- sanity(\+ module_clause(modA:codeB,_)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:38
%~ ?-( mpred_test( "Test_0012_Line_0000__naf_CodeB_in_modA_in_myMt",
%~       myMt : \+( module_clause(modA:codeB,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modA:codeB,_288702))))
no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0012_Line_0000__naf_CodeB_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0012_Line_0000_naf_CodeB_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modA:codeA,_)).
/*~
%~ ?-( mpred_test("Test_0013_Line_0000__CodeA_in_modA_in_myMt",myMt:module_clause(modA:codeA,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modA:codeA,(printAll('$current_source_module'(_813296)),codeB))))
no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0013_Line_0000__CodeA_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0013_Line_0000_CodeA_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modB:codeB,_)).

% before test, genlMt makes the rule available and should not corrupt the modA module
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:41
%~ ?-( mpred_test("Test_0014_Line_0000__CodeB_in_modB_in_myMt",myMt:module_clause(modB:codeB,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modB:codeB,true)))
no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0014_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0014_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/

% before test, genlMt makes the rule available and should not corrupt the modA module
:- warn_fail_TODO(clause_u(modA:codeB,_)).

% make sure genlMt didnt unassert
/*~
%~ :-( warn_fail_TODO( clause_u(modA:codeB,Kw))).
~*/

% make sure genlMt didnt unassert
:- sanity(clause_u(modB:codeB,_)).


% run the test
/*~
%~ ?-( mpred_test("Test_0015_Line_0000__CodeB_in_modB_in_myMt",myMt:clause_u(modB:codeB,Kw))).
passed=info(why_was_true(myMt:clause_u(modB:codeB,true)))
no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0015_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0015_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/



% run the test
modA: (:- codeA).

% to make codeB sure  is available in modA
/*~
No source location!?
~*/


% to make codeB sure  is available in modA
:- mpred_must( clause_u(modA:codeB,_)).

% to make sure codeA does not get accdently defined in modB
/*~
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure+failed_mpred_test(clause_u(modA:codeB,_533356))])
39m
%~ failed_mpred_test( clause_u(modA:codeB,Kw))
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
(0)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(1)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m2m97m40m15m '$toplevel'. 0m49m0m0m0m  %  toplevel.pl:701:
(2)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m0m35m49m16m '$runtoplevel'. 0m49m39m0m0m  %  toplevel.pl:713:
(10)$0m2m99m49m16m[system]0m49m0m0m0m0m2m97m40m15m '$load_file'('mt_03c.pl',user,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2353:
(13)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$sig_atomic'(setup_call_cleanup(with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1f306f00),[expand(false),expand(true)])),'$mt_do_load'(<gt;clause>(0x55be1f306f00),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),'$mt_end_load'(<gt;clause>(0x55be1f306f00)))). 0m49m0m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(14)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(16)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1f306f00),[expand(false),expand(true)])),system:'$mt_do_load'(<gt;clause>(0x55be1f306f00),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),A,system:'$mt_end_load'(<gt;clause>(0x55be1f306f00))). 0m49m0m0m0m  %  init.pl:646:
(18)$0m2m99m49m16m[system]0m49m0m0m0m#0m1m37m40m15m '$qdo_load_file'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]). 0m49m39m21m0m  %  init.pl:2546:
(21)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m91m49m13m '$do_load_file_2'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,compiled,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2592:
(25)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:'$start_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',1632225607.2610815),system:'$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]),B,system:'$end_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',lexstate(202,swi),user)). 0m49m0m0m0m  %  init.pl:646:
(26)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:3007:
(31)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m93m49m15m '$execute_directive_3'(clause_u(modA:codeB,A)). 0m49m0m0m0m  %  init.pl:3574:
(32)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m catch(myMt:clause_u(modA:codeB,A),error(B,C),system:'$exception_in_directive'(error(B,C))). 0m49m0m0m0m  %  init.pl:546:
(33)0m1m96m49m10m[myMt]0m49m0m21m0m#0m2m39m49m14m pfc_lib:clause_u(modA:codeB,A). 0m49m39m0m0m  %  mpred_core.pl:4331:
(35)0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(36)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(38)0m1m96m49m10m[myMt]0m49m0m21m0m0m1m94m49m12m pfc_lib:break_ex. 0m49m0m21m0m  %  mpred_core.pl:4226:
(39)$0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(40)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(43)0m0m37m40m14m[butterfly]0m49m39m0m0m0m1m96m49m10m butterfly:in_bfly(f,myMt:zotrace(with_all_dmsg((b_setval('$dump_frame',500),dumpST1)))). 0m49m0m21m0m  %  butterfly_console.pl:226:
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ DUMP_BREAK/0
%~ message_hook(unhandled_exception(abort),error,['Unhandled exception: ','~p'-[abort]])
Unhandled exception: abort
ERROR: Unhandled exception: abort
~*/
/*~
~*/
/* <gt;module>
%
%  PFC is codeA language extension for prolog.
%
%  It adds codeA new type of module inheritance
%
% Dec 13, 2035
% Douglas Miles
*/
%  was_module(header_sane,[]).

:- include(library(logicmoo_test_header)).

%:- add_import_module(header_sane,baseKB,end).

/*~
running(-),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:59
%~ reload_of_test_header.
%~ %~ Reset DB complete for myMt
%~ %~ Reset DB complete for myMt
%~ this_test_might_need( :-( expects_dialect(pfc)))
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need( :-( use_module( library(logicmoo_plarkc))))
~*/


%:- add_import_module(header_sane,baseKB,end).

:- set_defaultAssertMt(myMt).

/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- mpred_trace_exec.

/*~
~*/

mtProlog(modA).
/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtProlog/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtProlog/1]])
No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
~*/

mtHybrid(modB).


/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtHybrid/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtHybrid/1]])
No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
~*/



modA: (codeA:- printAll('$current_source_module'(_M)),codeB).

/*~
No source location!?
~*/

modB: (codeB).

%:- \+ modA:codeA.

/*~
No source location!?
~*/

%:- \+ modA:codeA.

genlMt(modA,modB).

% before test, to make sure codeA was not accdently defined in modB
/*~
~*/

% before test, to make sure codeA was not accdently defined in modB
:- sanity(\+ module_clause(modB:codeA,_)).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:37
%~ ?-( mpred_test( "Test_0016_Line_0000__naf_CodeA_in_modB_in_myMt",
%~       myMt : \+( module_clause(modB:codeA,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modB:codeA,_93994))))
no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0016_Line_0000__naf_CodeA_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0016_Line_0000_naf_CodeA_in_modB_in_myMt-junit.xml
~*/

:- sanity(\+ module_clause(modA:codeB,_)).

/*~
%~ ?-( mpred_test( "Test_0017_Line_0000__naf_CodeB_in_modA_in_myMt",
%~       myMt : \+( module_clause(modA:codeB,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modA:codeB,_826182))))
no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0017_Line_0000__naf_CodeB_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0017_Line_0000_naf_CodeB_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modA:codeA,_)).
/*~
%~ ?-( mpred_test("Test_0018_Line_0000__CodeA_in_modA_in_myMt",myMt:module_clause(modA:codeA,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modA:codeA,(printAll('$current_source_module'(_647122)),codeB))))
no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0018_Line_0000__CodeA_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0018_Line_0000_CodeA_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modB:codeB,_)).

% before test, genlMt makes the rule available and should not corrupt the modA module
/*~
%~ ?-( mpred_test("Test_0019_Line_0000__CodeB_in_modB_in_myMt",myMt:module_clause(modB:codeB,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modB:codeB,true)))
no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0019_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0019_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/

% before test, genlMt makes the rule available and should not corrupt the modA module
:- warn_fail_TODO(clause_u(modA:codeB,_)).

% make sure genlMt didnt unassert
/*~
%~ :-( warn_fail_TODO( clause_u(modA:codeB,Kw))).
~*/

% make sure genlMt didnt unassert
:- sanity(clause_u(modB:codeB,_)).


% run the test
/*~
%~ ?-( mpred_test("Test_0020_Line_0000__CodeB_in_modB_in_myMt",myMt:clause_u(modB:codeB,Kw))).
passed=info(why_was_true(myMt:clause_u(modB:codeB,true)))
no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0020_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0020_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/



% run the test
modA: (:- codeA).

% to make codeB sure  is available in modA
/*~
No source location!?
~*/


% to make codeB sure  is available in modA
:- mpred_must( clause_u(modA:codeB,_)).

% to make sure codeA does not get accdently defined in modB
/*~
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure+failed_mpred_test(clause_u(modA:codeB,_677658))])
39m
%~ failed_mpred_test( clause_u(modA:codeB,Kw))
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
(0)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(1)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m2m97m40m15m '$toplevel'. 0m49m0m0m0m  %  toplevel.pl:701:
(2)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m0m35m49m16m '$runtoplevel'. 0m49m39m0m0m  %  toplevel.pl:713:
(10)$0m2m99m49m16m[system]0m49m0m0m0m0m2m97m40m15m '$load_file'('mt_03c.pl',user,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2353:
(13)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$sig_atomic'(setup_call_cleanup(with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbfd00),[expand(false),expand(true)])),'$mt_do_load'(<gt;clause>(0x55be1bbbfd00),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),'$mt_end_load'(<gt;clause>(0x55be1bbbfd00)))). 0m49m0m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(14)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(16)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbfd00),[expand(false),expand(true)])),system:'$mt_do_load'(<gt;clause>(0x55be1bbbfd00),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),A,system:'$mt_end_load'(<gt;clause>(0x55be1bbbfd00))). 0m49m0m0m0m  %  init.pl:646:
(18)$0m2m99m49m16m[system]0m49m0m0m0m#0m1m37m40m15m '$qdo_load_file'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]). 0m49m39m21m0m  %  init.pl:2546:
(21)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m91m49m13m '$do_load_file_2'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,compiled,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2592:
(25)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:'$start_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',1632225607.2610815),system:'$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]),B,system:'$end_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',lexstate(202,swi),user)). 0m49m0m0m0m  %  init.pl:646:
(26)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:3007:
(31)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m93m49m15m '$execute_directive_3'(clause_u(modA:codeB,A)). 0m49m0m0m0m  %  init.pl:3574:
(32)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m catch(myMt:clause_u(modA:codeB,A),error(B,C),system:'$exception_in_directive'(error(B,C))). 0m49m0m0m0m  %  init.pl:546:
(33)0m1m96m49m10m[myMt]0m49m0m21m0m#0m2m39m49m14m pfc_lib:clause_u(modA:codeB,A). 0m49m39m0m0m  %  mpred_core.pl:4331:
(35)0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(36)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(38)0m1m96m49m10m[myMt]0m49m0m21m0m0m1m94m49m12m pfc_lib:break_ex. 0m49m0m21m0m  %  mpred_core.pl:4226:
(39)$0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(40)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(43)0m0m37m40m14m[butterfly]0m49m39m0m0m0m1m96m49m10m butterfly:in_bfly(f,myMt:zotrace(with_all_dmsg((b_setval('$dump_frame',500),dumpST1)))). 0m49m0m21m0m  %  butterfly_console.pl:226:
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ DUMP_BREAK/0
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:56
%~ message_hook(unhandled_exception(abort),error,['Unhandled exception: ','~p'-[abort]])
Unhandled exception: abort
ERROR: Unhandled exception: abort
~*/
/*~
~*/
/* <gt;module>
%
%  PFC is codeA language extension for prolog.
%
%  It adds codeA new type of module inheritance
%
% Dec 13, 2035
% Douglas Miles
*/
%  was_module(header_sane,[]).

:- include(library(logicmoo_test_header)).

%:- add_import_module(header_sane,baseKB,end).

/*~
running(-),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:59
%~ reload_of_test_header.
%~ %~ Reset DB complete for myMt
%~ %~ Reset DB complete for myMt
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:93
%~ this_test_might_need( :-( expects_dialect(pfc)))
%~ this_test_might_need( :-( use_module( library(logicmoo_plarkc))))
~*/


%:- add_import_module(header_sane,baseKB,end).

:- set_defaultAssertMt(myMt).

/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- mpred_trace_exec.

/*~
~*/

mtProlog(modA).
/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtProlog/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtProlog/1]])
No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
~*/

mtHybrid(modB).


/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtHybrid/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtHybrid/1]])
No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
~*/



modA: (codeA:- printAll('$current_source_module'(_M)),codeB).

/*~
No source location!?
~*/

modB: (codeB).

%:- \+ modA:codeA.

/*~
No source location!?
~*/

%:- \+ modA:codeA.

genlMt(modA,modB).

% before test, to make sure codeA was not accdently defined in modB
/*~
~*/

% before test, to make sure codeA was not accdently defined in modB
:- sanity(\+ module_clause(modB:codeA,_)).
/*~
%~ ?-( mpred_test( "Test_0021_Line_0000__naf_CodeA_in_modB_in_myMt",
%~       myMt : \+( module_clause(modB:codeA,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modB:codeA,_94714))))
no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0021_Line_0000__naf_CodeA_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0021_Line_0000_naf_CodeA_in_modB_in_myMt-junit.xml
~*/

:- sanity(\+ module_clause(modA:codeB,_)).

/*~
%~ ?-( mpred_test( "Test_0022_Line_0000__naf_CodeB_in_modA_in_myMt",
%~       myMt : \+( module_clause(modA:codeB,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modA:codeB,_995796))))
no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0022_Line_0000__naf_CodeB_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0022_Line_0000_naf_CodeB_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modA:codeA,_)).
/*~
%~ ?-( mpred_test("Test_0023_Line_0000__CodeA_in_modA_in_myMt",myMt:module_clause(modA:codeA,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modA:codeA,(printAll('$current_source_module'(_951004)),codeB))))
no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0023_Line_0000__CodeA_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0023_Line_0000_CodeA_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modB:codeB,_)).

% before test, genlMt makes the rule available and should not corrupt the modA module
/*~
%~ ?-( mpred_test("Test_0024_Line_0000__CodeB_in_modB_in_myMt",myMt:module_clause(modB:codeB,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modB:codeB,true)))
no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0024_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0024_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/

% before test, genlMt makes the rule available and should not corrupt the modA module
:- warn_fail_TODO(clause_u(modA:codeB,_)).

% make sure genlMt didnt unassert
/*~
%~ :-( warn_fail_TODO( clause_u(modA:codeB,Kw))).
~*/

% make sure genlMt didnt unassert
:- sanity(clause_u(modB:codeB,_)).


% run the test
/*~
%~ ?-( mpred_test("Test_0025_Line_0000__CodeB_in_modB_in_myMt",myMt:clause_u(modB:codeB,Kw))).
passed=info(why_was_true(myMt:clause_u(modB:codeB,true)))
no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0025_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0025_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/



% run the test
modA: (:- codeA).

% to make codeB sure  is available in modA
/*~
No source location!?
~*/


% to make codeB sure  is available in modA
:- mpred_must( clause_u(modA:codeB,_)).

% to make sure codeA does not get accdently defined in modB
/*~
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure+failed_mpred_test(clause_u(modA:codeB,_827930))])
39m
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:56
%~ failed_mpred_test( clause_u(modA:codeB,Kw))
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
(0)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(1)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m2m97m40m15m '$toplevel'. 0m49m0m0m0m  %  toplevel.pl:701:
(2)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m0m35m49m16m '$runtoplevel'. 0m49m39m0m0m  %  toplevel.pl:713:
(10)$0m2m99m49m16m[system]0m49m0m0m0m0m2m97m40m15m '$load_file'('mt_03c.pl',user,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2353:
(13)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$sig_atomic'(setup_call_cleanup(with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbf080),[expand(false),expand(true)])),'$mt_do_load'(<gt;clause>(0x55be1bbbf080),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),'$mt_end_load'(<gt;clause>(0x55be1bbbf080)))). 0m49m0m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(14)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(16)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbf080),[expand(false),expand(true)])),system:'$mt_do_load'(<gt;clause>(0x55be1bbbf080),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),A,system:'$mt_end_load'(<gt;clause>(0x55be1bbbf080))). 0m49m0m0m0m  %  init.pl:646:
(18)$0m2m99m49m16m[system]0m49m0m0m0m#0m1m37m40m15m '$qdo_load_file'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]). 0m49m39m21m0m  %  init.pl:2546:
(21)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m91m49m13m '$do_load_file_2'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,compiled,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2592:
(25)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:'$start_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',1632225607.2610815),system:'$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]),B,system:'$end_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',lexstate(202,swi),user)). 0m49m0m0m0m  %  init.pl:646:
(26)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:3007:
(31)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m93m49m15m '$execute_directive_3'(clause_u(modA:codeB,A)). 0m49m0m0m0m  %  init.pl:3574:
(32)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m catch(myMt:clause_u(modA:codeB,A),error(B,C),system:'$exception_in_directive'(error(B,C))). 0m49m0m0m0m  %  init.pl:546:
(33)0m1m96m49m10m[myMt]0m49m0m21m0m#0m2m39m49m14m pfc_lib:clause_u(modA:codeB,A). 0m49m39m0m0m  %  mpred_core.pl:4331:
(35)0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(36)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(38)0m1m96m49m10m[myMt]0m49m0m21m0m0m1m94m49m12m pfc_lib:break_ex. 0m49m0m21m0m  %  mpred_core.pl:4226:
(39)$0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(40)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(43)0m0m37m40m14m[butterfly]0m49m39m0m0m0m1m96m49m10m butterfly:in_bfly(f,myMt:zotrace(with_all_dmsg((b_setval('$dump_frame',500),dumpST1)))). 0m49m0m21m0m  %  butterfly_console.pl:226:
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ DUMP_BREAK/0
%~ message_hook(unhandled_exception(abort),error,['Unhandled exception: ','~p'-[abort]])
Unhandled exception: abort
ERROR: Unhandled exception: abort
~*/
/*~
~*/
/* <gt;module>
%
%  PFC is codeA language extension for prolog.
%
%  It adds codeA new type of module inheritance
%
% Dec 13, 2035
% Douglas Miles
*/
%  was_module(header_sane,[]).

:- include(library(logicmoo_test_header)).

%:- add_import_module(header_sane,baseKB,end).

/*~
running(-),
%~ reload_of_test_header.
%~ %~ Reset DB complete for myMt
%~ %~ Reset DB complete for myMt
%~ this_test_might_need( :-( expects_dialect(pfc)))
%~ this_test_might_need( :-( use_module( library(logicmoo_plarkc))))
~*/


%:- add_import_module(header_sane,baseKB,end).

:- set_defaultAssertMt(myMt).

/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- mpred_trace_exec.

/*~
~*/

mtProlog(modA).
/*~
No source location!?
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:23
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtProlog/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtProlog/1]])
No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
~*/

mtHybrid(modB).


/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtHybrid/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtHybrid/1]])
No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
~*/



modA: (codeA:- printAll('$current_source_module'(_M)),codeB).

/*~
No source location!?
~*/

modB: (codeB).

%:- \+ modA:codeA.

/*~
No source location!?
~*/

%:- \+ modA:codeA.

genlMt(modA,modB).

% before test, to make sure codeA was not accdently defined in modB
/*~
~*/

% before test, to make sure codeA was not accdently defined in modB
:- sanity(\+ module_clause(modB:codeA,_)).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:37
%~ ?-( mpred_test( "Test_0026_Line_0000__naf_CodeA_in_modB_in_myMt",
%~       myMt : \+( module_clause(modB:codeA,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modB:codeA,_95264))))
no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0026_Line_0000__naf_CodeA_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0026_Line_0000_naf_CodeA_in_modB_in_myMt-junit.xml
~*/

:- sanity(\+ module_clause(modA:codeB,_)).

/*~
%~ ?-( mpred_test( "Test_0027_Line_0000__naf_CodeB_in_modA_in_myMt",
%~       myMt : \+( module_clause(modA:codeB,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modA:codeB,_671048))))
no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0027_Line_0000__naf_CodeB_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0027_Line_0000_naf_CodeB_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modA:codeA,_)).
/*~
%~ ?-( mpred_test("Test_0028_Line_0000__CodeA_in_modA_in_myMt",myMt:module_clause(modA:codeA,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modA:codeA,(printAll('$current_source_module'(_1820302)),codeB))))
no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0028_Line_0000__CodeA_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0028_Line_0000_CodeA_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modB:codeB,_)).

% before test, genlMt makes the rule available and should not corrupt the modA module
/*~
%~ ?-( mpred_test("Test_0029_Line_0000__CodeB_in_modB_in_myMt",myMt:module_clause(modB:codeB,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modB:codeB,true)))
no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0029_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0029_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/

% before test, genlMt makes the rule available and should not corrupt the modA module
:- warn_fail_TODO(clause_u(modA:codeB,_)).

% make sure genlMt didnt unassert
/*~
%~ :-( warn_fail_TODO( clause_u(modA:codeB,Kw))).
~*/

% make sure genlMt didnt unassert
:- sanity(clause_u(modB:codeB,_)).


% run the test
/*~
%~ ?-( mpred_test("Test_0030_Line_0000__CodeB_in_modB_in_myMt",myMt:clause_u(modB:codeB,Kw))).
passed=info(why_was_true(myMt:clause_u(modB:codeB,true)))
no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0030_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0030_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/



% run the test
modA: (:- codeA).

% to make codeB sure  is available in modA
/*~
No source location!?
~*/


% to make codeB sure  is available in modA
:- mpred_must( clause_u(modA:codeB,_)).

% to make sure codeA does not get accdently defined in modB
/*~
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure+failed_mpred_test(clause_u(modA:codeB,_1826482))])
39m
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:56
%~ failed_mpred_test( clause_u(modA:codeB,Kw))
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
(0)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(1)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m2m97m40m15m '$toplevel'. 0m49m0m0m0m  %  toplevel.pl:701:
(2)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m0m35m49m16m '$runtoplevel'. 0m49m39m0m0m  %  toplevel.pl:713:
(10)$0m2m99m49m16m[system]0m49m0m0m0m0m2m97m40m15m '$load_file'('mt_03c.pl',user,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2353:
(13)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$sig_atomic'(setup_call_cleanup(with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbf100),[expand(false),expand(true)])),'$mt_do_load'(<gt;clause>(0x55be1bbbf100),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),'$mt_end_load'(<gt;clause>(0x55be1bbbf100)))). 0m49m0m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(14)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(16)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbf100),[expand(false),expand(true)])),system:'$mt_do_load'(<gt;clause>(0x55be1bbbf100),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),A,system:'$mt_end_load'(<gt;clause>(0x55be1bbbf100))). 0m49m0m0m0m  %  init.pl:646:
(18)$0m2m99m49m16m[system]0m49m0m0m0m#0m1m37m40m15m '$qdo_load_file'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]). 0m49m39m21m0m  %  init.pl:2546:
(21)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m91m49m13m '$do_load_file_2'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,compiled,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2592:
(25)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:'$start_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',1632225607.2610815),system:'$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]),B,system:'$end_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',lexstate(202,swi),user)). 0m49m0m0m0m  %  init.pl:646:
(26)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:3007:
(31)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m93m49m15m '$execute_directive_3'(clause_u(modA:codeB,A)). 0m49m0m0m0m  %  init.pl:3574:
(32)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m catch(myMt:clause_u(modA:codeB,A),error(B,C),system:'$exception_in_directive'(error(B,C))). 0m49m0m0m0m  %  init.pl:546:
(33)0m1m96m49m10m[myMt]0m49m0m21m0m#0m2m39m49m14m pfc_lib:clause_u(modA:codeB,A). 0m49m39m0m0m  %  mpred_core.pl:4331:
(35)0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(36)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(38)0m1m96m49m10m[myMt]0m49m0m21m0m0m1m94m49m12m pfc_lib:break_ex. 0m49m0m21m0m  %  mpred_core.pl:4226:
(39)$0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(40)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(43)0m0m37m40m14m[butterfly]0m49m39m0m0m0m1m96m49m10m butterfly:in_bfly(f,myMt:zotrace(with_all_dmsg((b_setval('$dump_frame',500),dumpST1)))). 0m49m0m21m0m  %  butterfly_console.pl:226:
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ DUMP_BREAK/0
%~ message_hook(unhandled_exception(abort),error,['Unhandled exception: ','~p'-[abort]])
Unhandled exception: abort
ERROR: Unhandled exception: abort
~*/
/*~
~*/
/* <gt;module>
%
%  PFC is codeA language extension for prolog.
%
%  It adds codeA new type of module inheritance
%
% Dec 13, 2035
% Douglas Miles
*/
%  was_module(header_sane,[]).

:- include(library(logicmoo_test_header)).

%:- add_import_module(header_sane,baseKB,end).

/*~
running(-),
%~ reload_of_test_header.
%~ %~ Reset DB complete for myMt
%~ %~ Reset DB complete for myMt
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:93
%~ this_test_might_need( :-( expects_dialect(pfc)))
%~ this_test_might_need( :-( use_module( library(logicmoo_plarkc))))
~*/


%:- add_import_module(header_sane,baseKB,end).

:- set_defaultAssertMt(myMt).

/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- mpred_trace_exec.

/*~
~*/

mtProlog(modA).
/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtProlog/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtProlog/1]])
No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
~*/

mtHybrid(modB).


/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtHybrid/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtHybrid/1]])
No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
~*/



modA: (codeA:- printAll('$current_source_module'(_M)),codeB).

/*~
No source location!?
~*/

modB: (codeB).

%:- \+ modA:codeA.

/*~
No source location!?
~*/

%:- \+ modA:codeA.

genlMt(modA,modB).

% before test, to make sure codeA was not accdently defined in modB
/*~
~*/

% before test, to make sure codeA was not accdently defined in modB
:- sanity(\+ module_clause(modB:codeA,_)).
/*~
%~ ?-( mpred_test( "Test_0031_Line_0000__naf_CodeA_in_modB_in_myMt",
%~       myMt : \+( module_clause(modB:codeA,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modB:codeA,_95892))))
no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0031_Line_0000__naf_CodeA_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0031_Line_0000_naf_CodeA_in_modB_in_myMt-junit.xml
~*/

:- sanity(\+ module_clause(modA:codeB,_)).

/*~
%~ ?-( mpred_test( "Test_0032_Line_0000__naf_CodeB_in_modA_in_myMt",
%~       myMt : \+( module_clause(modA:codeB,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modA:codeB,_1451688))))
no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0032_Line_0000__naf_CodeB_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0032_Line_0000_naf_CodeB_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modA:codeA,_)).
/*~
%~ ?-( mpred_test("Test_0033_Line_0000__CodeA_in_modA_in_myMt",myMt:module_clause(modA:codeA,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modA:codeA,(printAll('$current_source_module'(_1202696)),codeB))))
no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0033_Line_0000__CodeA_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0033_Line_0000_CodeA_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modB:codeB,_)).

% before test, genlMt makes the rule available and should not corrupt the modA module
/*~
%~ ?-( mpred_test("Test_0034_Line_0000__CodeB_in_modB_in_myMt",myMt:module_clause(modB:codeB,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modB:codeB,true)))
no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0034_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0034_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/

% before test, genlMt makes the rule available and should not corrupt the modA module
:- warn_fail_TODO(clause_u(modA:codeB,_)).

% make sure genlMt didnt unassert
/*~
%~ :-( warn_fail_TODO( clause_u(modA:codeB,Kw))).
~*/

% make sure genlMt didnt unassert
:- sanity(clause_u(modB:codeB,_)).


% run the test
/*~
%~ ?-( mpred_test("Test_0035_Line_0000__CodeB_in_modB_in_myMt",myMt:clause_u(modB:codeB,Kw))).
passed=info(why_was_true(myMt:clause_u(modB:codeB,true)))
no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0035_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0035_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/



% run the test
modA: (:- codeA).

% to make codeB sure  is available in modA
/*~
No source location!?
~*/


% to make codeB sure  is available in modA
:- mpred_must( clause_u(modA:codeB,_)).

% to make sure codeA does not get accdently defined in modB
/*~
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure+failed_mpred_test(clause_u(modA:codeB,_852750))])
39m
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:56
%~ failed_mpred_test( clause_u(modA:codeB,Kw))
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
(0)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(1)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m2m97m40m15m '$toplevel'. 0m49m0m0m0m  %  toplevel.pl:701:
(2)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m0m35m49m16m '$runtoplevel'. 0m49m39m0m0m  %  toplevel.pl:713:
(10)$0m2m99m49m16m[system]0m49m0m0m0m0m2m97m40m15m '$load_file'('mt_03c.pl',user,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2353:
(13)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$sig_atomic'(setup_call_cleanup(with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbe280),[expand(false),expand(true)])),'$mt_do_load'(<gt;clause>(0x55be1bbbe280),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),'$mt_end_load'(<gt;clause>(0x55be1bbbe280)))). 0m49m0m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(14)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(16)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbe280),[expand(false),expand(true)])),system:'$mt_do_load'(<gt;clause>(0x55be1bbbe280),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),A,system:'$mt_end_load'(<gt;clause>(0x55be1bbbe280))). 0m49m0m0m0m  %  init.pl:646:
(18)$0m2m99m49m16m[system]0m49m0m0m0m#0m1m37m40m15m '$qdo_load_file'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]). 0m49m39m21m0m  %  init.pl:2546:
(21)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m91m49m13m '$do_load_file_2'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,compiled,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2592:
(25)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:'$start_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',1632225607.2610815),system:'$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]),B,system:'$end_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',lexstate(202,swi),user)). 0m49m0m0m0m  %  init.pl:646:
(26)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:3007:
(31)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m93m49m15m '$execute_directive_3'(clause_u(modA:codeB,A)). 0m49m0m0m0m  %  init.pl:3574:
(32)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m catch(myMt:clause_u(modA:codeB,A),error(B,C),system:'$exception_in_directive'(error(B,C))). 0m49m0m0m0m  %  init.pl:546:
(33)0m1m96m49m10m[myMt]0m49m0m21m0m#0m2m39m49m14m pfc_lib:clause_u(modA:codeB,A). 0m49m39m0m0m  %  mpred_core.pl:4331:
(35)0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(36)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(38)0m1m96m49m10m[myMt]0m49m0m21m0m0m1m94m49m12m pfc_lib:break_ex. 0m49m0m21m0m  %  mpred_core.pl:4226:
(39)$0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(40)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(43)0m0m37m40m14m[butterfly]0m49m39m0m0m0m1m96m49m10m butterfly:in_bfly(f,myMt:zotrace(with_all_dmsg((b_setval('$dump_frame',500),dumpST1)))). 0m49m0m21m0m  %  butterfly_console.pl:226:
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ DUMP_BREAK/0
%~ message_hook(unhandled_exception(abort),error,['Unhandled exception: ','~p'-[abort]])
Unhandled exception: abort
ERROR: Unhandled exception: abort
~*/
/*~
~*/
/* <gt;module>
%
%  PFC is codeA language extension for prolog.
%
%  It adds codeA new type of module inheritance
%
% Dec 13, 2035
% Douglas Miles
*/
%  was_module(header_sane,[]).

:- include(library(logicmoo_test_header)).

%:- add_import_module(header_sane,baseKB,end).

/*~
running(-),
%~ reload_of_test_header.
%~ %~ Reset DB complete for myMt
%~ %~ Reset DB complete for myMt
%~ this_test_might_need( :-( expects_dialect(pfc)))
%~ this_test_might_need( :-( use_module( library(logicmoo_plarkc))))
~*/


%:- add_import_module(header_sane,baseKB,end).

:- set_defaultAssertMt(myMt).

/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- mpred_trace_exec.

/*~
~*/

mtProlog(modA).
/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtProlog/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtProlog/1]])
No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
~*/

mtHybrid(modB).


/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtHybrid/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtHybrid/1]])
No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
~*/



modA: (codeA:- printAll('$current_source_module'(_M)),codeB).

/*~
No source location!?
~*/

modB: (codeB).

%:- \+ modA:codeA.

/*~
No source location!?
~*/

%:- \+ modA:codeA.

genlMt(modA,modB).

% before test, to make sure codeA was not accdently defined in modB
/*~
~*/

% before test, to make sure codeA was not accdently defined in modB
:- sanity(\+ module_clause(modB:codeA,_)).
/*~
%~ ?-( mpred_test( "Test_0036_Line_0000__naf_CodeA_in_modB_in_myMt",
%~       myMt : \+( module_clause(modB:codeA,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modB:codeA,_1095070))))
no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0036_Line_0000__naf_CodeA_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0036_Line_0000_naf_CodeA_in_modB_in_myMt-junit.xml
~*/

:- sanity(\+ module_clause(modA:codeB,_)).

/*~
%~ ?-( mpred_test( "Test_0037_Line_0000__naf_CodeB_in_modA_in_myMt",
%~       myMt : \+( module_clause(modA:codeB,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modA:codeB,_1216294))))
no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0037_Line_0000__naf_CodeB_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0037_Line_0000_naf_CodeB_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modA:codeA,_)).
/*~
%~ ?-( mpred_test("Test_0038_Line_0000__CodeA_in_modA_in_myMt",myMt:module_clause(modA:codeA,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modA:codeA,(printAll('$current_source_module'(_2821068)),codeB))))
no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

no_proof_for(module_clause(modA:codeA,(printAll($current_source_module(Module)),codeB))).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0038_Line_0000__CodeA_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0038_Line_0000_CodeA_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modB:codeB,_)).

% before test, genlMt makes the rule available and should not corrupt the modA module
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:41
%~ ?-( mpred_test("Test_0039_Line_0000__CodeB_in_modB_in_myMt",myMt:module_clause(modB:codeB,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modB:codeB,true)))
no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0039_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0039_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/

% before test, genlMt makes the rule available and should not corrupt the modA module
:- warn_fail_TODO(clause_u(modA:codeB,_)).

% make sure genlMt didnt unassert
/*~
%~ :-( warn_fail_TODO( clause_u(modA:codeB,Kw))).
~*/

% make sure genlMt didnt unassert
:- sanity(clause_u(modB:codeB,_)).


% run the test
/*~
%~ ?-( mpred_test("Test_0040_Line_0000__CodeB_in_modB_in_myMt",myMt:clause_u(modB:codeB,Kw))).
passed=info(why_was_true(myMt:clause_u(modB:codeB,true)))
no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

no_proof_for(clause_u(modB:codeB,true)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0040_Line_0000__CodeB_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0040_Line_0000_CodeB_in_modB_in_myMt-junit.xml
~*/



% run the test
modA: (:- codeA).

% to make codeB sure  is available in modA
/*~
No source location!?
~*/


% to make codeB sure  is available in modA
:- mpred_must( clause_u(modA:codeB,_)).

% to make sure codeA does not get accdently defined in modB
/*~
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure+failed_mpred_test(clause_u(modA:codeB,_4050612))])
39m
%~ failed_mpred_test( clause_u(modA:codeB,Kw))
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
(0)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(1)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m2m97m40m15m '$toplevel'. 0m49m0m0m0m  %  toplevel.pl:701:
(2)$0m2m97m40m15m[$toplevel]0m49m0m0m0m0m0m35m49m16m '$runtoplevel'. 0m49m39m0m0m  %  toplevel.pl:713:
(10)$0m2m99m49m16m[system]0m49m0m0m0m0m2m97m40m15m '$load_file'('mt_03c.pl',user,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2353:
(13)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$sig_atomic'(setup_call_cleanup(with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbf880),[expand(false),expand(true)])),'$mt_do_load'(<gt;clause>(0x55be1bbbf880),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),'$mt_end_load'(<gt;clause>(0x55be1bbbf880)))). 0m49m0m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(14)$0m2m99m49m16m[system]0m49m0m0m0m0m2m32m49m11m '$c_call_prolog'. 0m49m39m0m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(16)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:with_mutex('$load_file','$mt_start_load'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',<gt;clause>(0x55be1bbbf880),[expand(false),expand(true)])),system:'$mt_do_load'(<gt;clause>(0x55be1bbbf880),'mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]),A,system:'$mt_end_load'(<gt;clause>(0x55be1bbbf880))). 0m49m0m0m0m  %  init.pl:646:
(18)$0m2m99m49m16m[system]0m49m0m0m0m#0m1m37m40m15m '$qdo_load_file'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,[expand(false),expand(true)]). 0m49m39m21m0m  %  init.pl:2546:
(21)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m91m49m13m '$do_load_file_2'('mt_03c.pl','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',user,compiled,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:2592:
(25)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m setup_call_catcher_cleanup(system:'$start_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',1632225607.2610815),system:'$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]),B,system:'$end_consult'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',lexstate(202,swi),user)). 0m49m0m0m0m  %  init.pl:646:
(26)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m97m40m15m '$load_file'('* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ','* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl ',A,[expand(false),expand(true)]). 0m49m0m0m0m  %  init.pl:3007:
(31)<gt;*>$0m2m99m49m16m[system]0m49m0m0m0m#0m2m93m49m15m '$execute_directive_3'(clause_u(modA:codeB,A)). 0m49m0m0m0m  %  init.pl:3574:
(32)$0m2m99m49m16m[system]0m49m0m0m0m#0m2m99m49m16m catch(myMt:clause_u(modA:codeB,A),error(B,C),system:'$exception_in_directive'(error(B,C))). 0m49m0m0m0m  %  init.pl:546:
(33)0m1m96m49m10m[myMt]0m49m0m21m0m#0m2m39m49m14m pfc_lib:clause_u(modA:codeB,A). 0m49m39m0m0m  %  mpred_core.pl:4331:
(35)0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(36)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_lines(red,failure+failed_mpred_test(clause_u(modA:codeB,A))),maybe_mpred_break(failed_mpred_test(clause_u(modA:codeB,A))),log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(38)0m1m96m49m10m[myMt]0m49m0m21m0m0m1m94m49m12m pfc_lib:break_ex. 0m49m0m21m0m  %  mpred_core.pl:4226:
(39)$0m2m96m49m13m[rtrace]0m49m0m0m0m0m1m96m49m10m rtrace:quietly(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m  %  rtrace.pl:217:
(40)$0m1m96m49m10m[myMt]0m49m0m21m0m0m1m96m49m10m '<gt;meta-call>'(myMt:(log_failure_red,dumpST,log_failure_red)). 0m49m0m21m0m0m2m99m49m17m no(clause) 0m49m0m0m0m
(43)0m0m37m40m14m[butterfly]0m49m39m0m0m0m1m96m49m10m butterfly:in_bfly(f,myMt:zotrace(with_all_dmsg((b_setval('$dump_frame',500),dumpST1)))). 0m49m0m21m0m  %  butterfly_console.pl:226:
%~ FILE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/mt_03c.pl#L56 
31msmart_format("%%%%%%%%%%%%%%%%%%%%%%%%%%% (~w) ~w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",[red,failure])
39m
%~ DUMP_BREAK/0
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:56
%~ message_hook(unhandled_exception(abort),error,['Unhandled exception: ','~p'-[abort]])
Unhandled exception: abort
ERROR: Unhandled exception: abort
~*/
/*~
~*/
/* <gt;module>
%
%  PFC is codeA language extension for prolog.
%
%  It adds codeA new type of module inheritance
%
% Dec 13, 2035
% Douglas Miles
*/
%  was_module(header_sane,[]).

:- include(library(logicmoo_test_header)).

%:- add_import_module(header_sane,baseKB,end).

/*~
running(-),
%~ reload_of_test_header.
%~ %~ Reset DB complete for myMt
%~ %~ Reset DB complete for myMt
%~ this_test_might_need( :-( expects_dialect(pfc)))
%~ this_test_might_need( :-( use_module( library(logicmoo_plarkc))))
~*/


%:- add_import_module(header_sane,baseKB,end).

:- set_defaultAssertMt(myMt).

/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- mpred_trace_exec.

/*~
~*/

mtProlog(modA).
/*~
No source location!?
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:23
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtProlog/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtProlog/1]])
No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtProlog/1)'
~*/

mtHybrid(modB).


/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,imported_procedure,baseKB:mtHybrid/1),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w ~w `~p\'' - [ redefine,
%~                                         imported_procedure,
%~                                         baseKB : mtHybrid/1]])
No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
ERROR: No permission to redefine imported_procedure `baseKB:(mtHybrid/1)'
~*/



modA: (codeA:- printAll('$current_source_module'(_M)),codeB).

/*~
No source location!?
~*/

modB: (codeB).

%:- \+ modA:codeA.

/*~
No source location!?
~*/

%:- \+ modA:codeA.

genlMt(modA,modB).

% before test, to make sure codeA was not accdently defined in modB
/*~
~*/

% before test, to make sure codeA was not accdently defined in modB
:- sanity(\+ module_clause(modB:codeA,_)).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:37
%~ ?-( mpred_test( "Test_0041_Line_0000__naf_CodeA_in_modB_in_myMt",
%~       myMt : \+( module_clause(modB:codeA,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modB:codeA,_101448))))
no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

no_proof_for(\+module_clause(modB:codeA,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0041_Line_0000__naf_CodeA_in_modB_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0041_Line_0000_naf_CodeA_in_modB_in_myMt-junit.xml
~*/

:- sanity(\+ module_clause(modA:codeB,_)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/mt_03c.pl:38
%~ ?-( mpred_test( "Test_0042_Line_0000__naf_CodeB_in_modA_in_myMt",
%~       myMt : \+( module_clause(modA:codeB,Clause_Kw)))).
passed=info(why_was_true(myMt:(\+module_clause(modA:codeB,_1854172))))
no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

no_proof_for(\+module_clause(modA:codeB,Clause_Kw2)).

name='logicmoo.pfc.test.sanity_base.MT_03C-Test_0042_Line_0000__naf_CodeB_in_modA_in_myMt'.
JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.MT_03C'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'mt_03c.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_MT_03C_Test_0042_Line_0000_naf_CodeB_in_modA_in_myMt-junit.xml
~*/

:- sanity( module_clause(modA:codeA,_)).
/*~
%~ ?-( mpred_test("Test_0043_Line_0000__CodeA_in_modA_in_myMt",myMt:module_clause(modA:codeA,Clause_Kw))).
passed=info(why_was_true(myMt:module_clause(modA:codeA
goal=myMt:module_clause(modB:codeB,_1677200).
time=0.00014090538024902344.
passed=passed=info(why_was_true(myMt:module_clause(modB:codeB,true)))
no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

no_proof_for(module_clause(modB:codeB,true)).

result=passed.
]]></system-err>
    </testcase>
  </testsuite>
 </testsuites>