Page MenuHomeFreeBSD

Allow defining nofork builtins from builtins.def and move always-safe ones there.
ClosedPublic

Authored by bdrewery on Jun 4 2017, 5:49 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 22, 7:51 AM
Unknown Object (File)
Mar 20 2024, 7:06 AM
Unknown Object (File)
Feb 1 2024, 9:46 AM
Unknown Object (File)
Dec 23 2023, 12:16 AM
Unknown Object (File)
Dec 15 2023, 10:45 PM
Unknown Object (File)
Nov 15 2023, 1:52 PM
Unknown Object (File)
Sep 26 2023, 2:59 PM
Unknown Object (File)
Aug 29 2023, 4:28 AM
Subscribers
None

Details

Test Plan

make depend, inspection of builtins.c/h and make

Generated code in builtins.h looks like:

static inline int
safe_builtin_always(int idx)
{
        if (idx == BLTINCMD ||
            idx == COMMANDCMD ||
            idx == ECHOCMD ||
            idx == FALSECMD ||
            idx == JOBIDCMD ||
            idx == JOBSCMD ||
            idx == KILLCMD ||
            idx == PRINTFCMD ||
            idx == PWDCMD ||
            idx == TESTCMD ||
            idx == TIMESCMD ||
            idx == TRUECMD ||
            idx == TYPECMD)
                return (1);
        return(0);
}
builtins/functional_test:alias  ->  passed  [0.039s]
builtins/functional_test:alias3  ->  passed  [0.038s]
builtins/functional_test:alias4  ->  passed  [0.038s]
builtins/functional_test:break1  ->  passed  [0.038s]
builtins/functional_test:break2  ->  passed  [0.039s]
builtins/functional_test:break3  ->  passed  [0.038s]
builtins/functional_test:break4  ->  passed  [0.038s]
builtins/functional_test:break5  ->  passed  [0.039s]
builtins/functional_test:break6  ->  passed  [0.038s]
builtins/functional_test:builtin1  ->  passed  [0.044s]
builtins/functional_test:case1  ->  passed  [0.038s]
builtins/functional_test:case10  ->  passed  [0.038s]
builtins/functional_test:case11  ->  passed  [0.038s]
builtins/functional_test:case12  ->  passed  [0.038s]
builtins/functional_test:case13  ->  passed  [0.038s]
builtins/functional_test:case14  ->  passed  [0.038s]
builtins/functional_test:case15  ->  passed  [0.038s]
builtins/functional_test:case16  ->  passed  [0.038s]
builtins/functional_test:case17  ->  passed  [0.038s]
builtins/functional_test:case18  ->  passed  [0.038s]
builtins/functional_test:case19  ->  passed  [0.039s]
builtins/functional_test:case2  ->  passed  [0.039s]
builtins/functional_test:case20  ->  passed  [0.038s]
builtins/functional_test:case3  ->  passed  [0.038s]
builtins/functional_test:case4  ->  passed  [0.038s]
builtins/functional_test:case5  ->  passed  [0.039s]
builtins/functional_test:case6  ->  passed  [0.038s]
builtins/functional_test:case7  ->  passed  [0.039s]
builtins/functional_test:case8  ->  passed  [0.038s]
builtins/functional_test:case9  ->  passed  [0.039s]
builtins/functional_test:cd1  ->  passed  [0.054s]
builtins/functional_test:cd2  ->  passed  [0.123s]
builtins/functional_test:cd3  ->  passed  [0.040s]
builtins/functional_test:cd4  ->  passed  [0.047s]
builtins/functional_test:cd5  ->  passed  [0.045s]
builtins/functional_test:cd6  ->  passed  [0.038s]
builtins/functional_test:cd7  ->  passed  [0.038s]
builtins/functional_test:cd8  ->  passed  [0.041s]
builtins/functional_test:cd9  ->  passed  [0.039s]
builtins/functional_test:command1  ->  passed  [0.038s]
builtins/functional_test:command10  ->  passed  [0.039s]
builtins/functional_test:command11  ->  passed  [0.040s]
builtins/functional_test:command12  ->  passed  [0.039s]
builtins/functional_test:command2  ->  passed  [0.040s]
builtins/functional_test:command3  ->  passed  [0.039s]
builtins/functional_test:command4  ->  passed  [0.039s]
builtins/functional_test:command5  ->  passed  [0.039s]
builtins/functional_test:command6  ->  passed  [0.038s]
builtins/functional_test:command7  ->  passed  [0.042s]
builtins/functional_test:command8  ->  passed  [0.068s]
builtins/functional_test:command9  ->  passed  [0.039s]
builtins/functional_test:dot1  ->  passed  [0.042s]
builtins/functional_test:dot2  ->  passed  [0.042s]
builtins/functional_test:dot3  ->  passed  [0.038s]
builtins/functional_test:dot4  ->  passed  [0.040s]
builtins/functional_test:echo1  ->  passed  [0.040s]
builtins/functional_test:echo2  ->  passed  [0.039s]
builtins/functional_test:echo3  ->  passed  [0.039s]
builtins/functional_test:eval1  ->  passed  [0.038s]
builtins/functional_test:eval2  ->  passed  [0.038s]
builtins/functional_test:eval3  ->  passed  [0.038s]
builtins/functional_test:eval4  ->  passed  [0.039s]
builtins/functional_test:eval5  ->  passed  [0.038s]
builtins/functional_test:eval6  ->  passed  [0.039s]
builtins/functional_test:eval7  ->  passed  [0.038s]
builtins/functional_test:eval8  ->  passed  [0.038s]
builtins/functional_test:exec1  ->  passed  [0.042s]
builtins/functional_test:exec2  ->  passed  [0.042s]
builtins/functional_test:exit1  ->  passed  [0.038s]
builtins/functional_test:exit2  ->  passed  [0.039s]
builtins/functional_test:exit3  ->  passed  [0.038s]
builtins/functional_test:export1  ->  passed  [0.042s]
builtins/functional_test:fc1  ->  passed  [0.047s]
builtins/functional_test:fc2  ->  passed  [0.049s]
builtins/functional_test:for1  ->  passed  [0.038s]
builtins/functional_test:for2  ->  passed  [0.038s]
builtins/functional_test:for3  ->  passed  [0.039s]
builtins/functional_test:getopts1  ->  passed  [0.038s]
builtins/functional_test:getopts10  ->  passed  [0.038s]
builtins/functional_test:getopts2  ->  passed  [0.039s]
builtins/functional_test:getopts3  ->  passed  [0.038s]
builtins/functional_test:getopts4  ->  passed  [0.038s]
builtins/functional_test:getopts5  ->  passed  [0.038s]
builtins/functional_test:getopts6  ->  passed  [0.039s]
builtins/functional_test:getopts7  ->  passed  [0.039s]
builtins/functional_test:getopts8  ->  passed  [0.039s]
builtins/functional_test:getopts9  ->  passed  [0.038s]
builtins/functional_test:hash1  ->  passed  [0.040s]
builtins/functional_test:hash2  ->  passed  [0.039s]
builtins/functional_test:hash3  ->  passed  [0.039s]
builtins/functional_test:hash4  ->  passed  [0.040s]
builtins/functional_test:jobid1  ->  passed  [0.039s]
builtins/functional_test:jobid2  ->  passed  [0.039s]
builtins/functional_test:kill1  ->  passed  [0.039s]
builtins/functional_test:kill2  ->  passed  [0.039s]
builtins/functional_test:lineno  ->  passed  [0.039s]
builtins/functional_test:lineno2  ->  passed  [0.038s]
builtins/functional_test:lineno3  ->  passed  [0.039s]
builtins/functional_test:local1  ->  passed  [0.038s]
builtins/functional_test:local2  ->  passed  [0.038s]
builtins/functional_test:local3  ->  passed  [0.038s]
builtins/functional_test:local4  ->  passed  [0.038s]
builtins/functional_test:local5  ->  passed  [0.042s]
builtins/functional_test:local6  ->  passed  [0.038s]
builtins/functional_test:local7  ->  passed  [0.038s]
builtins/functional_test:locale1  ->  passed  [0.061s]
builtins/functional_test:locale2  ->  passed  [0.040s]
builtins/functional_test:printf1  ->  passed  [0.042s]
builtins/functional_test:printf2  ->  passed  [0.038s]
builtins/functional_test:printf3  ->  passed  [0.039s]
builtins/functional_test:printf4  ->  passed  [0.039s]
builtins/functional_test:read1  ->  passed  [0.056s]
builtins/functional_test:read2  ->  passed  [0.044s]
builtins/functional_test:read3  ->  passed  [0.047s]
builtins/functional_test:read4  ->  passed  [0.046s]
builtins/functional_test:read5  ->  passed  [0.045s]
builtins/functional_test:read6  ->  passed  [0.039s]
builtins/functional_test:read7  ->  passed  [0.040s]
builtins/functional_test:read8  ->  passed  [0.039s]
builtins/functional_test:read9  ->  passed  [0.038s]
builtins/functional_test:return1  ->  passed  [0.039s]
builtins/functional_test:return2  ->  passed  [0.038s]
builtins/functional_test:return3  ->  passed  [0.038s]
builtins/functional_test:return4  ->  passed  [0.042s]
builtins/functional_test:return5  ->  passed  [0.039s]
builtins/functional_test:return6  ->  passed  [0.038s]
builtins/functional_test:return7  ->  passed  [0.038s]
builtins/functional_test:return8  ->  passed  [0.039s]
builtins/functional_test:set1  ->  passed  [0.038s]
builtins/functional_test:set2  ->  passed  [0.043s]
builtins/functional_test:set3  ->  passed  [0.039s]
builtins/functional_test:trap1  ->  passed  [0.049s]
builtins/functional_test:trap10  ->  passed  [0.041s]
builtins/functional_test:trap11  ->  passed  [0.040s]
builtins/functional_test:trap12  ->  passed  [0.039s]
builtins/functional_test:trap13  ->  passed  [0.042s]
builtins/functional_test:trap14  ->  passed  [0.042s]
builtins/functional_test:trap15  ->  passed  [0.041s]
builtins/functional_test:trap16  ->  passed  [0.056s]
builtins/functional_test:trap17  ->  passed  [0.039s]
builtins/functional_test:trap2  ->  passed  [0.047s]
builtins/functional_test:trap3  ->  passed  [0.038s]
builtins/functional_test:trap4  ->  passed  [0.045s]
builtins/functional_test:trap5  ->  passed  [0.039s]
builtins/functional_test:trap6  ->  passed  [0.042s]
builtins/functional_test:trap7  ->  passed  [0.039s]
builtins/functional_test:trap8  ->  passed  [0.039s]
builtins/functional_test:trap9  ->  passed  [0.039s]
builtins/functional_test:type1  ->  passed  [0.041s]
builtins/functional_test:type2  ->  passed  [0.039s]
builtins/functional_test:type3  ->  passed  [0.039s]
builtins/functional_test:unalias  ->  passed  [0.039s]
builtins/functional_test:var_assign  ->  passed  [0.115s]
builtins/functional_test:var_assign2  ->  passed  [0.120s]
builtins/functional_test:wait1  ->  passed  [0.041s]
builtins/functional_test:wait10  ->  passed  [0.040s]
builtins/functional_test:wait2  ->  passed  [0.043s]
builtins/functional_test:wait3  ->  passed  [0.050s]
builtins/functional_test:wait4  ->  passed  [0.044s]
builtins/functional_test:wait5  ->  passed  [0.044s]
builtins/functional_test:wait6  ->  passed  [0.038s]
builtins/functional_test:wait7  ->  passed  [0.039s]
builtins/functional_test:wait8  ->  passed  [0.040s]
builtins/functional_test:wait9  ->  passed  [0.039s]
errors/functional_test:assignment_error1  ->  passed  [0.068s]
errors/functional_test:assignment_error2  ->  passed  [0.033s]
errors/functional_test:backquote_error1  ->  passed  [0.036s]
errors/functional_test:backquote_error2  ->  passed  [0.041s]
errors/functional_test:bad_binary1  ->  passed  [0.039s]
errors/functional_test:bad_keyword1  ->  passed  [0.035s]
errors/functional_test:bad_parm_exp1  ->  passed  [0.033s]
errors/functional_test:bad_parm_exp2  ->  passed  [0.033s]
errors/functional_test:bad_parm_exp3  ->  passed  [0.033s]
errors/functional_test:bad_parm_exp4  ->  passed  [0.033s]
errors/functional_test:bad_parm_exp5  ->  passed  [0.033s]
errors/functional_test:bad_parm_exp6  ->  passed  [0.033s]
errors/functional_test:bad_parm_exp7  ->  passed  [0.032s]
errors/functional_test:bad_parm_exp8  ->  passed  [0.032s]
errors/functional_test:option_error  ->  passed  [0.097s]
errors/functional_test:redirection_error  ->  passed  [0.116s]
errors/functional_test:redirection_error2  ->  passed  [0.035s]
errors/functional_test:redirection_error3  ->  passed  [0.115s]
errors/functional_test:redirection_error4  ->  passed  [0.033s]
errors/functional_test:redirection_error5  ->  passed  [0.034s]
errors/functional_test:redirection_error6  ->  passed  [0.033s]
errors/functional_test:redirection_error7  ->  passed  [0.034s]
errors/functional_test:write_error1  ->  passed  [0.033s]
execution/functional_test:bg1  ->  passed  [0.034s]
execution/functional_test:bg10  ->  passed  [0.039s]
execution/functional_test:bg2  ->  passed  [0.034s]
execution/functional_test:bg3  ->  passed  [0.034s]
execution/functional_test:bg4  ->  passed  [0.034s]
execution/functional_test:bg5  ->  passed  [0.038s]
execution/functional_test:bg6  ->  passed  [0.039s]
execution/functional_test:bg7  ->  passed  [0.039s]
execution/functional_test:bg8  ->  passed  [0.038s]
execution/functional_test:bg9  ->  passed  [0.038s]
execution/functional_test:fork1  ->  passed  [0.042s]
execution/functional_test:fork2  ->  passed  [0.151s]
execution/functional_test:fork3  ->  passed  [0.038s]
execution/functional_test:func1  ->  passed  [0.038s]
execution/functional_test:func2  ->  passed  [0.034s]
execution/functional_test:func3  ->  passed  [0.035s]
execution/functional_test:hash1  ->  passed  [0.049s]
execution/functional_test:int_cmd1  ->  passed  [0.036s]
execution/functional_test:killed1  ->  passed  [0.036s]
execution/functional_test:killed2  ->  passed  [0.036s]
execution/functional_test:not1  ->  passed  [0.033s]
execution/functional_test:not2  ->  passed  [0.033s]
execution/functional_test:path1  ->  passed  [0.039s]
execution/functional_test:redir1  ->  passed  [0.040s]
execution/functional_test:redir2  ->  passed  [0.042s]
execution/functional_test:redir3  ->  passed  [0.033s]
execution/functional_test:redir4  ->  passed  [0.034s]
execution/functional_test:redir5  ->  passed  [0.034s]
execution/functional_test:redir6  ->  passed  [0.047s]
execution/functional_test:redir7  ->  passed  [0.048s]
execution/functional_test:set_C1  ->  passed  [0.040s]
execution/functional_test:set_n1  ->  passed  [0.036s]
execution/functional_test:set_n2  ->  passed  [0.036s]
execution/functional_test:set_n3  ->  passed  [0.036s]
execution/functional_test:set_n4  ->  passed  [0.035s]
execution/functional_test:set_x1  ->  passed  [0.034s]
execution/functional_test:set_x2  ->  passed  [0.034s]
execution/functional_test:set_x3  ->  passed  [0.034s]
execution/functional_test:set_x4  ->  passed  [0.034s]
execution/functional_test:shellproc1  ->  passed  [0.042s]
execution/functional_test:subshell1  ->  passed  [0.038s]
execution/functional_test:subshell2  ->  passed  [0.034s]
execution/functional_test:subshell3  ->  passed  [0.034s]
execution/functional_test:subshell4  ->  passed  [0.034s]
execution/functional_test:unknown1  ->  passed  [0.049s]
execution/functional_test:var_assign1  ->  passed  [0.034s]
expansion/functional_test:arith1  ->  passed  [0.036s]
expansion/functional_test:arith10  ->  passed  [0.036s]
expansion/functional_test:arith11  ->  passed  [0.036s]
expansion/functional_test:arith12  ->  passed  [0.036s]
expansion/functional_test:arith13  ->  passed  [0.037s]
expansion/functional_test:arith14  ->  passed  [0.037s]
expansion/functional_test:arith2  ->  passed  [0.036s]
expansion/functional_test:arith3  ->  passed  [0.035s]
expansion/functional_test:arith4  ->  passed  [0.035s]
expansion/functional_test:arith5  ->  passed  [0.036s]
expansion/functional_test:arith6  ->  passed  [0.119s]
expansion/functional_test:arith7  ->  passed  [0.038s]
expansion/functional_test:arith8  ->  passed  [0.036s]
expansion/functional_test:arith9  ->  passed  [0.036s]
expansion/functional_test:assign1  ->  passed  [0.038s]
expansion/functional_test:cmdsubst1  ->  passed  [0.043s]
expansion/functional_test:cmdsubst10  ->  passed  [0.044s]
expansion/functional_test:cmdsubst11  ->  passed  [0.038s]
expansion/functional_test:cmdsubst12  ->  passed  [0.037s]
expansion/functional_test:cmdsubst13  ->  passed  [0.036s]
expansion/functional_test:cmdsubst14  ->  passed  [0.035s]
expansion/functional_test:cmdsubst15  ->  passed  [0.036s]
expansion/functional_test:cmdsubst16  ->  passed  [0.036s]
expansion/functional_test:cmdsubst17  ->  passed  [0.036s]
expansion/functional_test:cmdsubst18  ->  passed  [0.035s]
expansion/functional_test:cmdsubst19  ->  passed  [0.036s]
expansion/functional_test:cmdsubst2  ->  passed  [0.049s]
expansion/functional_test:cmdsubst20  ->  passed  [0.036s]
expansion/functional_test:cmdsubst21  ->  passed  [0.037s]
expansion/functional_test:cmdsubst22  ->  passed  [0.036s]
expansion/functional_test:cmdsubst23  ->  passed  [0.035s]
expansion/functional_test:cmdsubst24  ->  passed  [0.044s]
expansion/functional_test:cmdsubst25  ->  passed  [0.035s]
expansion/functional_test:cmdsubst26  ->  passed  [0.035s]
expansion/functional_test:cmdsubst3  ->  passed  [0.037s]
expansion/functional_test:cmdsubst4  ->  passed  [0.036s]
expansion/functional_test:cmdsubst5  ->  passed  [0.036s]
expansion/functional_test:cmdsubst6  ->  passed  [0.084s]
expansion/functional_test:cmdsubst7  ->  passed  [0.036s]
expansion/functional_test:cmdsubst8  ->  passed  [0.036s]
expansion/functional_test:cmdsubst9  ->  passed  [0.037s]
expansion/functional_test:export1  ->  passed  [0.036s]
expansion/functional_test:export2  ->  passed  [0.035s]
expansion/functional_test:export3  ->  passed  [0.035s]
expansion/functional_test:heredoc1  ->  passed  [0.045s]
expansion/functional_test:heredoc2  ->  passed  [0.041s]
expansion/functional_test:ifs1  ->  passed  [0.036s]
expansion/functional_test:ifs2  ->  passed  [0.038s]
expansion/functional_test:ifs3  ->  passed  [0.038s]
expansion/functional_test:ifs4  ->  passed  [0.036s]
expansion/functional_test:ifs5  ->  passed  [0.036s]
expansion/functional_test:ifs6  ->  passed  [0.035s]
expansion/functional_test:ifs7  ->  passed  [0.036s]
expansion/functional_test:length1  ->  passed  [0.035s]
expansion/functional_test:length2  ->  passed  [0.035s]
expansion/functional_test:length3  ->  passed  [0.036s]
expansion/functional_test:length4  ->  passed  [0.036s]
expansion/functional_test:length5  ->  passed  [0.036s]
expansion/functional_test:length6  ->  passed  [0.036s]
expansion/functional_test:length7  ->  passed  [0.036s]
expansion/functional_test:length8  ->  passed  [0.036s]
expansion/functional_test:local1  ->  passed  [0.036s]
expansion/functional_test:local2  ->  passed  [0.036s]
expansion/functional_test:pathname1  ->  passed  [0.046s]
expansion/functional_test:pathname2  ->  passed  [0.045s]
expansion/functional_test:pathname3  ->  passed  [0.052s]
expansion/functional_test:pathname4  ->  passed  [0.045s]
expansion/functional_test:pathname5  ->  passed  [0.036s]
expansion/functional_test:pathname6  ->  passed  [0.041s]
expansion/functional_test:plus_minus1  ->  passed  [0.038s]
expansion/functional_test:plus_minus2  ->  passed  [0.036s]
expansion/functional_test:plus_minus3  ->  passed  [0.038s]
expansion/functional_test:plus_minus4  ->  passed  [0.036s]
expansion/functional_test:plus_minus5  ->  passed  [0.036s]
expansion/functional_test:plus_minus6  ->  passed  [0.044s]
expansion/functional_test:plus_minus7  ->  passed  [0.036s]
expansion/functional_test:plus_minus8  ->  passed  [0.036s]
expansion/functional_test:question1  ->  passed  [0.067s]
expansion/functional_test:readonly1  ->  passed  [0.036s]
expansion/functional_test:redir1  ->  passed  [0.068s]
expansion/functional_test:set_u1  ->  passed  [0.087s]
expansion/functional_test:set_u2  ->  passed  [0.036s]
expansion/functional_test:set_u3  ->  passed  [0.037s]
expansion/functional_test:tilde1  ->  passed  [0.045s]
expansion/functional_test:tilde2  ->  passed  [0.051s]
expansion/functional_test:trim1  ->  passed  [0.037s]
expansion/functional_test:trim2  ->  passed  [0.037s]
expansion/functional_test:trim3  ->  passed  [0.036s]
expansion/functional_test:trim4  ->  passed  [0.073s]
expansion/functional_test:trim5  ->  passed  [0.036s]
expansion/functional_test:trim6  ->  passed  [0.036s]
expansion/functional_test:trim7  ->  passed  [0.036s]
expansion/functional_test:trim8  ->  passed  [0.037s]
expansion/functional_test:trim9  ->  passed  [0.036s]
parameters/functional_test:env1  ->  passed  [0.035s]
parameters/functional_test:exitstatus1  ->  passed  [0.032s]
parameters/functional_test:ifs1  ->  passed  [0.036s]
parameters/functional_test:mail1  ->  passed  [0.044s]
parameters/functional_test:mail2  ->  passed  [0.044s]
parameters/functional_test:optind1  ->  passed  [0.032s]
parameters/functional_test:optind2  ->  passed  [0.035s]
parameters/functional_test:positional1  ->  passed  [0.032s]
parameters/functional_test:positional2  ->  passed  [0.033s]
parameters/functional_test:positional3  ->  passed  [0.034s]
parameters/functional_test:positional4  ->  passed  [0.032s]
parameters/functional_test:positional5  ->  passed  [0.032s]
parameters/functional_test:positional6  ->  passed  [0.032s]
parameters/functional_test:positional7  ->  passed  [0.032s]
parameters/functional_test:positional8  ->  passed  [0.031s]
parameters/functional_test:positional9  ->  passed  [0.032s]
parameters/functional_test:pwd1  ->  passed  [0.041s]
parameters/functional_test:pwd2  ->  passed  [0.046s]
parser/functional_test:alias1  ->  passed  [0.035s]
parser/functional_test:alias10  ->  passed  [0.036s]
parser/functional_test:alias11  ->  passed  [0.035s]
parser/functional_test:alias12  ->  passed  [0.035s]
parser/functional_test:alias13  ->  passed  [0.035s]
parser/functional_test:alias14  ->  passed  [0.035s]
parser/functional_test:alias15  ->  passed  [0.035s]
parser/functional_test:alias16  ->  passed  [0.035s]
parser/functional_test:alias17  ->  passed  [0.035s]
parser/functional_test:alias18  ->  passed  [0.035s]
parser/functional_test:alias2  ->  passed  [0.035s]
parser/functional_test:alias3  ->  passed  [0.035s]
parser/functional_test:alias4  ->  passed  [0.035s]
parser/functional_test:alias5  ->  passed  [0.035s]
parser/functional_test:alias6  ->  passed  [0.040s]
parser/functional_test:alias7  ->  passed  [0.036s]
parser/functional_test:alias8  ->  passed  [0.036s]
parser/functional_test:alias9  ->  passed  [0.035s]
parser/functional_test:and_pipe_not  ->  passed  [0.036s]
parser/functional_test:case1  ->  passed  [0.035s]
parser/functional_test:case2  ->  passed  [0.038s]
parser/functional_test:comment1  ->  passed  [0.037s]
parser/functional_test:comment2  ->  passed  [0.037s]
parser/functional_test:dollar_quote1  ->  passed  [0.035s]
parser/functional_test:dollar_quote10  ->  passed  [0.039s]
parser/functional_test:dollar_quote11  ->  passed  [0.039s]
parser/functional_test:dollar_quote12  ->  passed  [0.036s]
parser/functional_test:dollar_quote13  ->  passed  [0.036s]
parser/functional_test:dollar_quote2  ->  passed  [0.035s]
parser/functional_test:dollar_quote3  ->  passed  [0.038s]
parser/functional_test:dollar_quote4  ->  passed  [0.038s]
parser/functional_test:dollar_quote5  ->  passed  [0.035s]
parser/functional_test:dollar_quote6  ->  passed  [0.035s]
parser/functional_test:dollar_quote7  ->  passed  [0.035s]
parser/functional_test:dollar_quote8  ->  passed  [0.035s]
parser/functional_test:dollar_quote9  ->  passed  [0.036s]
parser/functional_test:empty_braces1  ->  passed  [0.036s]
parser/functional_test:empty_cmd1  ->  passed  [0.036s]
parser/functional_test:for1  ->  passed  [0.035s]
parser/functional_test:for2  ->  passed  [0.035s]
parser/functional_test:func1  ->  passed  [0.038s]
parser/functional_test:func2  ->  passed  [0.035s]
parser/functional_test:func3  ->  passed  [0.035s]
parser/functional_test:heredoc1  ->  passed  [0.061s]
parser/functional_test:heredoc10  ->  passed  [0.043s]
parser/functional_test:heredoc11  ->  passed  [0.041s]
parser/functional_test:heredoc12  ->  passed  [0.049s]
parser/functional_test:heredoc13  ->  passed  [0.040s]
parser/functional_test:heredoc2  ->  passed  [0.045s]
parser/functional_test:heredoc3  ->  passed  [0.037s]
parser/functional_test:heredoc4  ->  passed  [0.045s]
parser/functional_test:heredoc5  ->  passed  [0.053s]
parser/functional_test:heredoc6  ->  passed  [0.035s]
parser/functional_test:heredoc7  ->  passed  [0.035s]
parser/functional_test:heredoc8  ->  passed  [0.038s]
parser/functional_test:heredoc9  ->  passed  [0.050s]
parser/functional_test:line_cont1  ->  passed  [0.035s]
parser/functional_test:line_cont10  ->  passed  [0.035s]
parser/functional_test:line_cont11  ->  passed  [0.041s]
parser/functional_test:line_cont2  ->  passed  [0.035s]
parser/functional_test:line_cont3  ->  passed  [0.035s]
parser/functional_test:line_cont4  ->  passed  [0.035s]
parser/functional_test:line_cont5  ->  passed  [0.035s]
parser/functional_test:line_cont6  ->  passed  [0.039s]
parser/functional_test:line_cont7  ->  passed  [0.035s]
parser/functional_test:line_cont8  ->  passed  [0.035s]
parser/functional_test:line_cont9  ->  passed  [0.035s]
parser/functional_test:no_space1  ->  passed  [0.042s]
parser/functional_test:no_space2  ->  passed  [0.036s]
parser/functional_test:nul1  ->  passed  [0.038s]
parser/functional_test:only_redir1  ->  passed  [0.036s]
parser/functional_test:only_redir2  ->  passed  [0.036s]
parser/functional_test:only_redir3  ->  passed  [0.035s]
parser/functional_test:only_redir4  ->  passed  [0.035s]
parser/functional_test:pipe_not1  ->  passed  [0.037s]
parser/functional_test:set_v1  ->  passed  [0.038s]
parser/functional_test:var_assign1  ->  passed  [0.059s]
set-e/functional_test:and1  ->  passed  [0.033s]
set-e/functional_test:and2  ->  passed  [0.033s]
set-e/functional_test:and3  ->  passed  [0.032s]
set-e/functional_test:and4  ->  passed  [0.033s]
set-e/functional_test:background1  ->  passed  [0.033s]
set-e/functional_test:cmd1  ->  passed  [0.033s]
set-e/functional_test:cmd2  ->  passed  [0.033s]
set-e/functional_test:elif1  ->  passed  [0.033s]
set-e/functional_test:elif2  ->  passed  [0.033s]
set-e/functional_test:eval1  ->  passed  [0.033s]
set-e/functional_test:eval2  ->  passed  [0.033s]
set-e/functional_test:for1  ->  passed  [0.033s]
set-e/functional_test:func1  ->  passed  [0.033s]
set-e/functional_test:func2  ->  passed  [0.034s]
set-e/functional_test:if1  ->  passed  [0.033s]
set-e/functional_test:if2  ->  passed  [0.033s]
set-e/functional_test:if3  ->  passed  [0.033s]
set-e/functional_test:not1  ->  passed  [0.033s]
set-e/functional_test:not2  ->  passed  [0.033s]
set-e/functional_test:or1  ->  passed  [0.033s]
set-e/functional_test:or2  ->  passed  [0.033s]
set-e/functional_test:or3  ->  passed  [0.033s]
set-e/functional_test:pipe1  ->  passed  [0.034s]
set-e/functional_test:pipe2  ->  passed  [0.034s]
set-e/functional_test:return1  ->  passed  [0.033s]
set-e/functional_test:semi1  ->  passed  [0.033s]
set-e/functional_test:semi2  ->  passed  [0.033s]
set-e/functional_test:subshell1  ->  passed  [0.034s]
set-e/functional_test:subshell2  ->  passed  [0.033s]
set-e/functional_test:until1  ->  passed  [0.033s]
set-e/functional_test:until2  ->  passed  [0.033s]
set-e/functional_test:until3  ->  passed  [0.033s]
set-e/functional_test:while1  ->  passed  [0.033s]
set-e/functional_test:while2  ->  passed  [0.033s]
set-e/functional_test:while3  ->  passed  [0.033s]

Results file id is usr_tests_bin_sh.20170604-205852-985281
Results saved to /root/.kyua/store/results.usr_tests_bin_sh.20170604-205852-985281.db

457/457 passed (0 failed)

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jilles requested changes to this revision.Jun 4 2017, 7:40 PM
jilles added inline comments.
bin/sh/builtins.def
44–46 ↗(On Diff #29190)

This notion of "safe" is specific to command substitutions containing only the builtin. Perhaps instead:

The -n flag specifies that this command can safely be run in the same process when it is the only command in a command substitution.

54 ↗(On Diff #29190)

The -n flags should go next to foocmd like the -j and -h flags, since they apply to all names for the same function.

bin/sh/eval.c
803 ↗(On Diff #29190)

The boolean result can be used directly in the if. Please remove == 1.

This revision now requires changes to proceed.Jun 4 2017, 7:40 PM
bdrewery edited edge metadata.

Code review findings

The test plan should also include running the Kyua/ATF tests.

This revision is now accepted and ready to land.Jun 4 2017, 8:54 PM
This revision was automatically updated to reflect the committed changes.